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 new 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, such as for managing 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, and operating 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, 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 separated code bases., in which case you can add additional 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 towards the total amount for the primary configuration.
Single and multisite and Web Apps
- A single Web App means a shared code base, which in turn means reduced cost, less complexity, but also shared content and users, and shopping carts for e-commerce sites.
- A single Web App lets you follow best practices for object-oriented code reuse, and makes development, upgrading, testing and deployment easier.
- Multiple Web Apps may be required in some cases for fulfilling specific requirements.
See Multisite development for more 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 a suite of identity management capabilities. See Integrate Azure AD using OpenID Connect.
Logging
Optimizely DXP redirects all 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 more 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
Updated 12 days ago