Kubernetes and Cloud Native Associate (KCNA)Cloud Native ArchitectureMedium
A development team is designing a new microservices application where each service is deployed independently. To minimize risk during updates, they want to introduce a new version of a service to a small subset of users before rolling it out to everyone. This allows them to monitor performance and catch issues with minimal impact. Which deployment strategy are they planning to use?
- ABig Bang Deployment
- BCanary Deployment
- CRolling Update
- DBlue/Green Deployment
Show answer & explanationAnswer & explanation
Correct answer: B. Canary Deployment
Canary deployment involves gradually rolling out a new version of a service to a small percentage of users, typically for monitoring and testing, before fully deploying it. This minimizes risk by isolating potential issues to a small user base.
Why the other options are wrong
- A. Big Bang Deployment (or 'all at once' deployment) replaces the entire old version with the new one simultaneously, which is high risk and the opposite of the team's goal.
- C. Rolling Update gradually replaces instances of the old version with new ones, but usually without explicit traffic splitting for a 'canary' group.
- D. Blue/Green Deployment involves running two identical environments (blue and green) and switching traffic entirely from the old to the new, which is a full switch, not a gradual rollout.
Canary Deployment
A deployment strategy where a new version of an application or service is gradually rolled out to a small subset of users, allowing for real-world testing and monitoring before a full rollout.
- Minimizes risk by limiting exposure of new features.
- Allows for A/B testing and performance monitoring.
- Traffic is incrementally shifted to the new version.
- Easy rollback if issues are detected.
Memory trick: Canary catches catastrophes early.