|CI/CD & GitOps

Canary vs. Blue-Green: Designing Zero-Downtime Deployment Pipelines

A comprehensive breakdown of progressive traffic routing using ArgoCD, Istio, and Flagger for high-throughput production services.

Deploying new revisions without dropping active client connections is a prerequisite for continuous delivery. Depending on your team's architecture, choose between Blue-Green and Progressive Canary deployments.

Blue-Green Deployments

Blue-Green maintains two identical physical environments. The Router points 100% of traffic to Blue. The deployment pipeline builds and tests Green. Once health verification passes, the router flips traffic from Blue to Green.

  • Pros: Simple rollback (flip router back), zero mixed-version runtime.
  • Cons: Doubles infrastructure capacity costs during rollout.

Canary Progressive Delivery

Canary deployments route a small fraction (e.g. 5%) of production traffic to the new revision while monitoring telemetry:

apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
  name: billing-service
spec:
  targetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: billing-service
  analysis:
    interval: 1m
    threshold: 5
    maxWeight: 50
    stepWeight: 10
    metrics:
    - name: request-success-rate
      thresholdRange:
        min: 99.9
      interval: 1m
    - name: request-duration
      thresholdRange:
        max: 500
      interval: 1m

If error rates spike or latency exceeds 500ms, Flagger automatically halts promotion and rolls traffic back to 0%.

Related Articles