A canary release routes a small percentage of real traffic (often 1–5%) to a new version while the rest keeps hitting the stable one, then watches error rates and latency on that slice before deciding to ramp up or roll back. The name comes from the "canary in a coal mine" — a small, contained exposure meant to surface danger before it reaches everyone.
Worked example: roll a new version out to a small traffic slice (1–5%) first, watch its error rate and latency, and only promote to 100% if the metrics hold — limiting the blast radius of a bad deploy. Gotcha: a canary only catches what shows up at low traffic; problems that appear under full load or from slow-accumulating state (memory leaks, cache warmup) slip through, so hold it long enough and watch the right metrics, not just HTTP 200s.