Traditional Deployment
- Deploy new version → all users see it.
- Risk: Bugs affect everyone at once.
Canary Releases
- Roll out to small % of users first.
- Monitor → if stable, expand to more users.
- Example: Google Chrome uses staged rollout.
Workflow:
- Deploy v2 to 5% of users.
- Collect logs, error rates.
- Expand to 25%, then 100%.
Tooling: Kubernetes + Istio, LaunchDarkly, AWS ALB weighted routing.
Blue/Green Deployment
- Two identical environments:
- Blue = current live version
- Green = new version
Switch traffic:
- If Green works → switch 100%.
- If buggy → rollback to Blue instantly.
✅ Zero downtime deployment.
When to Use
- Canary: Safer for large distributed systems.
- Blue/Green: Best for critical apps needing instant rollback.