Docker-Virtualisierung: Nicht alle Applikationen profitieren von Containern

Docker bietet für virtuelle Umgebungen viele Vorteile, ist aber beileibe kein Allheilmittel: Nicht alle Applikationen profitieren von Containern.

Docker als Tool zur Verwaltung von Linux-Containern hat 2014 sowohl von großen IT-Konzernen als auch von Unternehmen gleichermaßen große Aufmerksamkeit erhalten. Nachdem aus der anfänglichen Neugier aber allmählich Fragen zu tatsächlichen Anwendungsszenarien werden, stellt sich mehr und mehr die Frage, welche Applikationen nun am ehesten von der Container-Virtualisierung mit Docker profitieren.

Ganz allgemein kann man sagen, dass es drei Arten von Anwendungen gibt, die Vorteile aus der Verwendung von Docker ziehen:

  • Anwendungen, die in mehr als nur einer Cloud ausgeführt werden,
  • Anwendungen, die Mikro-Services benötigen und
  • Anwendungen, die von DevOps profitieren.

Docker arbeitet mit Linux-Containern – aber anders

Docker-Container unterscheiden sich zwar nicht grundsätzlich von herkömmlichen Linux-Containern (LXC), verpacken die einzelnen Applikations-Komponenten aber vollständig in einzelne Container. Diese Docker-Container können dann sehr flexibel zwischen verschiedenen Plattformen und Clouds verschoben werden. 

Aus diesem Grund eignet sich Docker auch so gut für Applikationen, die in unterschiedlichen und wechselnden Infrastrukturen ausgeführt werden sollen. Mit den kürzlich vorgestellten Docker-Tools Swarm, Compose und Machine wird diese Flexibilität noch weiter erhöht.

Diese Portierbarkeit von Anwendungen war bislang ein großes Problem für cloudbasierte Plattformen. Gerade weil Docker diese Flexibilität bietet, unterstützen inzwischen eigentlich auch alle großen Cloud-Anbieter die Docker-Technologie – selbst Microsoft arbeitet an der Docker-Kompatibilität seiner nächsten Windows-Server-Version. Mit Docker verschiebt sich die Verantwortung für flexible und portable Anwendungen also weg von Cloud-Anbietern und hin zu Entwicklern.

Docker kommt aber auch Applikationen zugute, die Mikro-Services nutzen. Mit Mikro-Services werden Anwendungen in kleinere Services aufgebrochen, die ganz gezielt einem bestimmten Zweck dienen und wesentlich flexibler und kompakter als umfassende Anwendungen sind. 

Die Kommunikation zwischen den Mikro-Services erfolgt über REST APIs. Das Modell vollständig isolierter Docker-Container hilft Entwicklern dabei, ein wesentlich effizienteres Distributionsmodell für auf Mikro-Services basierende Anwendungen zu verwenden.

Aber was genau bedeutet das eigentlich? Entwickler und Software-Architekten können mithilfe von Docker Applikationen erstellen, die multiple Plattformen unterstützen und gleichzeitig Mikro-Services konsumieren oder produzieren. Genauso lassen sich damit Architekturen für verteilte Anwendungen errichten, bei denen Applikations-Container, die Mikro-Services produzieren und konsumieren, sowohl auf verschiedene Plattformen verteilt sein können als auch vollkommen autonom agieren und behandelt werden können. Diese enorme Flexibilität lässt sich mit klassischer Hypervisor-Virtualisierung und virtuellen Maschinen kaum erreichen.

Zu guter Letzt profitieren von Docker aber auch Applikationen, die aus DevOps-Prozessen Vorteile ziehen können. Docker erlaubt Entwicklern nämlich das Arbeiten innerhalb der Container, während die IT-Abteilung gleichzeitig von außen daran arbeitet. Ein eher genereller Vorteil von Linux-Containern ist ihre größere Effizienz im Vergleich zu virtuellen Maschinen.

Vor allem Entwickler profitieren von Docker

Entwickler profitieren beim Einsatz von Docker zusätzlich von einer erhöhten Agilität. Zwischen den Anwendungen und der darunterliegenden Host-Plattform gibt es eine Abstraktionsebene, durch die Entwickler neue Anwendungen erstellen oder bestehende verändern können, ohne sich über die dafür benötigten Plattform-Services Gedanken machen zu müssen.

Dockers großer Vorteil ist die Isolierung ganzer Applikationen. Zusammen mit DevOps-Techniken eliminiert diese Isolierung die großen Probleme moderner Applikationen mit fehlenden Abhängigkeiten oder Bugs durch wechselnde zugrunde gelegte Betriebssysteme und Plattformen.

Der Trend zur Docker-Virtualisierung wird aus verschiedenen Gründen auch weiter anhalten. Trotzdem ist auch Docker nicht das von vielen gesuchte Allheilmittel für virtuelle Umgebungen. Die Docker-Technologie macht neue Wege der Bereitstellung und Ausführung von Applikationen möglich, bei allen Vorteilen eignen sich Docker-Container aber beileibe nicht für jede Anwendung. 

Bevor man also voreilig auf Docker setzt, sollte man sich darüber im Klaren sein, welche Anwendungen von Docker profitieren – und welche nicht.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im März 2015 aktualisiert

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close