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?

  1. ABig Bang Deployment
  2. BCanary Deployment
  3. CRolling Update
  4. DBlue/Green Deployment
Show answer & 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.

More Cloud Native Architecture questions