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


In this scenario, Commerce Version 13 is installed, and you can apply most steps through Visual Studio and NuGet package installations. See [Azure Web Apps](🔗) for information about Azure.

## Requirements

  • An Azure Management Portal account with login details.

  • A cloud-enabled license. See the [Optimizely License Center](🔗).

  • Ensure each deployed application and module is designed to run in the cloud.

## Set up a cloud website

Like an Optimizely Content Management System (CMS) website on Azure, you can run the Optimizely Customized Commerce website on an Azure Web Site environment with multiple instances. The website instances share the same Azure SQL database, and the BLOB storage in Azure is used to store the file binary data. Load balancing is applied, and the Azure Service Bus manages events among the CMS websites.



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

  1. Create a site. a. In Visual Studio, select **Tools > Extensions and Updates** menu. In the dialog, select **Online,** search for **EPiServer CMS Visual Studio Extension** then install the extension. See [Visual Studio Gallery](🔗) for  information about the extension. b. Create a new project by selecting **New > Project > Visual C#**, then **EPiServer > EPiServer Web Site.** In the dialog select **Empty** and uncheck **Add EPiServer Search** to use search functionality when running in Azure. See "Search in Azure" in [Deploy to Azure Web Apps](🔗). c. Install the latest version of the _EPiServer.Commerce_ NuGet package. d. Install the _EPiServer.Commerce.Azure_ NuGet package to the project. e. Add the cloud license to the website. This is used and activated later, when deploying the website to Azure.

  2. Create Azure resources. See **Creating Azure resources** in [Deploy to Azure Web Apps](🔗).

  3. Update configurations. See **Updating configuration** in [Deploying to Azure Web Apps](🔗).

  4. Deploy the Episerver site. See **Deploying** in [Deploy to Azure Web Apps](🔗). a. Because Commerce has two databases, add two scripts in the **Add SQL Script** step: _ **EPiServer.Cms.Core.sql** under _\[SolutionDir\]\\packages\\EPServer.CMS.Core.x\\tools\\_ to EPiServerDB _ **EPiServer.Commerce.sql** under _\[SolutionDir\]\\packages\\EPiServer.Commerce.Core.x\\tools\\_ to EcfSqlConnection



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

  1. Change the site URL. See the **Changing the site URL** section in [Deploying to Azure Web Apps](🔗).

  2. Build the site index. a. Build the content index. See the **Search in Azure** section in [Deploying to Azure Web Apps](🔗). b. Rebuild the catalog index. - Access Commerce Manager. - Go to **Administration** > **System Settings** > **Search Index**. - Click **Rebuild Index**. The catalog index is restored in your storage.

    Note

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

  3. Open _Mediachase.Search.config_, in SearchProviders, and set the defaultProvider attribute to LuceneAzureSearchProvider. a. Set your connectionStringName so that the provider has the **name="LuceneAzureSearchProvider"** matching with your **Azure Storage name** (in _connectionStrings.config_) and **storage**\="\<_container you want to index_\>". b. Set the connectionStringName in **Indexers** tab to match your **Azure Storage name** (in _connectionStrings.config_) and basePath is "\<_container where you want to store build info_\>". The following example shows search config in _Mediachase.Search.config_, defined for using Lucene on Azure.

    
  4. Rebuild your search index from the Commerce Manager search interface.

    Note

    You need to install _Episerver.Commerce.Azure_ to use **Mediachase.Search.LuceneAzureSearchProvider .**

  5.  To improve the user interface experience, enable [WebSocket support](🔗).