Die Containerisierung ist eine einfache Alternative zur vollständigen Maschinenvirtualisierung, bei der eine Anwendung in einen Container mit einer eigenen Betriebsumgebung gekapselt wird. Dies bietet viele Vorteile des Ladens einer Anwendung auf eine virtuelle Maschine, da die Anwendung auf jeder geeigneten physischen Maschine ausgeführt werden kann, ohne sich um Abhängigkeiten sorgen zu müssen.
Die Containerisierung hat mit dem Open-Source-Docker in jüngster Zeit an Bedeutung gewonnen. Docker-Container können auf allen Computern, virtuellen Maschinen, Bare-Metal-Servern, OpenStack-Cloud-Clustern, öffentlichen Instanzen und vielem mehr ausgeführt werden.
Containerisierung vs. Virtualisierung über herkömmliche Hypervisoren
Die Grundlage für die Containerisierung liegt im LXC-Format (LinuX Containers), einer Benutzerbereichsschnittstelle für die Linux-Kernel-Containment-Funktionen. Daher funktioniert die Containerisierung nur in Linux-Umgebungen und kann nur Linux-Anwendungen ausführen.
Dies steht im Gegensatz zu herkömmlichen Hypervisoren wie ESXi, Xen oder KVM von VMware, bei denen Anwendungen unter Windows oder einem anderen Betriebssystem ausgeführt werden können, das den Hypervisor unterstützt.
Ein weiterer wesentlicher Unterschied zur Containerisierung im Gegensatz zu herkömmlichen Hypervisoren besteht darin, dass Container den Linux-Kernel gemeinsam nutzen, der vom Betriebssystem verwendet wird, auf dem der Host-Computer ausgeführt wird. Dies bedeutet, dass alle anderen Container, die auf dem Host-Computer ausgeführt werden, denselben Linux-Kernel verwenden.
Docker ist nicht die einzige Containerisierungsoption
Docker war vielleicht der erste, der auf die Containerisierung aufmerksam gemacht hat, aber es ist nicht mehr die einzige Option für das Containersystem. CoreOS hat kürzlich eine optimierte Alternative zu Docker namens Rocket veröffentlicht.
Und Canonical, Entwickler des Ubuntu Linux-basierten Betriebssystems, hat die LXD-Containerisierungs-Engine für Ubuntu angekündigt, die ebenfalls in OpenStack integriert wird.
Microsoft arbeitet an einer eigenen Containerisierungstechnologie namens Drawbridge, die voraussichtlich in Zukunft in Windows Server und Azure verfügbar sein wird. Und Spoon ist eine weitere Windows-Alternative, mit der containerisierte Anwendungen unabhängig von der zugrunde liegenden Infrastruktur auf jedem Windows-Computer ausgeführt werden können, auf dem Spoon installiert ist.