Shopware 6: Was ist Blue-Green Deployment?


Prinzipiell versteht man unter dem Blue-Green Deployment einen Ansatz, um bei der Auslieferung von Software-Updates jederzeit wieder auf den vorherigen Stand zurückgreifen zu können. Dabei wird die Software auf zwei verschiedenen, aber ansonsten gleichartig aufgebauten Systemen betrieben. Eine dient als Produktivumgebung, die andere als Testumgebung – vereinfacht werden die Farben blau und grün zur Unterscheidung verwendet. Daher auch der Name: Blue-Green Deployment.

Ist eine neue Software-Version geplant, wird diese zuerst in die Testumgebung eingespielt. Läuft alles stabil, wird in einem Schritt automatisiert die Produktivumgebung zur Testumgebung und umgekehrt, ohne dass der Kunde etwas davon bemerkt. Ein Vorteil dieser Methode ist, dass mit keinen Ausfallzeiten beim Update der Software zu rechnen ist – bekannt auch unter dem Fachbegriff Zero-Downtime-Deployment. Der größte Vorteil ist aber, dass im Hintergrund die alte, funktionierende Produktivumgebung noch in der Testumgebung bereitsteht und daher bei nicht vorhersehbaren Problemen jederzeit – ebenfalls ohne Ausfallzeiten – zurückgewechselt werden kann. Gerade in Zeiten, in denen schnelle Release-Zyklen unabdingbar sind, gehört dieses Sicherheitsnetz in jeden modernen Deployment-Prozess.

Ein Problem dabei stellen allerdings Datenbanksysteme dar. Denn auch Änderungen am Datenbankschema müssen ohne Datenverlust rückgängig gemacht werden können. Nehmen wir als Beispiel eine gelöschte Datenbankspalte in einem Software-Update. Die Änderungen an Templates, in dem diese Datenbankspalte ausgelesen und dargestellt wurde, kann über die Versionierung des Quellcodes jederzeit rückgängig gemacht werden. In einem klassischen Deployment-Prozess wären aber bei einem Downgrade die Inhalte der Datenbankspalte unwiderruflich verloren.

In einem Blue-Green Deployment wird diese Datenbankspalte mit den entsprechenden Inhalten mindestens eine Version weitergeführt und erst in der darauffolgenden Version endgültig gelöscht. Shopware unterstützt den Blue-Green-Ansatz seit der Version 5.4 – die Unterstützung muss unter Shopware 6 aber explizit in der Konfiguration, bzw. bei der Installation gesetzt sein. Wichtig ist natürlich auch, dass sich alle eingesetzten Plugins in Bezug auf Datenbank-Updates am Blue-Green-Ansatz orientieren.

In Zusammenarbeit mit Tools wie Composer und Deployer sind mit Shopware 6 sichere und automatisierte Blue-Green Deployments möglich. In Kürze werden wir in einem eigenen Blogartikel die technischen Möglichkeiten eines automatisierten Deployments für Shopware 6 auf Basis von GitLab und GitLab Runner detailliert vorstellen. 

Immer auf dem Laufenden Bleiben?

In Kürze werden wir in einem eigenen Blogartikel die technischen Möglichkeiten eines automatisierten Deployments für Shopware 6 auf Basis von Composer, Deployer und GitLab CI/CD Pipelines  detailliert vorstellen. Folgen Sie einfach unserem LinkeIn oder Facebook-Account, um über das Erscheinen dieses Blogartikels  informiert zu werden.

Bildquelle: Colossus Cloud auf Pixabay


Ihre Online-Anfrage
zur Shopware-Entwicklung

Mit der AREA-NET GmbH als Shopware Business Partner setzen Sie auf den richtigen Partner!

AREA-NET GmbH
Werbeagentur, Internetagentur und App Agentur
Öschstr. 33 | 73072 Donzdorf | Kreis Göppingen