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