HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Development considerations

Describes developing solutions for a cloud environment, specifically for Optimizely Digital Experience Platform (DXP).

Running your solution in any cloud environment requires a few strategies. Following these recommendations helps to ensure smooth deployment and good site performance.

DXP and Azure resources

Although Optimizely DXP is based on Azure components, you should not create additional Azure resources using your DXP account because any such resources could be deleted during deployment clean-up. However, you can create additional accounts to manage Integration with other cloud services.

📘

Note

Adding Custom Application Settings and/or Custom Connection Strings is supported only through client code. Optimizely DXP does not support custom settings within the Azure Portal.

DXP and Web Apps

In Optimizely DXP, a web app is a solution built on the Optimizely platform. It operates as an Azure web app, including an SQL database, a BLOB storage, and an Optimizely Search & Navigation index.

A default configuration of DXP for packages Group, Corporate, and Enterprise includes one Web App, a CDN, and three environments - Integration, Preproduction, and Production. You can run multiple websites on one Web App (DXP license) without any restriction on the number of websites. The websites will share the same code base and the same Search & Navigation search index.

Some specific scenarios may require separate code bases. In this case, you can add Web Apps to the Group, Corporate, and Enterprise configurations. These Web Apps are included within the same DXP, and additional page views or content items are counted toward the total amount for the primary configuration.

Single and multisite and Web Apps

  • A single Web App means a shared code base, which means reduced cost, less complexity, shared content and users, and shopping carts for ecommerce sites.
  • A single Web App lets you follow best practices for object-oriented code reuse, making development, upgrading, testing, and deployment easier.
  • Multiple Web Apps may sometimes be required to fulfill specific requirements.

See Multisite development for information about multisite scenarios.

Integrate with Azure AD

Azure Active Directory (Azure AD) is Microsoft's multi-tenant cloud-based directory and identity management service. Azure AD provides single sign-on (SSO) access to many cloud-based SaaS applications and includes identity management capabilities. See Integrate Azure AD using OpenID Connect.

Logging

Optimizely DXP redirects Optimizely logs into .NET Diagnostic Trace if the code uses the Optimizely logging abstraction EPiServer.Logging.LogManager.

If you are using log4net and deploying to DXP, replace log4net with EPiServer.Logging. See also Logging for information about switching logging APIs.

Index with Search & Navigation

When running Optimizely DXP cloud services, Optimizely Search & Navigation is included by default for search functionality.

📘

Note

Indexing with Search & Navigation is "real-time" and managed through code. You do not need to use the catalog indexing options available in Commerce Manager, and as scheduled jobs in CMS Admin. These are used for other search provider solutions.

Related blog post: Scheduled jobs setup in DXP