Blue Green Deployment: Software in Produktivumgebungen sicher ausrollen

Im Zeitalter des Cloud Computing und der Entwicklung von Cloud-Infrastrukturen und -Applikationen anhand von Infrastructure as Code sollten Cloud-Architekten ebenfalls Konzepte berücksichtigen, um Software im Rahmen des Continuous Deployment bereitzustellen. [...]

Was ist ein Blue Green Deployment?
Blue Green Deployment ist eine Strategie für die Bereitstellung und das Veröffentlichen von Software. Das Konzept basiert auf zwei separaten, aber produktionsfähigen Umgebungen, die in der Lage sind die jeweiligen Applikationen bereitzustellen. Die einzelnen Umgebungen werden als Blue und Green bezeichnet und sind im besten Fall identisch.
Nur eine der beiden Umgebungen ist zu einem Zeitpunkt aktiv (Blue) und nimmt die Anfragen an die produktiven Anwendungen entgegen. Vor den Endpunkten jeder Umgebung befindet sich ein Router oder Load Balancer, um den Datenverkehr entsprechend an die aktive Umgebung weiterzuleiten.
Wird ein neues Software-Release entwickelt, wird es zunächst auf der nicht aktiven Umgebung (Green) bereitgestellt. In einem Blue Green Deployment ist die nicht aktive Umgebung als die finale „Staging“ Umgebung zu verstehen. Sie bildet die Produktionsumgebung (die aktive Umgebung) so nah wie möglich ab und wird gleichzeitig für den finalen Test genutzt.
Sobald die neue Software-Version getestet wurde und als stabil gilt, kann das neue Release als produktive Version bereitgestellt werden, indem der Router/Load Balancer den Datenverkehr an die „Green“-Umgebung weiterleitet. Die vorherige aktive Umgebung (Blue) wird inaktiv und die vorherige Staging Umgebung (Green) wird zur produktiven Umgebung.
Ab diesem Zeitpunkt ist die vorherige Software-Version zwar nicht mehr aktiv, aber weiterhin verfügbar. Sollte die neue Version unerwartete Anomalien oder ernsthafte Probleme zeigen, lässt sich der letzte Stand durch eine einfache Neukonfiguration beziehungsweise Umschalten des Routers/Load Balancers auf die alte Umgebung wiederherstellen.
Trash your Blue Green Environment
Blue Green Deployment ist kein neues Konzept und in der professionellen Softwareentwicklung bekannt. Mit dem Siegeszug der Cloud und dem Einsatz virtueller Infrastruktur nimmt die Bedeutung dieser Deploymentstrategie jedoch immer mehr zu. Verstärkt wird dies mit dem Konzept „Trash your Servers“. Wie der Name vermuten lässt, geht es tatsächlich darum, die vormals genutzten Server nicht zu behalten, sondern wegzuschmeißen und stattdessen neue Server für jedes neue Deployment zu nutzen.
Hierbei spielt eine virtuelle Umgebung die Hauptrolle. Denn ständig einen physikalischen Server zu entsorgen und einen neuen aufzusetzen ist schließlich zu zeitaufwendig und zu teuer. In einem Blue Green Deployment wird die aktuelle inaktive Umgebung somit auf Basis einer neuen virtuellen Umgebung aufgebaut, auf welcher dann die neue Software-Version bereitgestellt wird. Sobald diese aktiv geschaltet wird, können die Server der vorherigen produktiven Umgebung prinzipiell heruntergefahren werden. Es sei denn, diese sollen als Fallback für einen bestimmten Zeitraum vorgehalten werden.
Sowohl „Blue Green Deployments“ als auch „Trash your Servers“ verfolgen beide denselben Ansatz: Den Aufbau einer Hot-Standby-Umgebung für das Continuous Deployment von Software-Releases. Beide Konzepte vereinfachen hierzu nicht nur das Infrastrukturmanagement, sondern helfen auch dabei, für jedes neue Release das Desaster Recovery auf Anwendungsebene zu optimieren.
Blue Green Deployment und Continuous Deployment im E-Commerce-Umfeld
Insbesondere im E-Commerce-Umfeld sind „Blue Green Deployments“ ein gutes Konzept, um das Continuous Deployment neuer Releases zu unterstützen. Denn die führenden E-Commerce Shops spielen Updates, neue Funktionen und Features schon lange nicht mehr nur einmal im Quartal ein, sondern haben einen Prozess etabliert, der dafür sorgt, dass Releases kontinuierlich ausgerollt werden. Dies liegt insbesondere an dem Fakt, dass die Innovations- und Wettbewerbsfähigkeit von E-Commerce-Unternehmen heute eng an eine kurze Taktfrequenz neuer Releases geknüpft ist. Doch nur, wenn sich diese ebenfalls unterbrechungsfrei in den laufenden Betrieb einfügen lassen sind die Anstrengungen auch von Erfolg gekrönt.
Statische Shops mit wenigen Releases pro Jahr stehen auf dem Abstellgleis. Denn die Fähigkeit, neue Funktionen im Wochen-, Tages- oder Stundenrhythmus zu integrieren und damit das eigene Geschäftsmodell flexibel weiterzuentwickeln, werden im Zeitalter des E-Commerce und der Digitalisierung immer wichtiger. Ein Continuous Deployment unterstützt von einer „Blue Green Deployment“ Strategie hilft E-Commerce-Unternehmen und Betreibern von Webshops dabei, dieses Ziel zu erreichen.

* René Büst ist Director Market Research & Technology Evangelism bei der Arago GmbH.

Mehr Artikel

News

Bad Bots werden immer menschenähnlicher

Bei Bad Bots handelt es sich um automatisierte Softwareprogramme, die für die Durchführung von Online-Aktivitäten im großen Maßstab entwickelt werden. Bad Bots sind für entsprechend schädliche Online-Aktivitäten konzipiert und können gegen viele verschiedene Ziele eingesetzt werden, darunter Websites, Server, APIs und andere Endpunkte. […]

Frauen berichten vielfach, dass ihre Schmerzen manchmal jahrelang nicht ernst genommen oder belächelt wurden. Künftig sollen Schmerzen gendersensibel in 3D visualisiert werden (c) mit KI generiert/DALL-E
News

Schmerzforschung und Gendermedizin

Im Projekt „Embodied Perceptions“ unter Leitung des AIT Center for Technology Experience wird das Thema Schmerzen ganzheitlich und gendersensibel betrachtet: Das Projektteam forscht zu Möglichkeiten, subjektives Schmerzempfinden über 3D-Avatare zu visualisieren. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*