Site Tools


swe:canary-release

Table of Contents

Canary release

Canary release is rolling out a new version to a small subset of users before promoting it to everyone. Start at 5% traffic, monitor metrics for hours, then gradually increase to 50%, 100%.

Staging deployments pass all tests but fail in production because real traffic has different volume, data patterns, and user behaviour. Deploying to 100% of users exposes those bugs to everyone simultaneously.

Send the new version to 5% of users, watch error rates and business metrics, and rollback immediately if something degrades. This limits the blast radius to a small cohort while proving the new version works. The tradeoff is requiring fine-grained observability to compare the canary cohort against stable traffic. Compare with Blue-green deployment, which switches all traffic at once.

The diagram shows a gradual rollout: 5% canary traffic for one hour, expanding to 25%, then 50%, then 100% if metrics stay healthy.

Hour 0:   5% → v2.0 (canary)    95% → v1.0 (stable)
Hour 1:   Monitor error_rate, latency, conversion_rate
If healthy:
Hour 4:  25% → v2.0             75% → v1.0
Hour 6:  50% → v2.0             50% → v1.0
Hour 12: 100% → v2.0 (completed)

If degradation detected:
Rollback: 0% → v2.0  100% → v1.0 (instant)
swe/canary-release.md · Last modified: by 127.0.0.1