Skip to content

Lesson 2: Progressive Delivery (Argo Rollouts)

🧠 The Concept (Explain Like I'm 5)

When you update an app, you don't swap out the engine while the car is driving on the highway. Instead of updating 100% of your users to v2.0 at once, a Canary Release routes 5% of users to v2.0. If the app crashes, it automatically routes them back to v1.0. If it succeeds, it slowly ramps up to 100%.


🏢 The Enterprise Context

  • Argo Rollouts: Replaces the standard Kubernetes Deployment object. It integrates directly with Ingress controllers (like NGINX or AWS ALB) to manipulate traffic percentages mathematically.
  • Automated Rollback: Argo Rollouts queries Prometheus. If the HTTP 500 error rate spikes during a canary deployment, it automatically aborts and rolls back.

🗺️ Visual Architecture: Canary Deployment

flowchart TD
    Ingress["Ingress / API Gateway"]

    subgraph Rollout ["Argo Rollout (App v2.0 Release)"]
        Ingress -->|90% Traffic| V1["Stable ReplicaSet (v1.0)"]
        Ingress -->|10% Traffic| V2["Canary ReplicaSet (v2.0)"]
    end

    Rollout -.->|Checks Metrics| Prom["Prometheus"]
    Prom -.->|Error Rate > 2%?| Rollout