Skip to main content
This guide explains the Blue-Green deployment strategy as implemented by Argo Rollouts. Blue-Green deployments use two identical production environments—Blue (current live) and Green (standby). At any time, only one environment receives user traffic. When a new version is ready, deploy it to Green, verify it, and then switch traffic from Blue to Green. This enables zero-downtime releases and instant rollbacks by routing traffic back to the previous environment if issues occur.
A slide titled "Blue/Green — Switch Traffic" showing a user sending requests to a load balancer/router that can route to two service versions. The diagram shows v1 (blue/purple) and v2 (green) with the router currently directing traffic to v2.
Benefits
  • Zero-downtime deployments: the live environment remains unchanged until verification completes.
  • Fast, safe rollbacks: switch traffic back to the previous environment instantly.
  • Safe testing surface: preview endpoints enable QA and automated checks without affecting users.
High-level Blue-Green rollout configuration Example Rollout manifest
When autoPromotionEnabled is set to false, you must manually promote the rollout once verification succeeds:
Note: If autoPromotionEnabled is omitted, Argo Rollouts defaults it to true (automatic promotion). For controlled releases or manual QA gates, explicitly set it to false.
Post-promotion analysis
  • Runs after the Green ReplicaSet receives 100% of traffic.
  • Use it to validate error rates, latency, throughput, and other SLOs.
  • Common integrations: Prometheus queries, synthetic checks, or custom analysis templates.
Best practices and operational tips
  • Use a small previewReplicaCount (1–2) to save resources while allowing meaningful verification.
  • Set scaleDownDelaySeconds long enough to allow rollback but short enough to avoid resource waste.
  • Configure abortScaleDownDelaySeconds to give developers time to fetch logs and metrics if you abort a rollout.
  • Automate post-promotion checks to catch regressions quickly and reduce manual intervention.
Warning: If you set scaleDownDelaySeconds or abortScaleDownDelaySeconds too low, you may not have sufficient time to collect logs or metrics for debugging. Choose values that balance fast cleanup with operational troubleshooting needs.
Links and references

Watch Video