Microsoft Certified: DevOps Engineer ExpertDesign and implement pipelinesMedium
A DevOps team is setting up a release pipeline for a new application that will be deployed to Azure App Service. The application needs to have minimal downtime during deployments, and the team wants to easily validate the new version in a production-like environment before swapping it to active production traffic. Additionally, they need to be able to quickly revert to the previous version if any issues are found after the swap. Which Azure App Service feature should they leverage?
- ADeployment Slots
- BTraffic Manager
- CAzure App Service Backup and Restore
- DAuto-scaling
Show answer & explanationAnswer & explanation
Correct answer: A. Deployment Slots
Deployment slots in Azure App Service allow deploying a new version to a staging slot, testing it, and then swapping it into production with zero downtime. If issues arise, a quick swap back to the previous slot provides an immediate rollback, fulfilling all requirements.
Why the other options are wrong
- B. Traffic Manager is a DNS-based traffic load balancer, used for global routing, not for managing deployments within a single App Service.
- C. Backup and Restore is for disaster recovery, not for zero-downtime deployments and quick rollbacks during a release.
- D. Auto-scaling manages the number of instances based on load, unrelated to deployment strategy for zero downtime and rollback.
Azure App Service Deployment Slots
Live apps with their own hostnames within an App Service plan, used for staging, testing, and performing zero-downtime swaps with the production slot.
- Provides a staging environment for new versions.
- Enables zero-downtime application swaps to production.
- Allows quick rollback by swapping back to the previous slot.
- Each slot has its own configuration (except for slot-specific settings).
Memory trick: Deployment Slots are like separate rooms for your app, where you can prepare and switch with zero fuss.