Java aktuell 07/16

Canary-Releases mit der Very Awesome Microservices Platform

Autor:

Immer mehr Unternehmen zerschlagen ihre Software-Systeme in kleine Microservices. Wenn das passiert, entstehen mehrere Deployment-Artefakte, was nicht nur das Deployment des Gesamtsystems komplexer macht. Um diese Komplexität beherrschen zu können und die Auslieferungsmöglichkeiten einer Software zu verbessern, ist der Einsatz von Werkzeugen zur Infrastruktur-Automatisierung unumgänglich.
Nur Unternehmen, die es schaffen, sich schnell genug an die sich ändernden Ansprüche und Anforderungen ihrer Kunden anpassen zu können, werden auf lange oder kurze Sicht überlebensfähig bleiben. Die Absatzmärk-te der meisten Firmen erfahren seit einigen Jahren einen drastischen Wandel. Durch Glo-balisierung, Marktsättigung und das Internet haben sich stark konkurrierende und dynami-sche Märkte entwickelt, die bedarfsgesteuert sind. Daher sollten sich Unternehmen an die veränderten Bedürfnisse ihrer Kunden schnell anpassen: An dieser Stelle sollte von „kosten-effizienter Skalierung“ zu „Reaktionsfähigkeit“ gewechselt werden.

Canary-Release

Um das Risiko beim Ausrollen einer neuen Software-Version zu vermindern, benutzen viele Unternehmen eine Technik, die ich „Canary-Release“ nennt. Dabei werden Änderungen erst einmal nur einem Teil der Benutzer zu Verfügung gestellt und es wird gemessen, wie dieser Teil auf die Änderun-gen reagiert, bevor man die neue Software auf der kompletten Infrastruktur ausrollt. Durch dieses Vorgehen wird eine Möglich-keit geschaffen, Software schrittweise aus fachlicher Sicht zu verbessern.Abbildung 1 stellt den Aufbau eines Cana-ry-Release dar. Es ähnelt in der Ausführung einem Blue-Green-Deployment, das aber das Ziel verfolgt, die Downtime einer Applika-tion zu minimieren. Bei beiden Verfahren wer-den zwei Infrastruktur-Stränge benötigt, auf die zwei unterschiedliche Software-Versionen geliefert werden. Dabei handelt es sich jeweils um die neue und die alte Version der Software. Über einen Router werden die Benutzer auf die entsprechende Version umgeleitet.
Bei einem Blue-Green-Deployment macht man einen harten Wechsel auf die neue Version der Software. Beim Canary-Release wer-den dagegen beispielsweise nur fünf Prozent des Traffics auf die neue Version umgeleitet. Damit soll herausgefunden werden, ob eine neue Funktionalität wirklich eine signifikante Veränderung im Verhalten der Benutzer aus-löst. Diese Release-Form kann auch benutzt werden, um A/B-Testing zu implementieren. Das Durchführen von Canary-Releases ist bei einer Microservice-Architektur eine nicht triviale Aufgabe. (…)

Dieser und weitere Artikel und Präsentationen unserer Mitarbeiter sind im digitalen Abo der codecentric AG verfügbar. Dazu gehören beispielsweise alle bisher erschienenen Softwerker-Ausgaben, die Cloud Fibel, das Elasticsearch Spezial, unzählige Artikel und White Paper. Die Anmeldung ist unter www.dersoftwerker.de möglich.

Vollständiger Artikel