Canary Deployment

Concept

Was ist das?

Canary Deployment ist eine Implementierungsstrategie, die mit zwei Umgebungen beginnt: eine mit laufendem Datenverkehr und die andere mit dem aktualisierten Code ohne laufenden Datenverkehr. Der Datenverkehr wird nach und nach von der ursprünglichen Version der Anwendung auf die aktualisierte Version übertragen. Man kann damit beginnen, 1 % des Live-Datenverkehrs zu verlagern, dann 10 %, 25 % und so weiter, bis der gesamte Datenverkehr über die aktualisierte Version läuft. Unternehmen können die neue Version der Software in der Produktion testen, Feedback einholen, Fehler diagnostizieren und bei Bedarf schnell auf die stabile Version zurückkehren.

Der Begriff "Kanarienvogel" bezieht sich auf die Praxis des "Kanarienvogels im Kohlebergwerk", bei der Kanarienvögel in Kohlebergwerke gebracht wurden, um die Bergleute zu schützen. Wenn geruchlose schädliche Gase vorhanden waren, starb der Vogel, und die Bergleute wussten, dass sie schnell evakuiert werden mussten. Wenn mit dem aktualisierten Code etwas schief geht, wird der Verkehr wieder auf die ursprüngliche Version "evakuiert".

Probleme, die damit gelöst werden

Egal wie gründlich die Teststrategie ist, in der Produktion werden immer einige Fehler entdeckt. Wenn 100% des Datenverkehrs von einer Version einer App auf eine andere verlagert wird, kann dies zu schwerwiegenderen Fehlern führen.

Wie es hilft

Mit Canary Deployments können Unternehmen testen, wie sich neue Software in realen Szenarien verhält, bevor sie einen Großteil des Datenverkehrs auf die neue Version umstellen. Mit dieser Strategie können Unternehmen die Ausfallzeiten minimieren und bei Problemen mit der neuen Version schnell ein Rollback durchführen. Damit ist es auch möglich, die Anwendung in der Produktion eingehender zu testen, ohne dass die Benutzerfreundlichkeit beeinträchtigt wird.