Container contra Virtualisierung

Die 10 wichtigsten Vor- und Nachteile von Docker-Containern

| Autor / Redakteur: Thomas Joos / Andreas Donner

Während Container in der Logistik nur Vorteile bieten, muss ihr Einsatz in der IT differenziert betrachtet werden.
Während Container in der Logistik nur Vorteile bieten, muss ihr Einsatz in der IT differenziert betrachtet werden. (Bild: © Ralf Gosch - stock.adobe.com)

Die Container-Technologie findet eine immer größere Verbreitung. Mit Windows Server 2016 hat Microsoft Container auch in „Windows“ verfügbar gemacht. Da die Container in direkter Konkurrenz zu virtuellen Servern stehen, sollten sich Unternehmen Gedanken über die Vor- und Nachteile machen.

Mit „Windows Server 2016“ hat Microsoft die Container-Funktionalität von Docker in das Betriebssystem integriert. Wenn die Docker-Technologie installiert wird, können Container direkt auf den Kernel des Betriebssystems zugreifen.

Mit Windows Server 2019 hat Microsoft die Technik weiter ausgebaut, und auch die Unterstützung für die Verwaltung der Container mit Kubernetes integriert. Container stehen durchaus in Konkurrenz zu virtuellen Servern. Wir erläutern in diesem Beitrag wichtige Vor- und Nachteile der Container-Technologie.

1. Vorteil: Geringer Ressourcenverbrauch

Im Vergleich zu virtuellen Servern sind Container wesentlich ressourcenschonender. Da kein komplettes Betriebssystem installiert werden muss, sondern Container über Images bereitgestellt werden und sich den Kernel des Betriebssystems teilen, sind sie wesentlich kleiner und kompakter als virtuelle Server.

Auch eine Konfiguration, wie bei virtuellen Maschinen (VMs) ist beim Erstellen eines Containers kaum notwendig. Die meisten Container werden mit einem Einzeiler erstellt.

2. Vorteil: Sehr skalierbar

Container sind sehr skalierbar. Werden für Workloads mehrere Container benötigt, lassen sich diese sehr schnell erstellen und bereitstellen. Auch das Verschieben in die Cloud oder auf andere Hosts lässt sich schnell umsetzen. Container sich hochgradig flexibel einsetzbar und lassen sich relativ unkompliziert erweitern.

3. Vorteil: Sehr flexibel einsetzbar für Microservices

Container lassen sich optimal für Microservices nutzen. Wenn eine Anwendung oder eine Workload die Aufteilung in Microservices unterstützt, lassen sich diese auf mehrere Container verteilen, anstatt auf einzelnen, virtuellen Servern ausgeführt zu werden.

Allerdings kann Docker nicht selbst Server-Workloads in Microservices aufteilen. Container lassen sich zwar mit Microservices nutzen, benötigen dafür aber Workloads, die bereits dafür optimiert und entwickelt wurden, obwohl sich Microservices auch ohne Container bereitstellen lassen. Allerdings sind Container besser geeignet als VMs.

4. Vorteil: In hybriden Netzwerken einsetzbar

Container sind in hybriden Netzwerken, in denen mit verschiedenen Betriebssystemen gearbeitet wird, meistens besser geeignet als VMs. Der Vorteil von Containern besteht darin, dass die Technologie betriebssystemübergreifend funktioniert und auch in der Cloud eine große Verbreitung hat.

Container sind also ideal dafür geeignet, wenn in Netzwerken verschiedene Betriebssysteme eingesetzt werden und auch in die Cloud Container verschoben werden sollen. Zwar lassen sich auch VMs in hybriden Netzwerken einsetzen; sie sind allerdings nicht so stark skalierbar und flexibel, wie Container.

5. Vorteil: Schnellere Bereitstellung

Container lassen sich sehr schnell bereitstellen. Die Erstellung läuft über Images, die in wenigen Sekunden einsatzbereit sind. Das Installieren und Konfigurieren von Betriebssystemen ist nicht notwendig – Container lassen sich mit wenigen Zeilen Code implementieren und auf den Hosts bereitstellen.

Neue Anwendungsversionen, die Container nutzen, sind daher wesentlich schneller einsatzbereit, als bei der Verwendung von VMs. Geht es um die schnelle Bereitstellung neuer Softwareversionen, ist die Verbreitung über Container der effektivste Weg.

6. Nachteil: Generelle Sicherheitsprobleme

Container stellen kein Allheilmittel für die Sicherheit dar. Im Gegenteil: Da Container in den meisten Fällen einen gemeinsamen Kernel nutzen, nämlich den Kernel des Betriebssystems, besteht generell die Gefahr, dass mehrere Container auf einmal kompromittiert werden, wenn ein Container auf einem Host angegriffen wird.

Das ist bei VMs weniger wahrscheinlich, da jede VM ein eigenes Betriebssystem nutzt. Da Container recht neu sind, muss die Technologie erst in vorhandene Infrastrukturen eingebunden werden, damit auch Sicherheitsebenen greifen können.

7. Nachteil: Kompliziert in Einrichtung und Verwaltung

Container sind komplexer, wenn es um die Einrichtung und Verwaltung geht. In Windows werden Container über die Befehlszeile und Powershell verwaltet. Werkzeuge wie Kubernetes sind relativ komplex in der Einrichtung und Verwaltung. Auch, um den Überblick zu behalten, ist es beim Einsatz von Containern meistens schwerer eine Überwachungsinfrastruktur zu implementieren als beim Einsatz von VMs.

Während es für VMs dutzende Tools gibt, die auch kostenlos eine Infrastruktur überwachen können, sind Container in dieser Hinsicht komplexer, vor allem in Microsoft-Netzwerken. Microsoft arbeitet aber daran, die Technologie auch im Windows Admin Center zu integrieren.

8. Nachteil: Noch nicht vollständig in Windows eingebunden

Unternehmen, die auf Windows setzen, können in Windows Server 2016 und „Windows Server 2019“ zwar die Container-Technologie installieren. Auch die Einbindung in das Windows Admin Center und System Center geht voran, allerdings sind Container im Betriebssystem noch nicht so tief verwurzelt und ausgereift wie „Hyper-V“.

Wer mit Docker in Windows Server 2016/2019 arbeitet, muss viel in der Befehlszeile arbeiten, auf Kubernetes setzen, oder Anwendungen nutzen, die ihren Schwerpunkt nicht in der Microsoft-Welt haben. Hinzu kommt, dass die meisten Microsoft-Anwendungen nicht in Container implementierbar sind, oder dies wie im Falle von SQL-Server sehr kompliziert ist. Wer also eine Technologie sucht, die so einfach wie Hyper-V funktioniert, wird mit der Container-Technologie nicht gleich zufrieden sein.

9. Nachteil: Zu hohe Erwartungen von Entscheidungsträgern und Geschäftsführern

Vor allem Entscheidungsträger, die sich nicht mit der IT auseinandersetzen, halten Container oft für ein Allheilmittel. Allerdings sind Container kein Wunder, dass alle Probleme in der IT lösen kann. Oft versprechen sich Entscheidungsträger Vorteile, die es nicht gibt, oder die nicht in der Form eintreten, wie erhofft.

Anwendungen lassen sich mit Containern oft in besseren und schnelleren Zyklen bereitstellen. Allerdings muss dafür auch die komplette Infrastruktur und die Entwicklungsumgebung geeignet sein.

10. Nachteil: Wenig Fachpersonal, das sich mit Containern auskennt

IT-Personal ist ohnehin Mangelware. Profis, die sich mit Containern auskennen und eine Infrastruktur verwalten können, die Container produktiv nutzt, sind sogar selten. Wer Container in Windows-Netzwerken einsetzt, braucht also Windows-Spezialisten, aber auch Profis für Container, Docker und Kubernetes. Dazu kommen Verwaltungswerkzeuge, wie System Center, die beim Einsatz von Containern ebenfalls im Rechenzentrum notwendig werden und weiteres Fachpersonal nötig machen.

*Der Autor, Thomas Joos schreibt über Tipps und Tricks für Administratoren auf DataCenter-Insider in seinem eigenen Blog: „Toms Admin Blog

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46051571 / Anwendungen)