DXP Cloud hosting considerations
Outline
- Platform: Optimizely DXP Cloud is a PaaS built on Microsoft Azure.
- Managed: Infrastructure, patching, and scaling handled by Optimizely.
- Key Services: Azure App Service, SQL Database, Blob Storage, Redis Cache, CDN.
- DevOps Ready: Built-in CI/CD pipelines, deployment slots, and environment overrides.
- Best Practices: Stateless apps, distributed caching, externalized configuration, monitoring.
This module provides a detailed overview of key considerations for hosting Optimizely solutions in the Optimizely Digital Experience Platform (DXP) Cloud, a fully managed Azure-based environment.
Optimizely DXP Cloud Overview
DXP Cloud abstracts infrastructure management and provides a fully managed environment for CMS and Commerce applications, enabling focus on building digital experiences.
Key Benefits
- Scalability: Automatic scaling for web apps and databases.
- Reliability & High Availability: Redundancy across Azure regions.
- Security: Azure security features, WAF, DDoS protection.
- Managed Services: Patching, updates, operational overhead reduction.
- Integrated CI/CD: Built-in pipelines for deployments.
- Global Reach: Azure CDN for worldwide content delivery.
Architectural Components in DXP Cloud
Optimizely solutions on DXP Cloud utilize multiple Azure services to deliver high-performing and scalable applications.
1. Azure App Service (Web Apps)
- Core Hosting: CMS and Commerce apps run on Azure App Service.
- Multiple Instances: Ensures high availability and load balancing.
- Deployment Slots: Supports zero-downtime deployments.
2. Azure SQL Database
- Managed Database: CMS content, Commerce data, and user info stored here.
- Scaling & Backups: Automatic scaling, backups, and HA.
3. Azure Blob Storage
- Media Storage: Images, videos, and documents.
- CDN Integration: Fast global delivery of media assets.
4. Azure Search (Optimizely Search & Navigation)
- Search Indexing: Hosted on Azure Search / Azure AI Search.
5. Azure Redis Cache
- Distributed Caching: Maintains cache consistency across multiple web app instances.
- Session State: Optional distributed session management.
6. Azure CDN
- Global Content Delivery: Caches static assets at edge locations for fast load times.
Deployment Process in DXP Cloud
DXP Cloud uses Git-based CI/CD pipelines to streamline deployments across Integration, Preproduction, and Production environments.
1. Continuous Integration / Continuous Deployment (CI/CD)
-
Automated Builds: Triggered when code is pushed to designated branches (e.g.,
integration,master). - Deployment Environments: CI/CD pipelines linked to environment branches.
- Deployment Slots: Stage new versions and swap into production with zero downtime.
2. Environment-Specific Configuration
-
appsettings.jsonOverrides: Use environment-specific files (e.g.,appsettings.Preproduction.json). - Azure App Service Application Settings: Override sensitive settings securely without committing to source control.
Best Practices for Developing for DXP Cloud
- Stateless Web Apps: Avoid storing session state in-memory; use Redis for distributed session state.
-
Distributed Caching: Always use
IDistributedCachebacked by Azure Redis Cache. - Externalized Configuration: Keep environment-specific settings in Azure App Service or Key Vault.
- Logging & Monitoring: Use structured logging (e.g., Serilog) and integrate with Azure Application Insights.
- Media Handling: Store media in Azure Blob Storage and use CDN caching.
- Database Interactions: Async queries, efficient SQL, and connection resiliency.
- CI/CD & Deployment: Automated tests, deployment slots, and rollback strategy.
Example: Appsettings Override in DXP Cloud
Conclusion
DXP Cloud provides a scalable, secure, and managed platform for Optimizely CMS 12 and Commerce 14. Understanding its architecture, leveraging automated deployments, and following cloud-native best practices ensures robust, high-performing, and maintainable solutions.
