Considerations on using Deployment Slots in your DevOps Pipeline

This post details best practices and anti-patterns for using deployment slots in Azure App Service within DevOps pipelines. It highlights that deployment slots share resources, so load tests on a staging slot can impact production. It also warns against swapping slots across environments directly when databases or other dependencies are involved, as this only swaps the web application and can leave the system in an inconsistent state. The post advocates for creating separate web applications with matching App Service Plans for each environment (Dev, QA, Prod) and using deployment slots within each of these applications to mirror production behavior and catch issues before they reach production. It stresses the importance of backward-compatible database deployments to enable safe rollbacks.
More from the CI/CD for Go Applications to Azure App Services trail
- Azure Developer CLI: Azure Container Apps Dev-to-Prod Deployment with Layered Infrastructure
- How to build, test and deploy your application using Azure and GitHub
- Deploying Java Applications to Azure using Continuous Delivery
- Deploy a Java Application to Azure using Continuous Integration
- Azure Friday: Best practices for Azure Container Instances (ACI) with GitHub Actions