canary deploy
also: canary release, canary deployment
A deployment strategy where new code is rolled out to a small subset of servers or users first to detect problems before full release. If the canary instance runs successfully, the deployment proceeds to the rest of the infrastructure.
Canary deploy is a low-risk release technique that gradually introduces new software versions. Instead of updating all servers at once, you deploy to a small 'canary' group (often 5-10% of traffic) while monitoring for errors, performance degradation, or unexpected behavior.
If the canary deployment shows no issues after a period of observation, the new version is progressively rolled out to more servers. If problems emerge, you can quickly roll back the canary without affecting most users. For example, a web service might deploy a new feature to 3 out of 50 servers, monitor metrics like error rates and latency, then expand to 25 servers, then all 50.
This strategy sits between a full blue-green deployment (updating everything at once) and a rolling deployment (gradual updates without explicit monitoring checkpoints). It's widely used in containerized environments with tools like kubectl, Prometheus, and service meshes.