Set up deployment slots to enable zero downtime deployment in Azure Logic Apps (preview)

Applies to: Azure Logic Apps (Standard)

Note

This capability is in preview and is subject to the Supplemental Terms of Use for Microsoft Azure Previews.

To deploy mission-critical logic apps that are always available and responsive, even during updates or maintenance, you can enable zero downtime deployment by creating and using deployment slots. Zero downtime means that when you deploy new versions of your app, end users shouldn't experience disruption or downtime. Deployment slots are isolated nonproduction environments that host different versions of your app and provide the following benefits:

  • Swap a deployment slot with your production slot without interruption. That way, you can update your logic app and workflows without affecting availability or performance.

  • Test and validate any changes in a deployment slot before you apply those changes to the production slot.

  • Roll back to a previous version, if anything goes wrong with your deployment.

  • Reduce the risk of negative performance when you must exceed the recommended number of workflows per logic app.

With deployment slots, you can achieve continuous delivery and improve your applications' quality and reliability. For more information about deployment slots in Azure and because Standard logic app workflows are based on Azure Functions extensibility, see Azure Functions deployment slots.

Screenshot shows Azure portal, Standard logic app resource, and deployment slots page.

Known issues and limitations

  • Nonproduction slots are created in read-only mode.

  • The nonproduction slots dispatcher is turned off, which means that workflows can only run when they're in the production slot.

  • Traffic distribution is disabled for deployment slots in Standard logic apps.

  • Deployment slots for Standard logic apps don't support the following scenarios:

    • Blue-green deployment
    • Product verification testing before slot swapping
    • A/B testing

Prerequisites

Create a deployment slot

The following options are available for you to create a deployment slot:

  1. In Azure portal, open your Standard logic app resource where you want to create a deployment slot.

  2. On the resource menu, under Deployment, select Deployment slots (Preview).

  3. On the toolbar, select Add.

  4. In the Add Slot pane, provide a name, which must be unique and uses only lowercase alphanumeric characters or hyphens (-), for your deployment slot.

    Note

    After creation, your deployment slot name uses the following format: <logic-app-name-deployment-slot-name>.

  5. When you're done, select Add.

Confirm deployment slot creation

After you create the deployment slot, confirm that the slot exists on your deployed logic app resource.

  1. In the Azure portal, open your Standard logic app resource.

  2. On the resource menu, under Deployment, select Deployment slots (Preview).

  3. On the Deployment slots page, under Deployment Slots (Preview), find and select your new deployment slot.

    Note

    After creation, your deployment slot name uses the following format: <logic-app-name-deployment-slot-name>.

Deploy logic app changes to a deployment slot

The following options are available for you to deploy logic app changes in a deployment slot:

Unavailable at this time. Please follow the steps for Visual Studio Code or Azure CLI to deploy your changes.

Confirm deployment for your changes

After you deploy your changes, confirm that the changes appear in your deployed logic app resource.

  1. In the Azure portal, open your Standard logic app resource.

  2. On the resource menu, under Deployment, select Deployment slots (Preview).

  3. On the Deployment slots page, under Deployment Slots (Preview), find and select your deployment slot.

  4. On the resource menu, select Overview. On the Notifications tab, check whether any deployment issues exist, for example, errors that might happen during app startup or around slot swapping:

    Screenshot shows Azure portal, logic app deployment slot resource with Overview page, and selected Notifications tab.

  5. To verify the changes in your workflow, under Workflows, select Workflows, and then select a workflow, which appears in read-only view.

Swap a deployment slot with the production slot

The following options are available for you to swap a deployment slot with the current production slot:

  1. In Azure portal, open your Standard logic app resource where you want to swap slots.

  2. On the resource menu, under Deployment, select Deployment slots (Preview).

  3. On the toolbar, select Swap.

  4. On the Swap pane, under Source, select the deployment slot that you want to activate.

  5. Under Target, select the production slot that you want to replace with the deployment slot.

    Note

    Perform swap with preview works only with logic apps that enabled deployment slot settings.

  6. Under Config Changes, review the configuration changes for the source and target slots.

  7. When you're ready, select Start Swap.

  8. Wait for the operation to successfully complete.

Confirm success for your slot swap

After you swap slots, verify that the changes from your deployment slot now appear in the production slot.

  1. In the Azure portal, open your Standard logic app resource.

  2. On the resource menu, under Workflows, select Workflows, and then select a workflow to review the changes.

Delete a deployment slot

The following options are available for you to delete a deployment slot from your Standard logic app resource.

  1. In the Azure portal, open your Standard logic app resource.

  2. On the resource menu, under Deployment, select Deployment slots (Preview).

  3. On the Deployment slots page, under Deployment Slots (Preview), select the deployment slot that you want to delete.

  4. On the deployment slot resource menu, select Overview.

  5. On the Overview toolbar, select Delete.

  6. Confirm deletion by entering the deployment slot name, and then select Delete.

    Screenshot shows Azure portal, deployment slot resource with Overview page opened, and delete confirmation pane with deployment slot name to delete.

Confirm deployment slot deletion

After you delete a deployment slot, verify that the slot no longer exists on your deployed Standard logic app resource.

  1. In the Azure portal, open your Standard logic app resource.

  2. On the resource menu, under Deployment, select Deployment slots (Preview).

  3. On the Deployment slots page, under Deployment Slots (Preview), confirm that the deployment slot no longer exists.