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:

  1. Deploy v2 to 5% of users.
  2. Collect logs, error rates.
  3. 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.