Canary Test
Testing 🔴 SeniorDefinition
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.