Containerisierung

Auf dem Rechner der Entwicklung lief alles, auf dem Server nicht. Containerisierung beseitigt diesen Klassiker, indem sie die Anwendung samt allem, was sie braucht, in eine einzige Einheit packt.
Eine Frau steht in einem leeren weißen Raum. Um sie herum liegt auf dem Boden in einem exakten Raster alles ausgelegt, was zum Raum gehört, bis hin zu Tür, Fensterscheibe und Deckenleuchte. Ein Sinnbild dafür, dass Containerisierung jede Abhängigkeit sichtbar macht.
© KI-generiert (TenMedia)

Was Containerisierung bedeutet

Containerisierung bündelt eine Anwendung zusammen mit allen Bestandteilen, die sie zum Laufen braucht, in einer abgeschlossenen Einheit. Bibliotheken, Konfiguration und Laufzeitumgebung stecken darin, das Betriebssystem darunter nicht. Diese Einheit läuft auf jedem System gleich, das die passende Containertechnologie bereitstellt, unabhängig davon, was sonst auf der Maschine installiert ist.

Der praktische Nutzen liegt in der Wiederholbarkeit. Was auf dem Rechner der Entwicklung läuft, läuft auf dem Testsystem und im Rechenzentrum in derselben Fassung. Die Umgebung wird damit zum Teil der Software, statt getrennt von ihr gepflegt zu werden.

Unterschied zur virtuellen Maschine

Eine virtuelle Maschine bringt ein vollständiges eigenes Betriebssystem mit und belegt entsprechend Speicher und Startzeit. Ein Container teilt sich den Kern des darunterliegenden Systems und enthält nur, was die Anwendung selbst benötigt. Daraus folgen Sekunden statt Minuten beim Start und ein Bruchteil des Platzbedarfs. Der Preis dafür ist eine schwächere Trennung, weil alle Container auf demselben Kern laufen. Wo diese Trennung streng sein muss, bleibt die virtuelle Maschine im Spiel, oft auch beides kombiniert. Am weitesten verbreitet ist dabei das Format der Docker-Container, das sich als Quasi-Standard für den Aufbau solcher Einheiten durchgesetzt hat.

Wann sich der Einsatz lohnt

Der Nutzen der Containerisierung wächst mit der Zahl der beteiligten Umgebungen. Bei einer einzelnen Anwendung auf einem festen Server bringt der Umbau wenig und kostet Einarbeitung. Bei mehreren Diensten, häufigen Auslieferungen oder wechselnden Zielumgebungen zahlt er sich aus, weil Unterschiede zwischen Test und Betrieb verschwinden. Auch der Wechsel des Anbieters wird einfacher, weil dieselbe Einheit in einem anderen Rechenzentrum läuft, was die Bindung an eine Plattform verringert. Anwendungen containerisieren heißt allerdings nicht, sie zu modernisieren. Eine gewachsene Anwendung bleibt in einem Container dieselbe gewachsene Anwendung, nur mit einem neuen Verpackungsformat.

Betrieb und Sicherheit

Ab einer gewissen Zahl von Containern wird ihre Verteilung selbst zur Aufgabe, die eine Orchestrierung übernimmt und die zusätzliches Betriebswissen verlangt. Containertechnologie senkt den Aufwand also nicht überall, sie verschiebt ihn von der Einzelinstallation zur Plattform. Sicherheitsseitig zählt vor allem der Inhalt. Ein Container enthält fremde Bestandteile, die eigene Schwachstellen mitbringen, weshalb Herkunft und Aktualität der verwendeten Vorlagen laufend geprüft gehören. Ein veraltetes Abbild ist kein stabiler Zustand, sondern ein eingefrorener Sicherheitsstand. In der IT-Infrastruktur gehören dazu ein eigenes Verzeichnis für geprüfte Abbilder und ein Ablauf für deren Erneuerung.

Aktuelle Themen