Microsoft Certified: DevOps Engineer ExpertDesign and implement pipelinesEasy

A DevOps team is deploying a new version of a critical web application to Azure App Service. The application must remain highly available during the deployment process, and the team wants to minimize downtime and provide an easy rollback mechanism if issues arise. They decide to use deployment slots. Which of the following is the MOST appropriate deployment strategy to achieve these requirements?

  1. ADeploy to a development slot, perform full UAT, and then manually copy to the production slot.
  2. BDeploy to a new App Service instance, reconfigure DNS, and then decommission the old instance.
  3. CDeploy to a staging slot, warm up the application, and then swap with the production slot.
  4. DDeploy directly to the production slot and monitor for issues.
Show answer & explanation

Correct answer: C. Deploy to a staging slot, warm up the application, and then swap with the production slot.

Deploying to a staging slot, warming up the application, and then swapping with the production slot is the recommended blue/green deployment strategy for Azure App Service. This approach ensures zero downtime during deployment and provides an immediate rollback option by swapping back to the previous production slot.

Why the other options are wrong

  • A. Manually copying to production risks downtime and is not a standard, robust deployment slot strategy.
  • B. This is a more complex and time-consuming process than using deployment slots for zero-downtime deployments.
  • D. Deploying directly to production risks downtime and makes rollback more complex.

Azure App Service Deployment Slots

Deployment slots are live apps with their own hostnames. App Service apps can be deployed to these slots instead of directly to production.

  • Enable blue/green deployment strategies.
  • Allow pre-deployment testing and warming up.
  • Support zero-downtime swaps with production.

Memory trick: Swap slots for seamless shifts.

More Design and implement pipelines questions