Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Deploy Azure Web Apps in Commerce Connect

Describes how to set up an Optimizely Commerce Connect site to run on Azure websites.

Apply most steps through Visual Studio and NuGet package installations. See Azure Web Apps for an overview of the Azure platform.

📘

Requirements

  • An Azure Management Portal account with login details.
  • A cloud-enabled license.
  • Ensure each deployed application and module is designed to run in the cloud.

Like an Optimizely Content Management System (CMS) website on Azure, the Commerce Connect website runs on an Azure Web Apps environment with multiple instances. The website instances share the same Azure SQL database, and Azure Blob storage holds the file binary data. Load balancing is applied, and the Azure Service Bus manages events among the CMS websites.

Azure deployment overview showing CMS and Commerce Connect instances sharing Azure SQL, Blob storage, and Service Bus

Follow these steps to create a Commerce Connect website in an Azure Apps environment.

  1. Create a basic CMS site.
    a. Install the supported version of the EPiServer.Commerce NuGet package.
    b. Install the EPiServer.Commerce.Azure NuGet package to the project.
    c. Add the cloud license to the website. This is used and activated later, when deploying the website to Azure.

  2. Create Azure resources.

  3. Update configurations.

  4. Deploy the Optimizely site. Because Commerce Connect has two databases, add two scripts in the Add SQL Script step:

    • EPiServer.Cms.Core.sql under <solution-dir>\packages\EPiServer.CMS.Core.x\tools to EPiServerDB
    • EPiServer.Commerce.sql under <solution-dir>\packages\EPiServer.Commerce.Core.x\tools to EcfSqlConnection

    Azure deployment wizard with the Add SQL Script step expanded

  5. When the database is successfully created, run the Update-EPiDatabase command in the Package Manager Console.

  6. Change the site URL.

  7. Build the site index.
    a. Build the content index. b. Rebuild the catalog index. In Commerce Admin, go to Administration > Search Index and select Rebuild Index. The catalog index is restored in your storage.

    📘

    Note

    If you are using LuceneAzureSearchProvider as the default search provider, complete the following additional steps.

    1. Open appsettings.json, in the Commerce Connect SearchOptions section, set the DefaultSearchProvider key to LuceneAzureSearchProvider.
    2. Set your connectionStringName and storage keys pointing to your Azure storage connection string and index storage folder. Note that the Azure storage connectionString must already exist in your ConnectionString section of appsettings.json.

    The following example shows search config in appsettings.json, defined for using Lucene on Azure.

    "SearchOptions": {
      "DefaultSearchProvider": "LuceneAzureSearchProvider",
      "IndexerBasePath": "indexcontainer",
      "IndexerConnectionString": "EPiServerAzureBlobs",
      "SearchProviders": [
        {
          "Name": "LuceneAzureSearchProvider",
          "Type": "Mediachase.Search.Providers.Lucene.LuceneAzureSearchProvider, Mediachase.Search.LuceneSearchProvider",
          "Parameters": {
            "queryBuilderType": "Mediachase.Search.Providers.Lucene.LuceneSearchQueryBuilder, Mediachase.Search.LuceneSearchProvider",
            "storage": "indexcontainer",
            "simulateFaceting": "true",
            "connectionStringName": "EPiServerAzureBlobs"
          }
        }
      ],
      "Indexers": [
        {
          "Name": "catalog",
          "Type": "Mediachase.Search.Extensions.Indexers.CatalogIndexBuilder, Mediachase.Search.Extensions"
        }
      ]
    }
  8. To improve the UI experience, enable WebSocket support.