it-swarm.com.de

Was ist der Unterschied zwischen der Rot / Schwarz-Bereitstellung und der Blau / Grün-Bereitstellung?

Ich habe gehört, dass beide die Idee beschrieben haben, ein Update auf neuen Computern bereitzustellen, während alte Computer aktiv bleiben und im Falle eines Problems für ein Rollback bereit sind. Ich habe auch gehört, dass es verwendet wird, um die Lastverteilung zwischen aktualisierten Diensten und alten Diensten zu beschreiben, wiederum zum Zweck eines Rollbacks - manchmal, wenn inaktive ältere Patches beendet werden und manchmal nicht.

Mein Verständnis ist auch, dass es ausschließlich für Cloud-Dienste ist.

Kann jemand helfen, diese Begriffe zu entmystifizieren?

39
Erich

Die Bereitstellung in Blau/Grün und Rot/Schwarz entspricht dem gleichen Konzept.

Während der erste Begriff der gebräuchlichste ist, scheint der letztere hauptsächlich in Netflix und seinen Werkzeugen verwendet zu werden (wie Spinnaker ).

Sie gelten nur für Cloud-, virtualisierte oder containerisierte Services in dem Sinne, dass Ihre Infrastruktur automatisierbar sein muss, um diesen Ansatz zu verstehen.

29
Francesc Rosas

Blaugrüne Bereitstellung

Klassische Bereitstellungstechnik, beschrieben im Continuous Delivery-Buch von Jezz Humble und David Farley:

Die Idee ist, zwei identische Versionen Ihrer Produktionsumgebung zu haben, die wir als blau und grün bezeichnen. Benutzer des Systems werden an die grüne Umgebung weitergeleitet, bei der es sich um die aktuell festgelegte Produktion handelt. Wir möchten eine neue Version der Anwendung veröffentlichen. Also stellen wir es in der blauen Umgebung bereit ... Dies hat keinerlei Auswirkungen auf den Betrieb der grünen Umgebung. Wir können Rauchtests für die blaue Umgebung durchführen, um zu überprüfen, ob sie ordnungsgemäß funktioniert. Wenn wir fertig sind, müssen Sie lediglich die Routerkonfiguration so ändern, dass sie auf die blaue statt auf die grüne Umgebung zeigt. Die blaue Umgebung wird so zur Produktion. Diese Umschaltung kann typischerweise in viel weniger als einer Sekunde durchgeführt werden. Wenn etwas schief geht, schalten wir den Router einfach zurück in die grüne Umgebung. '

Humble und Farley erwähnen dann die Hauptherausforderung: Umgang mit Änderungen des Datenbankschemas zwischen grüner und blauer Version.

Der Hauptvorteil der blaugrünen Bereitstellung ist eine Ausfallzeit von null oder nahezu null, wenn eine neue Version veröffentlicht wird. Und die blaugrüne Bereitstellung ermöglicht kanarische Freigabe.

Rot-Schwarz-Bereitstellung

Die rote Version ist in Produktion. Sie stellen die Black-Version auf einem oder mehreren Servern bereit. Wenn die Black-Version voll funktionsfähig ist, schalten Sie den Router so, dass der gesamte Datenverkehr dorthin geleitet wird (oder Sie skalieren Rot auf 0 Instanzen und Schwarz auf N). Wenn etwas schief geht, setzen Sie den Vorgang zurück. Es ist also ähnlich wie bei der blaugrünen Bereitstellung, es gibt jedoch einen kleinen Unterschied : Bei der blaugrünen Bereitstellung werden möglicherweise beide Versionen vorübergehend gleichzeitig angefordert, während bei der rotschwarzen Version nur eine der beiden Versionen angefordert wird versions erhält zu jedem Zeitpunkt Datenverkehr . Hier sind einige Bestätigung :

Zu jedem Zeitpunkt ist nur eine der Umgebungen aktiv, wobei die aktive Umgebung den gesamten Produktionsdatenverkehr bedient. In diesem Beispiel ist Rot zurzeit aktiv und Schwarz ist inaktiv (in diesem Fall haben wir den Schwarzwert auf null Server herunterskaliert) ...

Daher ist Rot-Schwarz eine Spezialisierung von Blau-Grün. Rot-Schwarz-Bereitstellung ist jedoch ein neuerer Begriff, der von Netflix, Istio und anderen Frameworks/Plattformen verwendet wird, die die Container-Orchestrierung unterstützen. Die tatsächliche Bedeutung kann variieren und viele Leute verwenden "Rot-Schwarz" als anderen Begriff für "Blau-Grün", vielleicht nur, weil ihre Teamfarben Rot und Schwarz sind . : ^)

40
Paulo Merson