Canary Test

Testing 🔴 Senior

Definition

Strategie de deploiement ou la nouvelle version est deployee sur un petit pourcentage du trafic pour detecter les problemes avant un rollout complet.

Analogie

Comme le canari dans la mine de charbon : s'il s'arrete de chanter, on sait qu'il y a un probleme 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 deployer en production avec un filet de securite, en limitant l'impact d'un bug a 5% des utilisateurs.

Anti-pattern

Deployer le canary sans metriques ni alertes automatiques pour detecter les anomalies.
#testing#devops#deployment