Zurück
Jetzt teilen
13.Oktober 2021

Netzwoche - Fachartikel

Alle reden von Containern, aber wo fängt man an?

Innovationsgeschwindigkeit in KMUs stellt erneut hohe Anforderungen an die IT. Applikationsentwicklung und Infrastruktur müssen gleichermassen zukunftsfähig gemacht werden. Software und System Engineers sind mehr denn je gefordert, gemeinsam einen Paradigmenwechsel voranzutreiben.

Als sich VMs durchgesetzt haben, konnten im Wesentlichen 30 bis 40 Jahre alte Konzepte aus der Hardware-Welt auf die virtuelle Welt übertragen werden. Container haben aber ein ganz anderes Betriebs- und Bereitstellungskonzept. Sie sind dynamischer, stateless und ein Stück weit flüchtig. Aus softwaretechnischer Sicht geht es nicht nur darum, eine neue Technologie einzuführen und zusätzliches Know-how aufzubauen, sondern primär um einen Paradigmenwechsel mit dem Ziel, komplexe monolithische Applikationen durch Microservices zu ersetzen. Der Aufwand ist nicht zu unterschätzen. Darum lohnt sich ein Blick auf die Funktions- und Einsatzmöglichkeiten und darauf, welchen Stellenwert Container-Virtualisierung in der eigenen Cloud-Strategie einnehmen soll.

VM vs. Container.

Virtuelle Maschinen wurden entwickelt, um ein Hostsystem zu virtualisieren. Container gehen einen Schritt weiter und virtualisieren das darunterliegende Betriebssystem. Damit können Applikationen sehr einfach voneinander isoliert betrieben werden. Der Overhead wird kleiner, da nur die für die Applikation erforderlichen Dateien im Container bereitgestellt werden müssen. Und da ein Container im Idealfall sehr klein ist und sich aus einer Konfigurationsdatei überall und jederzeit neu aufbauen lässt, ergeben sich insbesondere in der Softwareentwicklung diverse Vorteile: Isolation, konsistente Umgebung, Portabilität, versionierbare Plattformdefinition, automatisierbar durch Integration in den Build-Prozess. Die Zeit für Fehlerbehebung und Diagnose zwischen Umgebungen entfällt und die Bereitstellungszeit ist kürzer.

Nicht jede Applikation eignet sich für die Container-Virtualisierung.

Container können als Verbesserung der Virtualisierung gesehen werden, aber sowohl Container als auch VMs haben ihre Daseinsberechtigung und können parallel genutzt werden. Dabei eignen sich Container besonders für Workloads, die auf bestimmte Schlüsselkomponenten zurückgreifen und eine hohe Skalierbarkeit erfordern. VMs hingegen bieten insbesondere bei Workloads mit Persistenz und performancekritischen Anwendungen heutzutage noch minimale Vorteile. Doch auch dies wird sich zukünftig wohl noch ändern.

Container as a Service (CaaS).

Cloud-Dienstleister bieten mit Container-as-a-Service (CaaS) einen sicheren Rahmen, in dem Kunden ihre Applikationen als Container betreiben können. Zusätzlich können bereits etablierte Tools und Prozesse weiterverwendet werden, um Container zu testen und zu deployen. CaaS bietet Kunden auch die Möglichkeit, Container mittels ihrer eigenen Tools und Workflows in einer branchenkonformen und standardisierten Kubernetes-Umgebung, ohne grossen Aufwand laufen zu lassen. Ein CaaS-Dienstleister stellt den Betrieb dieser Kubernetes-Cluster zu jeder Zeit sicher und kümmert sich um die Ausfallsicherheit.