Microsoft Certified: DevOps Engineer ExpertConfigure processes and communicationsMedium
A DevOps team is managing a critical microservices application. They need to ensure that every deployment to production is performed without any downtime and allows for an immediate rollback if issues are detected. The team also wants to minimize the risk associated with new releases by having two identical production environments. Which release strategy should the team implement?
- ARolling Deployment
- BCanary Release
- CA/B Testing
- DBlue/Green Deployment
Show answer & explanationAnswer & explanation
Correct answer: D. Blue/Green Deployment
Blue/Green Deployment involves maintaining two identical production environments, 'Blue' (current version) and 'Green' (new version). Traffic is switched from Blue to Green after successful testing. This provides zero downtime and instant rollback capabilities by simply switching traffic back to the 'Blue' environment if issues arise.
Why the other options are wrong
- A. Rolling deployment updates instances one by one, which can achieve near-zero downtime but typically provides slower rollback and doesn't involve two entirely separate, identical environments for instant full switch.
- B. Canary release gradually rolls out the new version to a small subset of users, suitable for testing in production but doesn't guarantee zero downtime or instant full rollback for the entire system.
- C. A/B testing is for comparing two versions of a feature to user groups to determine which performs better, not primarily a deployment strategy for zero downtime or rollback.
Blue/Green Deployment
A release strategy that runs two identical production environments (Blue for current, Green for new) and switches traffic between them.
- Provides zero downtime during deployment.
- Enables instant rollback by switching traffic back to the previous environment.
- Requires double the infrastructure for production environments.
Memory trick: Blue/Green: 'B'etter for zero downtime, 'G'uarantees instant rollback.