Canary deployments
lastmod 2026-04-08created 2026-04-081 edits
What is a Canary Deployment?
A canary deployment (Canary Development) is a deployment strategy that rolls out software updates gradually to minimize the impact on the whole system and to verify the stability of a new version. This approach is especially important for large-scale applications and services, and it helps you respond quickly when new features or changes cause problems.
Why are canary deployments needed?
In traditional deployment, a new version is deployed to all users at once. In that case, if the new version has a bug or an unexpected problem occurs, it can affect every user. A canary deployment, in contrast, deploys the new version to only some users first, so that problems can be found early and fixed before the full deployment.
Stages of a canary deployment
- Keep the existing version: Continue serving the version currently running stably (e.g., version 1).
- Deploy the new version: Deploy the new version (e.g., version 2) to some servers. At this point, only part of the total traffic (e.g., 5%) is sent to the new version.
- Monitoring and validation: Monitor whether the new version works correctly. Check error rates, performance, user feedback, and so on.
- Gradual expansion: Once the new version is judged stable, gradually increase the share of traffic going to it until it is deployed across the whole system.
- Full cutover or rollback: The deployment is complete when all traffic has been switched to the new version. If a problem occurs, you can quickly roll back to the previous version.