Canary Deployment

DevOps 🔴 Senior

Definition

Déploiement progressif envoyant d'abord un petit pourcentage du trafic vers la nouvelle version. Si les métriques sont bonnes, on augmente progressivement.

Analogie

Le canari dans la mine : on envoie un éclaireur (1% du trafic) pour vérifier que l'air est bon avant d'envoyer tout le monde.

Exemple de code

# Istio canary routing
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
spec:
  http:
    - route:
      - destination: { host: api, subset: stable }
        weight: 90
      - destination: { host: api, subset: canary }
        weight: 10

Cas d'usage

Déploiements à haut risque sur des systèmes critiques avec observation progressive.

Anti-pattern

Canary sans monitoring : on envoie du trafic sans vérifier si ça fonctionne.

Termes lies

#devops#scaling#interview