InterviewHubPRO
Section Overview
Q39

Question 39 of 50

Part 4: CI/CD Pipelines, GitOps & Progressive Delivery (36 - 42)

78%
DevOps & Kubernetes (50 Qs)•Part 4: CI/CD Pipelines, GitOps & Progressive Delivery (36 - 42)

Progressive Delivery & Release Strategies: Blue/Green vs. Canary vs. Shadow / Mirroring with Argo Rollouts.

Progressive Delivery Patterns

Deploying directly to 100% of user traffic introduces severe blast-radius risk. Progressive delivery mitigates this by validating software against live traffic before full promotion.

ini
1. Blue/Green Deployment:
   [ Load Balancer ] ---> [ Blue Environment (v1 - Active) ]
   (Switches 100% to) ---> [ Green Environment (v2 - Idle -> Active) ]

2. Canary Deployment (Percentage-Based):
   [ Load Balancer ] --- 95% Traffic ---> [ Stable Deployment (v1) ]
                     ---  5% Traffic ---> [ Canary Deployment (v2) ] (Monitors Prometheus metrics)

3. Traffic Shadowing / Mirroring:
   [ Envoy Proxy ] --- 100% Production Traffic ---> [ Production App (v1) ]
                   --- Shadow Copy (Async)     ---> [ Test App (v2 - Discards responses) ]

Production Canary Automation with Argo Rollouts

Argo Rollouts replaces the standard Kubernetes Deployment controller, evaluating real-time Prometheus SLIs to automatically promote or roll back releases:

yaml
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: payment-service
spec:
  replicas: 10
  strategy:
    canary:
      analysis:
        templates:
          - templateName: error-rate-analysis
        args:
          - name: service-name
            value: payment-service
      steps:
        - setWeight: 10 # Route 10% traffic to canary
        - pause: { duration: 5m } # Wait 5 minutes for metrics
        - setWeight: 50 # If error rate < 0.5%, promote to 50%
        - pause: { duration: 10m }