Ein Canary Release ist ein Release, das zuerst nur einen kleinen Teil der Nutzer erreicht. Läuft es dort ohne Auffälligkeiten, wächst der Anteil schrittweise bis auf alle.
- Canary Release
Ein Release, das zuerst nur einen kleinen Teil der Nutzer erreicht.
Beispiel: „Das Canary Release lief zwei Stunden auf fünf Prozent des Verkehrs.“Auch Canary Deployment. Der Anteil wächst in Stufen, etwa von einem Prozent über zehn auf alle, und jede Stufe hat eine Haltezeit, in der die Messwerte verglichen werden.
Abgrenzung zum Feature Flag: Dieses schaltet eine einzelne Funktion für ausgewählte Nutzer frei. Das Canary Release verteilt einen ganzen Stand.
Wie ein Canary Release gesteuert wird
Über die Verteilung des Verkehrs. Der Lastverteiler schickt einen festgelegten Anteil auf die neue Fassung, üblich sind ein bis fünf Prozent; die Zuordnung bleibt je Nutzer gleich, damit niemand zwischen zwei Fassungen hin und her springt.
Parallel laufen die Messwerte beider Gruppen nebeneinander: Fehlerrate, Antwortzeit, Abschlüsse im Shop. Weicht die neue Gruppe ab, geht der Anteil zurück auf null.
Was ein Canary Release voraussetzt
Zwei Dinge, die eine kleine Website selten hat: eine Steuerung des Verkehrs und genug Besucher, damit ein Prozent überhaupt eine Aussage trägt. Bei zweihundert Besuchern am Tag sagt die Fehlerrate von fünf Prozent davon nichts.
Dazu kommt die Beobachtung. Ohne Messwerte, die beide Gruppen trennen, ist ein Canary Release ein Deployment mit Verzögerung, siehe Monitoring.
Woher der Name Canary Release kommt
Aus dem Bergbau. Bergleute nahmen Kanarienvögel mit in die Kohlegruben, weil die Tiere auf Kohlenmonoxid und andere Grubengase empfindlicher reagieren als Menschen: Verstummte der Vogel oder fiel er von der Stange, war das die Warnung, solange noch Zeit zum Verlassen des Stollens blieb.
Martin Fowler beschreibt das Verfahren in seinem Eintrag Canary Release als Technik, das Risiko einer neuen Fassung zu senken, indem sie langsam an eine kleine Gruppe ausgerollt wird; den Rückweg nennt er genauso schlicht, nämlich die Nutzer wieder auf die alte Fassung zu leiten.
Was ein Canary Release gegenüber einer Testumgebung bringt
Echte Bedingungen. Eine Testumgebung hat erfundene Daten, wenige Nutzer und keine Last; das Canary Release läuft mit den Daten des Betriebs, mit dem Verhalten echter Besucher und unter dem Verkehr, der an diesem Tag anliegt.
Dazu kommt der begrenzte Schaden. Was schiefgeht, trifft einen Bruchteil der Nutzer, und der Weg zurück ist das Zurückdrehen des Anteils auf null, also schneller als jedes Ausrollen.
Wofür sich ein Canary Release lohnt
Für Änderungen mit ungewissem Verhalten unter Last. Eine neue Abfrage, ein anderer Zwischenspeicher, eine umgebaute Suche: Dinge, die lokal und in der Testumgebung laufen und erst bei echtem Verkehr zeigen, was sie kosten.
Für Textänderungen und neue Seiten ist der Aufwand verschenkt. Dort trägt die Prüfung in der Testumgebung, und ein Fehler ist in Minuten behoben.