Was sind Container?

0

Eine neue Form von digitalen Behältern für Anwendungen und Daten ist in den Rechenzentren und vor allem in der Cloud auf dem Vormarsch. Sie sind eine ernsthafte Konkurrenz für die heute noch dominierenden virtuellen Maschinen.

Container waren in den 50er-Jahren eine neue Erfindung, die die Welt des globalen Warentransports auf Schiffen, in den Seehäfen und dann auch bei den Eisenbahnen komplett revolutionierten. Anstelle von einzelnen Produkten, die mehr oder weniger mühsam auf Schiffe gebracht, in tiefen und dunklen Laderäumen verstaut und ebenso umständlich wieder ausgeladen werden mussten, traten große, standardisierte Boxen, die die diversen Produkte in sich aufnahmen. Sie lassen sich in riesigen Mengen in Ladehöfen oder auf Hafenmolen stapeln und per riesigen Kränen heben und in ebenso großen Mengen auf immer größer werden Transportschiffen über die Weltmeere bewegen. Und nach dem Runterheben von den Schiffen sind die Boxen leicht auf Güterzügen oder LKWs zu verstauen und zu ihrem Empfänger zu bringen.

Die Behälter sind Open Source

In den Rechenzentren und in der Cloud passiert heute das gleiche. Eine neue Form von Behältern für Applikationen, Daten und Rechenprozesse wird zum Standard auf Servern on-premise und in den verschiedenen Cloud-Varianten. Diese Container lassen sich leicht verschieben von Server zu Server und auch von Cloud zu Cloud. Sie sind “leicht” zu installieren und zu handhaben – und sie sind vor allem eins: Open Source. Lizenzen entfallen, außer man bedient sich der vorgefertigten Angebote und Dienstleistungen von speziellen Anbietern wie Docker, CoreOS oder Red Hat.

Digitale Container sind eine Weiterentwicklung von virtuellen Maschinen, ursprünglich bei Mainframes entstanden, um diese großen, außerordentlich leistungsfähigen (und teuren) Rechner in mehrere interne “virtuelle” oder “logische” Rechner oder Teilrechner aufzuspalten – und so ihren Nutzungsgrad zu erhöhen.

Virtualisierung erlaubt es heute, einzelne Server in mehrere logische Einheiten aufzuteilen, die für ihre Operationen parallel auf die gleiche CPU zugreifen, oder mehrere Server zu einer größeren, mächtigeren Einheit zusammenzufassen. Virtuelle Maschinen bestehen im Prinzip aus Dateien auf der Festplatte, sind vergleichsweise einfach zu betreiben und von einem Rechenzentrum zu einem anderen zu verschieben. Allerdings sind sie im Inneren auch komplexe Gebilde in Form eines “virtuellen” Servers: Jede virtuelle Maschine besteht aus einem eigenen Betriebssystem, eigenen Konfigurationen und verschiedenen Ebenen von Software und Daten, die alle für sich unterhalten und gepflegt werden müssen. Virtuelle Maschinen sind noch immer sehr eng mit der Hardware verbunden – man hat sie auch als “Dinosaurier mit Flügeln” bezeichnet, aber sie sind immer noch Dinosaurier. Hinzu kommt, dass es verschiedene lizenzpflichtige Virtualisierungsvarianten gibt, von denen sich VMware gegenüber Microsoft und Citrix eine marktbeherrschende Position erobert hat.

Container gelten als einfach und unkompliziert

Ganz anders die Container. Sie gelten als einfach und unkompliziert, da sie kein Betriebssystem mehr in sich aufnehmen müssen, sondern sich wie eine Applikation oder ein isolierter Rechenprozess verhalten. Sie setzen auf Linux als gemeinsames Betriebssystem auf und können sehr schnell in großer Anzahl erzeugt werden. Ihre Koordination und Kontrolle mit Werkzeugen wie Kubernetes gilt schon als nicht mehr so einfach, weshalb sich auch hier einige Distributionen mit ihren ebenfalls kostenpflichtigen Services einen Markt geschaffen haben.

Bei Prozessen wie Machine Learning oder Datenanalyse und Big Data sind Container inzwischen weit verbreitet. Dennoch werden virtuelle Maschinen und besonders so umfassende Pakete wie die von VMware oder Microsoft weiterhin ihren Platz behalten. So wie auch die Cloud keineswegs zu einer Ablösung der klassischen Rechenzentren geführt hat.

Und außerdem haben sich auch VMware und Microsoft der Container und ihrer Technologie bemächtigt. Aber das ist eine andere Geschichte.