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 versionB
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: