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%.