Das Interesse an Container-Lösungen hat erst in letzter Zeit deutlich zugenommen. Teilweise ist das auf neue Entwicklungen zurückzuführen, die eine umfassendere und einfachere Nutzung der Technologien ermöglicht haben. Ein weiterer Grund ist, dass heutige Betriebssystem-Umgebungen relativ standardisiert sind, zumindest innerhalb eines Unternehmens, und nicht mehr auf individuelle Workloads zugeschnitten, wie es früher der Fall war. [...]
Auch wenn Betriebssystem-Umgebungen immer stärker standardisiert werden, so ändert das doch nichts daran, dass sie unternehmenskritischen Charakter haben. Es ist nicht das Betriebssystem, das weniger wichtig wird. Es sind vielmehr die einzelnen Betriebssystem-Instanzen, die konfiguriert, optimiert und in einer einzigen Applikation zusammengefasst sind, die weniger wichtig werden.
Generell ist nämlich eine zunehmende Abstraktion im Betriebssystem-Umfeld zu erkennen. Der Trend geht weg von den maßgeschneiderten Betriebssystem-Instanzen, die jede Applikations-Instanz begleiten – genauso wie man sich in der Vergangenheit von Betriebssystem-Instanzen verabschiedet hat, die auf jeden einzelnen individuellen physischen Server zugeschnitten waren.
Auf Container-Lösungen bezogen heißt dass, dass das Betriebssystem immer noch das Framework für alle Container bereitstellt, die auf dem Betriebssystem laufen. Es ist nur so, dass es jetzt ein Standard-Image für alle Applikationen und keine spezifisch optimierten Images für jede einzelne Applikation gibt. Alles was hinsichtlich Security Hardening, Performance-Optimierung, Zuverlässigkeits-Engineering und Zertifizierungen in der virtualisierten Welt gilt, betrifft ebenso die Container-Welt.
In der IT bewegen wir uns heute in Richtung einer Architektur, in der Laufzeitabhängigkeiten mit der Applikation gebündelt sind und nicht mehr mit einem kompletten Betriebssystem-Image. Ebenso sehen wir eine Zukunft vor uns, in der das Betriebssystem Multi-Host-Anwendungen unterstützt und dabei als Orchestrator und Scheduler für sie fungiert. Das beinhaltet die Modellierung von Applikationen über verschiedene Hosts und Container hinweg und die Bereitstellung von Services und APIs, um die Applikationen geeigneten Systemressourcen zuzuordnen.
Das Atomic-Projekt verfolgt das Ziel, Technologien für die Optimierung von Container-Hosts bereitzustellen. Auf Basis von Atomic Hosts der Fedora und CentOS Community sowie von Red Hat fokussiert sich das Atomic-Projekt auf das Vorantreiben von Technologieinnovationen. Die Strategie umfasst die Bereitstellung von Applikations-Containern für Open Hybrid Clouds, einschließlich der Portierbarkeit über Bare-Metal-Systeme, virtuelle Maschinen und Private sowie Public Clouds hinweg. Zu nennen ist hier auch die Mitwirkung von Red Hat an Kubernetes, einem Framework zur Verwaltung von Docker-Container-Clustern.
Wichtig ist festzuhalten, dass das prinzipielle Konzept einer Softwarepaketierung nichts völlig Neues ist. Verschiedene Virtualisierungs- und Partitionierungstechnologien zielen ebenfalls auf das Packaging und die Portabilität von Applikationen ab. Zu nennen wäre hier beispielsweise die Applikationsvirtualisierung. Als Lösungsansatz hat sie in der Vergangenheit nur Nischencharakter gehabt, aber in letzter Zeit hat sie im Hinblick auf Clients als „App Store“ an Bedeutung gewonnen.
Bezüglich Container-Lösungen kommt vor allem dem Open-Source-Projekt Docker eine besondere Bedeutung zu. Docker stellt eine wohl durchdachte API für die Interaktion mit Containern und ein Image-Format bereit, das definiert, wie Inhalte einem Container hinzugefügt werden. Mit Docker steht Entwicklern eine einfache Möglichkeit offen, die hohe und schnell steigende Technologievielfalt im Bereich der Laufzeitumgebungen für ihre Applikationen zu nutzen. Mit einem simplen Kommando „docker pull“ können sie sehr schnell einen Java-, Ruby- oder Python-Stack zum Laufen bringen. Einfach und schnell können Entwickler Applikationen auch mit einer PaaS-Lösung wie Red Hat OpenShift konzipieren. Auch diese Lösung, bei der viele Prozesse in einem System parallel und voneinander isoliert laufen, nutzt bereits Container.
Insgesamt betrachtet zeigt sich, dass Applikationen in der Zukunft zunehmend anpassungsfähiger, mobiler und kleiner (leichtgewichtiger) werden. Dabei darf eines allerdings nicht vergessen werden: Sie „laufen“ immer noch irgendwo. Und dieses „Irgendwo“ ist ein Betriebssystem.
* Gordon Haff ist Senior Cloud Product Manager bei Red Hat.
Be the first to comment