Canary Test

Testing 🔴 Senior

Définition

Stratégie de déploiement ou la nouvelle version est déployée sur un petit pourcentage du trafic pour détecter les problèmes avant un rollout complet.

Analogie

Comme le canari dans la mine de charbon : s'il s'arrête de chanter, on sait qu'il y a un problème avant que les mineurs soient en danger.

Exemple de code

# Kubernetes canary deployment
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
spec:
  http:
  - route:
    - destination: { host: app, subset: stable }
      weight: 95
    - destination: { host: app, subset: canary }
      weight: 5

Cas d'usage

Pour déployer en production avec un filet de sécurité, en limitant l'impact d'un bug a 5% des utilisateurs.

Anti-pattern

Déployer le canary sans métriques ni alertes automatiques pour détecter les anomalies.
#testing#devops#deployment

← → au clavier pour passer d'une fiche à l'autre