Skip to main content

Outline

At a glance:
  • 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.

1. Optimizely DXP Cloud overview

DXP Cloud abstracts infrastructure management and provides a fully managed environment for CMS and Commerce applications, enabling teams to focus on building digital experiences rather than maintaining servers.

Key benefits
  • Scalability: Automatic scaling for web apps and databases based on demand.
  • Reliability and high availability: Redundancy across Azure regions minimizes downtime.
  • Security: Azure security features including WAF and DDoS protection.
  • Managed services: Patching, updates, and operational overhead handled by Optimizely.
  • Integrated CI/CD: Built-in pipelines for automated deployments.
  • Global reach: Azure CDN for worldwide content delivery with low latency.

2. Architectural components in DXP Cloud

Optimizely solutions on DXP Cloud utilize multiple Azure services to deliver high-performing and scalable applications.

Azure App Service (Web Apps)
  • Core hosting: CMS and Commerce apps run on Azure App Service.
  • Multiple instances: Ensures high availability and load balancing across requests.
  • Deployment slots: Supports zero-downtime deployments by staging new versions before swap.
Azure SQL Database
  • Managed database: CMS content, Commerce data, and user information stored here.
  • Scaling and backups: Automatic scaling, point-in-time backups, and high availability built in.
Azure Blob Storage
  • Media storage: Images, videos, and documents stored outside the web app.
  • CDN integration: Fast global delivery of media assets via Azure CDN edge nodes.
Azure Search (Optimizely Search & Navigation)
  • Search indexing: Optimizely Search and Navigation is hosted on Azure Search / Azure AI Search.
Azure Redis Cache
  • Distributed caching: Maintains cache consistency across multiple web app instances.
  • Session state: Optional distributed session management for stateless apps.
Azure CDN
  • Global content delivery: Caches static assets at edge locations for fast load times worldwide.

3. Deployment process in DXP Cloud

DXP Cloud uses Git-based CI/CD pipelines to streamline deployments across Integration, Preproduction, and Production environments.

CI/CD pipelines
  • Automated builds: Triggered when code is pushed to designated branches (e.g., integration, master).
  • Deployment environments: CI/CD pipelines are linked to environment-specific branches.
  • Deployment slots: Stage new versions and swap into production with zero downtime.
Environment-specific configuration
  • appsettings.json overrides: Use environment-specific files (e.g., appsettings.Preproduction.json) to layer settings per environment.
  • Azure App Service application settings: Override sensitive values securely without committing them to source control.

4. Best practices for developing on DXP Cloud

  • Stateless web apps: Avoid storing session state in-memory; use Redis for distributed session state.
  • Distributed caching: Always use IDistributedCache backed by Azure Redis Cache.
  • Externalized configuration: Keep environment-specific settings in Azure App Service Application Settings or Key Vault.
  • Logging and monitoring: Use structured logging (e.g., Serilog) and integrate with Azure Application Insights.
  • Media handling: Store media in Azure Blob Storage and serve via CDN caching.
  • Database interactions: Use async queries, efficient SQL, and connection resiliency patterns.
  • CI/CD and deployment: Automate tests, use deployment slots, and maintain a rollback strategy.

5. Example: appsettings override in DXP Cloud

The following shows a typical environment-specific appsettings.json override file, covering connection strings, logging levels, and feature flags.

JSON
{ "ConnectionStrings": { "DefaultConnection": "Server=tcp:mydb.database.windows.net,1433;Database=OptiDb;User Id=admin;Password=******;" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning" } }, "FeatureFlags": { "EnableNewCheckout": true } }

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.