How does a canary deployment work?
Deploy the new version next to the old one. Route a small slice of traffic to it, the canary, while the rest, the control, stays put. Compare a handful of metrics between the two for long enough to be representative, then widen the slice or roll back. Google’s SRE workbook defines canarying as “a partial and time-limited deployment of a change in a service and its evaluation,” and advises picking “perhaps no more than a dozen” metrics and running “only one canary deployment at a time” (Google SRE workbook, read 9 November 2026). The comparison against the control is the point: a canary without a control is just a partial release.
Canary vs blue-green vs shadow deployment: what’s the difference?
| Canary | Blue-green | Shadow | |
|---|---|---|---|
| Users see new version | A small share | All, after the switch | None |
| Rollout | Gradual | All at once | No rollout, test only |
| Rollback | Shift traffic back | Switch back instantly | Nothing to roll back |
| Extra cost | Small | A second full environment | Double compute while testing |
| Catches | Real user impact | Deployment breakage | Output differences, no user impact |
Shadow first for risky model changes, then canary, is the common sequence for AI.
What is different about canarying an AI model or prompt?
A new model can return zero errors and lower latency while answering worse. So an AI canary adds quality signals: an automated grader on sampled outputs, as in online evaluation, plus thumbs-down rates, escalations to a person and cost per request. Assign users, not requests, to the canary, so a conversation does not switch models halfway. Decide the rollback thresholds before the canary starts, and keep a rollback path that restores the old model, prompt and settings together. A canary that only watches error rates will pass a model that is confidently wrong.
What should you test before the canary?
Everything you can test offline: a fixed set of real cases run through both versions, as in prompt regression testing. The canary then catches what offline tests cannot, such as real traffic mix, load and user behavior. Offline tests decide whether a change may reach users; the canary decides whether it may reach all of them. Traces from LLM observability make the comparison possible.