Suche Grau Suche

Docker und Container

Bessere Performance, weniger Ressourcenverbrauch

Container vs.Virtual Machines: Vorteile von Docker

Für nachhaltige, stabile und performante Anwendungen im Rahmen der Microservices-Architektur setzt Auctores Docker ein, ein Open-Source-Projekt zur automatisierten Anwendungsverteilung durch plattformunabhängige, virtualisierte Container. Seine Vorteile prädestinieren Docker zum Einsatz, wenn Anwendungen bei optimaler Nutzung der Ressourcen und hoher Stabilität auf unterschiedlichsten Plattformen laufen sollen. Eine Anwendung ist unter Docker in einem Container gekapselt. Dieser Container enthält neben der Anwendung die Umgebung, die sie zum Funktionieren benötigt, einschließlich alle Software-Bibliotheken und Abhängigkeiten sowie des virtualisierten Betriebssystems.

Flexibel und stabil

Der große Vorteil dieses Konzepts: Anwendungen lassen sich leicht bereitstellen, upgraden oder austauschen. Ein Container mit allen Komponenten lässt sich als Docker Image übertragen und installieren. Zugleich werden die Ressourcen des für die Anwendung genutzten Rechners besser genutzt, wenn mehrere Anwendungen darauf laufen.

Gegenüber der klassischen Virtualisierung mit Virtuellen Maschinen (virtual machines) auf einem Server sind Docker-Anwendungen damit sowohl hinsichtlich Flexibilität als auch hinsichtlich Verfügbarkeit und Geschwindigkeit im Vorteil.

Beim Einsatz von Virtual Machines als Umgebung für die Anwendungen läuft auf dem genutzten Server ein Host-Betriebssystem (Host-OS). Eine Schicht höher wacht ein Hypervisor als Virtual Machine Monitor (VMM) über die als Gastsysteme (Gast-OS) installierten Betriebssystme, auf denen die Anwendungen laufen. Der Hypervisor spielt dem jeweiligen Gast-OS vor, dass es sich auf einem separaten Computer mit über die Einstellungen definierten Ressourcen wie Prozessor, Arbeitsspeicher oder Festplattenkapazität befindet. Jedes Gastsystem stellt „seiner“ Anwendung die benötigten Software-Bibliotheken zur Verfügung. Diese Technik ist bewährt und stabil, benötigt jedoch umfangreiche Ressourcen und lässt Flexibilität vermissen. Zudem sind Virtual Machines i. d. R. weniger performant als native Systeme.

Vorteile von Docker-Containern

Performance-Vergleich: Docker schlägt Virtual Machine und liegt gleichauf mit nativem SystemBei der Container-Lösung treten Docker und Shifter an die Stelle des Hypervisors. Shifter ermöglicht dabei die schnelle und skalierbare Einbindung von Anwendungen in Docker-Containern über unterschiedlichste Systeme hinweg.

Die Anwendungen in den Containern sind wie die Anwendungen bei der VM-Variante unabhängig voneinander. Jedoch können sie auf dem System vorhandene Software-Bibliotheken gemeinsam und so Systemressourcen effizienter nutzen. Nicht zuletzt dank Shifter spielt es keine Rolle, ob die Anwendung auf einem dedizierten Rechner oder in der Cloud läuft oder ob eine oder mehrere Instanzen der Anwendung ausgerollt werden.

Da die Container ihr Betriebssystem mitbringen, müssen keine Gastsysteme spezifisch konfiguriert werden. Auch Hardware-Ressourcen wie Arbeitsspeicher und Prozessorleistung lassen sich damit in Echtzeit flexibel anwendungsbezogen zuteilen.

Ein weiterer Vorteil: Durch die Container ist die Anzahl der auf dem Server zur Verfügung stehenden Betriebssysteme nicht limitiert. Jede Anwendung bringt ihre individuelle Version des von ihr benötigten Betriebssystems mit. Der Wegfall der separaten Gastsysteme verringert den ansonsten für diese Systeme benötigten Overhead. In Docker-Containern gekapselte Anwendungen lassen sich schnell und einfach anpassen, erweitern oder aktualisieren. Zugleich bieten sie die gleiche Performance wie native Systeme und lassen damit auf virtuellen Maschinen laufende Anwendungen deutlich hinter sich.

Damit sind Docker-Container die ideale Lösung, wenn hochverfügbare, dynamisch skalierbare und stabile Anwendungen benötigt werden.