Practice · Canary releases

What is a canary release?

A canary release sends a new version to a small slice of real traffic first, running it beside the stable version. A controller compares their error rate and latency, and rolls back automatically if the new version is worse, so a bad deploy reaches only a fraction of users.

How to get started with Canary releases

  1. 1 Deploy the new version beside the stable one and send it a small slice of real traffic, such as 1 percent.
  2. 2 Compare the canary against the baseline on error rate and latency, not against fixed thresholds.
  3. 3 Roll back automatically when the canary is meaningfully worse.
  4. 4 Promote in steps, such as 1, 10, 50, and 100 percent, with a check at each step.

The common mistake

What is the most common mistake with Canary releases?

Running a canary with no automated comparison, so a human has to notice the regression in time. At 1 percent of traffic, they usually do not.

See it in action

Rollouts Resolved calmly

The Canary That Caught It

A bad deploy raised the error rate the instant it touched real traffic. The canary saw it at one percent, rolled itself back automatically, and 99 percent of users never noticed.

Related practices

All 13 practices →