Canary Deployment Strategy

Canary is a Deployment StrategyDeployment Strategy
Deployment strategies describe how we handle the release of the new code to an environment. Each has it's different use case, pros and cons.

Here is a (non-definitive) list of deployment strategie...
where we gradually shift traffic from version A to version B. This is usually done via weighted load balancing (e.g., 90% traffic to A, 10% traffic to B).

How it works

  • before we start, we have 2 instances of A running and serving traffic
  • we deploy 2 instances of B alongside them, and send 10% of traffic to them
  • we confirm that version B acts as expected while handilng 10% traffic
  • we switch all traffic from version A to version B

Tradeoffs

Pros:

  • zero downtime
  • testing new version on real traffic with a subset of random users, which allows us to monitor how new version behaves
  • fast rollback

Cons:

  • rollout speed is sacrificed for safety

Status: #💡

References: