DXP Cloud Environment
Outline
- Three-stage topology: Integration → Preproduction → Production.
- Promotion-based deployments: Promote the same artifact forward (no rebuild on promotion).
- Config is environment-scoped: Same compiled app, different injected values per environment.
- Clear responsibility split: Optimizely runs the platform; your team owns code + correctness + discipline.
Introduction
Optimizely Digital Experience Platform (DXP) is a managed cloud hosting model built specifically for enterprise-grade digital experience solutions. When working with CMS 12 on DXP, developers are not deploying to arbitrary infrastructure. They are deploying into a structured, controlled, and managed environment with clearly defined lifecycle stages.
Understanding DXP environments is not only about knowing where code is deployed. It is about understanding:
- Why environment separation exists
- How deployments move between environments
- How configuration is isolated
- How infrastructure responsibilities are divided between Optimizely and the development team
This article provides a comprehensive overview of DXP cloud environments and the deployment lifecycle for CMS 12 (PaaS), with a focus on practical processes and architectural reasoning.
What is Optimizely DXP?
Optimizely DXP is a Platform-as-a-Service offering that provides a managed cloud foundation for running Optimizely CMS 12 solutions. It is built on Microsoft Azure and is designed to remove operational infrastructure complexity from development teams.
DXP provides:- Managed Azure infrastructure
- Load-balanced application instances
- Managed SQL databases
- Blob storage
- CDN integration
- Automated deployment pipelines
- Monitoring and logging
In a traditional self-hosted model, development teams are responsible for provisioning servers, configuring networking,
managing scaling rules, applying security patches, configuring firewalls, and maintaining database backups. With DXP,
these infrastructure concerns are managed by Optimizely. The development team focuses on application behavior,
configuration correctness, and deployment workflow discipline.
This separation of responsibility improves reliability, security posture, operational consistency, and long-term
maintainability.
Standard DXP environment topology
A typical DXP solution includes three primary environments:- Integration
- Preproduction
- Production
Each environment has a clearly defined role within the deployment lifecycle.
Integration environment
The Integration environment is the first cloud-based validation stage after local development.
It is used for:
- Continuous integration testing
- Automated test validation
- Early QA verification
- Infrastructure configuration validation
- Initial verification of deployments in cloud context
Integration mirrors production infrastructure patterns but is not intended for public-facing traffic. It may contain test data and experimental deployments.
This environment is where developers confirm that:
- The build artifact deploys successfully
- Application startup behaves correctly in cloud
- Configuration bindings work as expected
- No environment-specific assumptions exist in the codebase
Preproduction environment
The Preproduction environment serves as the final validation gate before going live.
Its primary purposes include:
- User Acceptance Testing (UAT)
- Stakeholder validation
- Performance testing
- Content verification
- Regression validation
Preproduction is designed to mirror Production as closely as possible. Infrastructure sizing, configuration structure, and integrations should match production settings.
Only validated builds should be promoted to Preproduction.
Production environment
The Production environment serves live user traffic.
It is optimized for:
- High availability
- Horizontal scalability
- Operational monitoring
- Traffic resilience
Deployments into Production are controlled and typically promoted from Preproduction to ensure artifact consistency.
Production environments are protected by strict deployment governance and should never receive untested builds.
Why deploy to DXP?
CMS 12 applications can technically be hosted in two primary ways.First, they can be hosted on infrastructure managed by the organization itself. This could be on-premises servers, private cloud infrastructure, or public cloud services such as Azure or AWS that are configured and maintained by the internal operations team. In this model, the organization controls networking, scaling, patching, monitoring, and deployment pipelines.
Second, CMS 12 can be deployed to Optimizely DXP, which provides a managed PaaS model. In DXP, infrastructure provisioning, scaling policies, managed database services, and deployment orchestration are provided as part of the platform.
The choice between self-hosting and DXP depends on operational maturity, compliance requirements, and internal DevOps capability. However, DXP offers significant advantages for most enterprise scenarios.
1. Infrastructure standardization
All DXP environments follow a standardized Azure-based architecture. This eliminates configuration drift and reduces environment-specific inconsistencies. Developers do not need to manually replicate production-like infrastructure for testing environments.
2. Managed scalability and availability
DXP environments are provisioned with load balancing and scaling strategies that are aligned with enterprise traffic patterns. Scaling is handled at the infrastructure layer without requiring application code changes.
3. Deployment governance
The promotion-based deployment model ensures that:- The same artifact is used across environments
- Environment drift is minimized
- Release governance is enforced
This greatly reduces the risk of deployment-related incidents.
4. Security and compliance
DXP includes managed networking, infrastructure patching, monitoring, and operational controls aligned with enterprise standards. This reduces the operational burden on development teams.
For enterprise CMS solutions, these operational benefits are often as important as application-level capabilities.
The DXP deployment lifecycle
Deployments in DXP follow a promotion-based artifact workflow designed to ensure consistency and repeatability.
The lifecycle typically includes:- Local development and validation
- CI build artifact generation
- Deployment to Integration
- Validation in Integration
- Promotion to Preproduction
- Validation in Preproduction
- Promotion to Production
During local development, developers build and validate functionality using local databases or development resources. Once code changes are complete, a continuous integration pipeline produces a compiled build artifact.
This artifact is deployed first to the Integration environment. Integration acts as the first cloud-based validation layer where developers verify:
- Application startup behavior in DXP infrastructure
- Configuration binding correctness
- Cloud-based dependency behavior
- Compatibility with DXP runtime services
- User Acceptance Testing
- Performance validation
- Final stakeholder review
- Regression verification
Only after Preproduction validation is complete is the artifact promoted to Production. No rebuild occurs during promotion. The same binary artifact is reused. This ensures that Production receives exactly what was validated previously.
This structured approach prevents environment drift, reduces risk, and enforces disciplined release management.
Deploying applications to DXP
DXP deployments are performed using the Optimizely CLI and deployment APIs.
Step 1: Authenticate with DXP
This command authenticates the developer against the DXP project.
Step 2: Build and package the application
A deployment artifact must be generated using the .NET publish process.
This produces a compiled deployment-ready package.
Step 3: Deploy to Integration
This uploads the artifact to the Integration environment.
DXP validates the package before activating it.
Step 4: Promote to Preproduction
Promotion ensures that the exact same artifact moves between environments.
Step 5: Promote to Production
After final validation in Preproduction:
No rebuild occurs during promotion. The same tested artifact is reused.
This guarantees environment consistency.
Environment configuration management
Each DXP environment supports environment-specific configuration values while allowing the same compiled application artifact to be reused.
Configuration differences typically include:
- Database connection strings
- Search endpoints
- External API URLs
- Feature flags
- Storage settings
Configuration in CMS 12 follows ASP.NET Core configuration conventions, typically using appsettings.json
for base configuration.
Example base configuration structure:
In DXP, environment-specific values are injected through platform configuration rather than requiring code changes or separate builds. This approach ensures:
- The same artifact can be deployed across Integration, Preproduction, and Production
- Sensitive values are not hardcoded
- Configuration differences are traceable and controlled
This separation between code and configuration is central to the DXP deployment philosophy.
Code versus content separation
DXP strictly separates:
- Code deployments
- Content and database state
Code deployments do not overwrite content data.
Content is managed through editorial workflows and database management processes.
This separation protects production data from accidental overwrites during deployments.
CMS 12 upgrade considerations in DXP
When upgrading to CMS 12 within DXP, deployment discipline becomes especially important.
Upgrade best practices include:
- Deploy first to Integration
- Validate add-ons and dependencies
- Verify content types and property mappings
- Confirm indexing and search behavior
- Perform regression testing in Preproduction
Only after complete validation should the solution be promoted to Production.
Infrastructure responsibilities
In DXP, infrastructure responsibilities are divided clearly:
Optimizely manages
- Azure hosting infrastructure
- Application instance scaling
- SQL database provisioning
- Blob storage
- Monitoring and logging
Development teams manage
- Application code
- Configuration correctness
- Deployment discipline
- Content modeling
Understanding this boundary is critical to designing stable cloud-based CMS solutions.
Best practices for working with DXP environments
To maintain predictable deployments:
- Avoid environment-specific code branching
- Use configuration overrides rather than hardcoded values
- Validate integration points in Integration first
- Treat Preproduction as production rehearsal
- Never deploy untested builds directly to Production
Performance, security, and stability all depend on disciplined environment usage.
Conclusion
DXP Cloud environments provide a structured, enterprise-grade deployment model for Optimizely CMS 12 PaaS solutions.
CMS 12 can be hosted either on infrastructure managed directly by the organization or within Optimizely DXP. While self-hosting provides full infrastructure control, DXP provides a managed, standardized, and governed platform that reduces operational complexity.
Integration supports technical validation and early testing. Preproduction provides final release assurance and production-like validation. Production serves live traffic under controlled governance.
By understanding environment separation, deployment promotion workflows, configuration management, and infrastructure boundaries, developers can deploy CMS 12 solutions confidently and predictably in DXP.
DXP is not merely hosting. It is an operational framework designed to enforce reliability, scalability, and disciplined release management at enterprise scale.
