Skip to main content

In einer früheren Artikel Serie haben wir die Vorteile einer Container basierten Infrastruktur für CoreMedia beleuchtet. In der Zwischenzeit haben wir eine ShowCase Umgebung aufgebaut, in der wir all diese Features Live und in Farbe dem interessierten Kunden vorführen können. Selbst für uns, die tagtäglich mit dieser Technologie zu tun haben, ist es jedes mal erstaunlich, wenn EIN Kommandozeilen Befehl eine Kaskade an Servern und Diensten (sprich: einen kompletten CoreMedia Serverstrang aus dem Nichts) in der Cloud hochfährt. Das dauert ganze 6 Minuten, oder ein Git Commit 10 Minuten später eine CAE Instanz mit dem neuen Code in der Cloud instanziiert, selbst verständlich ohne Downtime.

Das Paradigma des Container basierten Arbeitens macht dies möglich: Server wegwerfen, neu aufbauen und deployen.

Server wegwerfen, neu aufbauen und deployen: Dadurch wird die Sache berechenbar und vor allen Dingen reproduzierbar. In der Software Entwicklung gibt es das sogenannte Event Sourcing. Das System verwaltet Stati und eine Folge von Events, die das System in einen bestimmten Zustand bringen. Wenn ich also die Events einfach ab einem bestimmten Anfangszustand wiederhole kann ich das System in einen definierten, reproduzierbaren Zustand bringen. Dieses Prinzip findet nun auf Infrastruktur Ebene statt. Zustandswechsel (Events) werden in Dateien ausgelagert (JSON, Yaml, etc.) und in einem Versionierungs Tool wie Git verwaltet. Aus diesen Dateien wird dann die Infrastruktur mit den geeigneten Tools produziert/reproduziert. Erst dadurch kann ich mir erlauben Server wegzuwerfen und neu zu deployen, da der Zustand definiert und reproduzierbar ist. Das spart mir als Administrator jede Menge Aufwand, welche ich manuell schon gar nicht mehr leisten kann.

In dieser Artikel Reihe wollen wir die Tools vorstellen, mit denen wir unsere ShowCase Umgebung für eine agile CoreMedia Infrastruktur aufgebaut haben. Anfangen wollen wir mit dem initialen Schritt, nämlich das Provisionieren von Servern in der Cloud.