Set up deployment slots to enable zero downtime deployment in Azure Logic Apps
Applies to: Azure Logic Apps (Standard)
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.
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.
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
An Azure account and subscription. If you don't have a subscription, sign up for a free Azure account.
To work in Visual Studio Code with the Azure Logic Apps (Standard) extension, you'll need to meet the prerequisites described in Create Standard workflows with Visual Studio Code. You'll also need a Standard logic app project that you want to publish to Azure.
An existing Standard logic app resource in Azure where you want to create your deployment slot and deploy your changes. You can create an empty Standard logic app resource without any workflows. For more information, see Create example Standard workflow in single-tenant Azure Logic Apps.
Create a deployment slot
The following options are available for you to create a deployment slot:
In Azure portal, open your Standard logic app resource where you want to create a deployment slot.
On the resource menu, under Deployment, select Deployment slots (Preview).
On the toolbar, select Add.
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>.
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.
In the Azure portal, open your Standard logic app resource.
On the resource menu, under Deployment, select Deployment slots (Preview).
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.
In the Azure portal, open your Standard logic app resource.
On the resource menu, under Deployment, select Deployment slots (Preview).
On the Deployment slots page, under Deployment Slots (Preview), find and select your deployment slot.
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:
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:
In Azure portal, open your Standard logic app resource where you want to swap slots.
On the resource menu, under Deployment, select Deployment slots (Preview).
On the toolbar, select Swap.
On the Swap pane, under Source, select the deployment slot that you want to activate.
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.
Under Config Changes, review the configuration changes for the source and target slots.
When you're ready, select Start Swap.
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.
In the Azure portal, open your Standard logic app resource.
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.
In the Azure portal, open your Standard logic app resource.
On the resource menu, under Deployment, select Deployment slots (Preview).
On the Deployment slots page, under Deployment Slots (Preview), select the deployment slot that you want to delete.
On the deployment slot resource menu, select Overview.
On the Overview toolbar, select Delete.
Confirm deletion by entering the deployment slot name, and then select 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.
In the Azure portal, open your Standard logic app resource.
On the resource menu, under Deployment, select Deployment slots (Preview).
On the Deployment slots page, under Deployment Slots (Preview), confirm that the deployment slot no longer exists.