Canary Deployment
Problem
Version 2 hat jeden Test bestanden.
Aber die Produktion hat Millionen von Benutzern und Verhaltensweisen, die Ihre Tests nie reproduziert haben.
Alle sofort zu v2 zu schicken, ist riskant.
Lösung — Canary Deployment
Es ist nach Kanarienvögeln benannt, die einst in Kohlebergwerken verwendet wurden, um Bergleute vor gefährlichen Gasen zu warnen.
Zunächst erhält ein kleiner Anteil der Benutzer die neue Version.
95% → v1 5% → v2
Nach Beobachtung der Ergebnisse wird dieser Anteil schrittweise erhöht.
Blue-Green kann einen Canary-Rollout unterstützen. Canary beschreibt die schrittweise Verkehrsverteilung; Blue-Green beschreibt die Anordnung der Deployments. Beide Ansätze lassen sich kombinieren.
Eine weitere Option besteht darin, eine kleine Gruppe von Instanzen mit neuer Version neben alten in derselben Umgebung auszuführen und einen kleinen Anteil des Datenverkehrs an sie zu leiten.
Kerngedanke: Ein Canary Deployment begrenzt die möglichen Auswirkungen einer neuen Version.