Microsoft Certified: DevOps Engineer ExpertDesign and implement pipelinesEasy
A DevOps team is designing a release strategy for a new microservice that needs to be deployed to an Azure Kubernetes Service (AKS) cluster. The team wants to ensure that the new version of the microservice is gradually rolled out to users, allowing for careful monitoring and quick rollback if issues arise, without impacting the entire user base. Which deployment strategy should the team implement?
- ARolling Deployment
- BCanary Deployment
- CRecreate Deployment
- DBlue/Green Deployment
Show answer & explanationAnswer & explanation
Correct answer: B. Canary Deployment
Canary deployment involves gradually introducing a new version of an application to a small subset of users, monitoring its performance and stability, and then progressively rolling it out to more users. This minimizes risk and allows for quick rollback if issues are detected.
Why the other options are wrong
- A. Rolling deployment updates instances one by one, but typically replaces all instances rather than targeting a subset of users first.
- C. Recreate deployment involves taking down the old version completely before bringing up the new one, causing downtime.
- D. Blue/Green deployment involves running two identical environments, but it doesn't offer gradual rollout to a subset of users.
Canary Deployment
A deployment strategy where a new version of an application is rolled out to a small subset of users or servers first, monitored for issues, and then gradually expanded to the entire user base.
- Minimizes risk by limiting exposure of new code.
- Allows for A/B testing of new features.
- Enables quick rollback if problems are detected.
Memory trick: Canary sings first, then the whole flock flies.