Blue Green Deployment: Software in Produktivumgebungen sicher ausrollen

5. September 2016 Initiativen/Trends

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. Damit könnten sie Anforderungen an eine höhere Anzahl von Releases erfüllen und die Geschwindigkeit der Releasezyklen beschleunigen. Zu dieser Form von Deploymentstrategien zählen auch „Blue Green Deployments“.

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. Artikel