---
title: Deploy Azure Web Apps in Commerce Connect
slug: commerce-connect-15/docs/deploy-azure-web-apps-in-commerce-connect
docTags: 
createdAt: 2026-07-30T20:34:42.000Z
---

Apply most steps through Visual Studio and NuGet package installations. See [Azure Web Apps](https://azure.microsoft.com/en-us/services/app-service/web/) for an overview of the Azure platform.

:::hint{type="info"}
- **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](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/8ujO7GrCbbxB2HHYdaWPX-20260723-164629.jpg)

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](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Mb8xZQtooK7bQCk2vmsab-20260723-164629.png)

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.

:::hint{type="info"}
**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.

```json
"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](docId\:BRxpG_wlli-bM-cQgLTBo).
