Im Artikel "Planen, Packen und Verschiffen" [1] aus der Juli-Ausgabe haben wir Mittel und Wege vorgestellt, um Applikationen in Containern laufen zu lassen. An die Stelle einer großen monolithischen VM mit allen Diensten tritt hier eine Gruppe von mehreren kooperierenden Containern, die jeweils nur einen Dienst betreiben. Um die Verfügbarkeit und Performance zu verbessern, skalieren containerisierte Applikationen die Zahl der jeweiligen Container je nach Bedarf. So lassen sich auch einzelne Komponenten einer Applikation separat vom Rest ändern, beispielsweise für ein Update.
Das klassische Beispiel für die moderne Scale-out-Architektur sind Webapplikationen. Eine Reihe von Containern stemmt das Datenbank-Backend, wieder andere beherbergen ein klassisches Netzwerk-Dateisystem für statische Inhalte. Eine skalierende Gruppe betreibt das Web-Frontend der Anwendung. Redundante Container mit einem Message-Bus oder einem Key Value Store sorgen für die Kommunikation aller beteiligten Komponenten. Die Anwendungsentwickler des Frontends können ihren Teil der Anwendung dynamisch ändern und updaten, ohne dabei die Funktion des Backends oder anderer Komponenten zu behelligen.
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.