Skip to Content

Was ist eine Blue-green-Implementierung auf Kubernetes?

Kubernetes unterstützt eine Lebenszyklusstrategie für die Softwareentwicklung, die Blue-Green-Implementierungen genannt wird und bei der sowohl die neuen als auch die alten Versionen einer Anwendung gleichzeitig in der Produktion ausgeführt werden. Lesen Sie weiter, um zu erfahren, was eine blue-green Implementierung ist und warum Sie diese Taktik für Ihre Kubernetes-Anwendungen implementieren möchten. 

Was ist eine Blue-green-Implementierung?

Eine Blue-Green-Implementierung ist eine Lebenszyklusstrategie für die Softwareentwicklung, bei der sowohl die neue als auch die frühere Version einer Anwendung gleichzeitig in der Produktion ausgeführt werden. Benutzer werden nach der Implementierung schrittweise von der älteren Version (blue) zur neueren Version (green) der Anwendung migriert. 

Für eine schnelle Bereitstellung von Software-Updates benötigten Entwickler eine Möglichkeit, kontinuierlich Funktionen bereitzustellen. Herkömmlicherweise erforderten Code-Implementierungen Ausfallzeiten, sodass sie an bestimmten Tagen entweder wöchentlich oder monatlich durchgeführt wurden. Diese Strategie verlangsamt Software-Updates und unterstützt keine Continuous Delivery

Blue-green-Implementierungen lösen dieses Problem, indem sie sowohl die alte als auch die neue Version einer Anwendung in der Produktion ausführen. Die blaue Version ist die alte Anwendung und die grüne Version die neue. Benutzer werden nach der Bereitstellung langsam auf die neue grüne Version umgestellt. Nachdem Benutzer auf die neue grüne Version verschoben wurden, kann die blaue Version als Failover fungieren, wenn der Code aufgrund von Fehlern oder kritischen Fehlern auf die vorherige Version zurückgesetzt werden muss.

Blue-green vs. Rolling Deployment mit Kubernetes

In vielen Unternehmensumgebungen läuft die Produktion auf mehreren Servern. Anstatt mehrere Versionen gleichzeitig auszuführen, arbeitet eine rollierende Bereitstellung mit einer Version einer Anwendung und aktualisiert jeden Server einzeln. 

Angenommen, Sie haben zwei Server hinter einem Load Balancer und führen eine einzige Produktionsanwendung aus. Bei einer rollenden Bereitstellung nimmt ein Entwickler einen Server außer Rotation, aktualisiert die Anwendung und setzt den Server dann wieder in Rotation. Der zweite Server wird außer Betrieb genommen und dann ebenfalls aktualisiert. Die meisten rollenden Umgebungen verfügen über drei Server, sodass ein einzelner Server als Failover fungieren kann, falls es Fehler in der neuen Versionsumgebung gibt.

Blue-green vs. Canary mit Kubernetes

Canary-Implementierungen ähneln Blue-Green-Implementierungen, aber Canary-Implementierungen senden bestimmte Benutzer an die neuere Version einer Anwendung, anstatt langsam alle Benutzer auf die neue Version zu verschieben. Es ist eine großartige Strategie zum Testen einer neuen Anwendung mit Benutzern, die an Beta-Tests interessiert sind, oder zum geräuschlosen Testen neuer Funktionen mit neuen Benutzern für Feedback.

In der Regel werden Canary-Bereitstellungen für eine kleine Untergruppe von Benutzern verwendet, und die ursprüngliche Version wird für die meisten Benutzer noch ausgeführt. Da nur eine kleine Teilmenge von Benutzern auf die neue Version ausgerichtet ist, ist die Infrastruktur kostengünstiger und muss nicht zu weit fortgeschritten sein, um eine kleine Anzahl von Benutzern zu unterstützen.

Vorteile einer Blue-Green-Implementierung

In jeder Continuous Delivery bieten Blue-Green-Implementierungen mehrere Vorteile. Blue-green-Implementierungen beschleunigen die Bereitstellung von Anwendungsfunktionsaktualisierungen. Entwickler müssen nicht mehr darauf warten, dass ein Fenster für die Bereitstellung eines neuen Codes verfügbar ist, was die Implementierungen möglicherweise um Monate verzögern kann.

Von den drei Bereitstellungstypen sind blue-green Bereitstellungen sicherer als die anderen. Beide Versionen der Anwendung laufen gleichzeitig, sodass Entwickler Änderungen ohne großen Aufwand rückgängig machen können. Benutzer erleben keine Ausfallzeiten oder verlieren bei Implementierungen oder Rollbacks, wenn sie dies benötigen.

Nachteile von Blue-Green-Implementierungen

Der größte Nachteil von Blue-Green-Implementierungen sind die Kosten. Unternehmen müssen über das IT-Budget verfügen, um für zwei Umgebungen zu bezahlen, die sowohl die blaue als auch die grüne Version einer Anwendung hosten können. Unternehmen zahlen auch für den Personalaufwand für die Wartung und Überwachung beider Umgebungen.

Eine weitere Hürde für Unternehmen ist die Synchronisierung von Datenbanken. Datenbankänderungen sind nicht so einfach rückgängig zu machen. Daher müssen Tabellen und Datenbankschema sorgfältig aktualisiert werden, insbesondere, wenn sowohl grüne als auch blaue Umgebungen dieselbe Datenbank verwenden. Beide Umgebungen müssen sorgfältig getestet werden, bevor sie in Produktionsdatenbanken bereitgestellt werden.

Wann eine Blue-Green-Implementierung mit Kubernetes verwendet werden sollte

Kontinuierliche Bereitstellung und Kubernetes gehen Hand in Hand. Entwickler können Anwendungen mithilfe von Orchestrierungstools wie Kubernetes automatisch bereitstellen. Kubernetes kann sowohl zur Orchestrierung der blauen als auch der grünen Umgebungen verwendet werden, und Entwickler können einfach Code bereitstellen und Kubernetes die Verwaltung von Promotion-Code von einer Bereitstellungsumgebung bis zur Produktion ermöglichen.

Containerisierte Umgebungen eignen sich perfekt für Blue-Green-Implementierungen, da sie Anwendungs-Pods schnell zerstören und neu erstellen können, sodass sie entweder Blue- oder Green-Versionen ausführen können. Wenn eine Containeranwendung Fehler verursacht, können Entwickler Änderungen leichter auf die blaue Version zurücksetzen.

KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.