The riskiest moment in a model's life is the instant it goes live. Ship the new version to 100% of traffic and pray, and a bad model becomes a company-wide incident in seconds. Every safe deployment strategy is a way to limit the blast radius — to expose the new version to a little reality first, watch, and be able to undo it instantly.
A canary release sends a small slice of live traffic to the new model while everyone else stays on the old one. You watch the new version's error rate against a budget; if it stays healthy you raise the slice step by step, and if it breaches the budget you roll back — having harmed only that slice, not everyone. Turn up the traffic and see whether this canary survives:
The canary's whole value is the small first slice. At 5% traffic, a broken new model degrades 5% of requests for a few minutes before your monitoring trips and rolls back — an annoyance, not an outage. The old version never went away, so rollback is instant: shift the slice back to zero. This is why you deploy in steps (5% → 25% → 50% → 100%) with a health check between each, never in one leap.
The canary is one point on a spectrum. Each strategy trades cost, risk and realism differently — pick by how much you can spend and how badly a bad release would hurt:
Under all of them sits CI/CD: continuous integration runs your tests, data checks and model evaluation on every change, and continuous deployment promotes an artifact through the stages automatically only if the gates pass. The deployment strategy is the last gate — the one that limits damage when a bad model slips past all the earlier ones, because eventually one will.
Second opinion (taught here — these corroborate): MLOps Zoomcamp — deployment · Fowler — Canary release · Fowler — Blue-green.