Anmelden / Registrieren Konto

DevOps

Was versteht man unter Blau/Grün-Bereitstellung?

Die Blau/Grün-Bereitstellung ist ein Anwendungsversionsmodell, das den Benutzerverkehr schrittweise von einer früheren Version einer App oder eines Microservices auf eine nahezu identische neue Version überträgt, die beide in der Produktivumgebung ausgeführt werden. 

Die alte Version kann als „blaue Umgebung" und die neue als „grüne Umgebung" bezeichnet werden. Sobald der produktionsrelevante Datenverkehr vollständig von Blau nach Grün übertragen wurde, kann Blau im Falle eines Rollbacks als Standby verwendet oder aus der Produktivumgebung entfernt und aktualisiert werden, um zur Vorlage zu werden, auf der das nächste Update aufbaut.

Dieses kontinuierliche Bereitstellungsmodell (Continuous Deployment, CD) hat jedoch seine Nachteile. Nicht alle Umgebungen besitzen die Verfügbarkeitsanforderungen oder Ressourcen, um CI/CD-Prozesse wie Blau/Grün ordnungsgemäß auszuführen. Viele Apps entwickeln sich jedoch in Richtung einer solchen kontinuierlichen Bereitstellung, ermöglicht durch die stetige digitale Transformation der Unternehmen, die sie unterstützen.

Wie funktioniert die Blau/Grün-Bereitstellung?

Blau/Grün-Bereitstellung

Man kann sich das folgendermaßen vorstellen: Sie haben eine einfache cloudnative App entwickelt – eine Mobil-App, bei der Nutzer Punkte sammeln, indem sie auf mehrfarbige Luftballons tippen, die über den Bildschirm fliegen. Das Backend des Spiels wird von mehreren containerbasierten Microservices unterstützt, die Spielergebnisse, Punkte, Mechanik, Kommunikation und Spieler-IDs verwalten.

Hunderte von Nutzern spielen nach der Erstveröffentlichung das Spiel. Sie führen jede Minute Tausende von Transaktionen durch. Ihr DevOps-Team hat Sie ermutigt, frühzeitig und häufig Updates herauszubringen. Aus diesem Grund veröffentlichen Sie ein kleines Update für den Mechanik-Microservice, das Größe und Geschwindigkeit des roten Ballons erhöht.

Anstatt bis Mitternacht zu warten, um das Update in die Produktivumgebung zu übertragen (wenn die geringste Anzahl von Nutzern aktiv ist), verwenden Sie ein Blau/Grün-Bereitstellungsmodell, um die App direkt während der Spitzenlast zu aktualisieren. Und Sie tun dies ohne Ausfallzeiten. 

Dies gelingt Ihnen, weil Sie den Mechanik-Microservice in der Produktivumgebung (blau) in einen identischen, aber separaten Container (grün) kopiert haben. Nachdem Sie in der App Größe und Geschwindigkeit der roten Luftballons in der grünen Umgebung erhöhten, durchlief das Update die Q/A und das Staging (möglicherweise automatisiert durch einen Open Source-Belastungstest wie Jenkins), bevor es über die aktive blaue Umgebung in die Produktivumgebung verschoben wurde. 

Das Operations-Team kann einen Load Balancer verwenden, um die nächste Transaktion aller Nutzer von Blau nach Grün umzuleiten. Sobald der gesamte produktionsrelevante Datenverkehr durch die grüne Umgebung gefiltert wurde, wird die blaue Umgebung offline geschaltet. Blau kann entweder als Disaster Recovery-Option im Standby-Modus laufen oder den Container für das nächste Update bilden.

Blau/Grün-Bereitstellung und Kubernetes

Kubernetes ist eine natürliche Ergänzung zu allen Elementen, die zum Blau/Grün-Bereitstellungsprozess gehören, darunter cloudnative Apps, Microservices, Container, Continuous Integration, Continuous Delivery, Continuous Deployment und DevOps. Als Open Source-Plattform, die Linux®-Containeroperationen automatisiert, hilft Kubernetes nicht nur bei der Orchestrierung der Container, in denen die Microservices von cloudnativen Apps enthalten sind, sondern Kubernetes wird auch von einer Sammlung von Architekturmustern (Patterns) unterstützt. Diese können die Entwickler wiederverwenden, statt die Anwendungsarchitekturen von Grund auf neu zu erstellen.

Eines dieser Kubernetes Patterns ist als Declarative Deployment bekannt. Da Microservices von Natur aus klein sind, können sie sehr schnell vermehrt werden. Das Pattern „Declarative Deployment“ reduziert den manuellen Aufwand für die Bereitstellung neuer Pods – der kleinsten und einfachsten Einheit in der Kubernetes-Architektur.

Warum Red Hat?

Weil wir die führende Kubernetes-Unternehmensplattform – Red Hat® OpenShift – mit CI/CD-Funktionen im Kern gehärtet haben. Wir haben bereits schrittweise die Eingabeaufforderungen und Argumente für die Einführung von Blau/Grün-Bereitstellungen in Ihrer Red Hat OpenShift Umgebung dokumentiert.

Und wenn Sie die Kubernetes-Unternehmensplattform als Open Source-Lösung beibehalten, behalten Sie die Kontrolle über die gesamte Plattform und aller abhängigen Prozesse, sodass Ihre Anwendungen und Services einfach funktionieren – unabhängig davon, wo sie sich befinden oder was sie unterstützt.

Nur zu: Sie können den Quellcode unserer Technologien nach Lust und Laune prüfen, ändern und verbessern. Über 90 % aller Fortune 500 Unternehmen* vertrauen bei ihrer Infrastruktur auf die Produkte und Technologien von Red Hat, die auch Ihnen ungeahnte Möglichkeiten bieten.

Produkte, die Sie beim Continuous Deployment unterstützen

Red Hat Enterprise Linux logo

Eine solide Grundlage für neue Anwendungen, virtuelle Maschinen und Hybrid Clouds.

Red Hat OpenShift Logo

Eine unternehmensfähige Kubernetes-Container-Plattform.

  • *Red Hat Kundendaten und Liste der Fortune 500, Juni 2018