Alternative zu VMs: Windows Server 2016 unterstützt Docker-Container

    Docker ContainerMicrosoft gab kürzlich bekannt, dass die nächste Version von Windows Server eine Container-Technik bieten werde, die den Management-Spezifikationen der Firma Docker entspricht. Damit haben Anwender eine leichtgewichtige Alternative zu virtuellen Maschinen, die ohne Hypervisor Workloads voneinander isolieren kann.

    Container sind keine neue Erfindung, sondern erfreuen sich unter Linux und Unix schon seit Jahren einiger Beliebtheit. So heißen sie etwa unter Solaris Zones, unter FreeBSD existiert eine Implementierung namens Jails und unter Linux verfolgten Projekte wie OpenVZ sowie LXC das gleiche Ziel. Für Windows gibt es schon länger ein entsprechendes Produkt von Parallels.

    Nur eine OS-Instanz für mehrere Workloads

    Allen diesen Vorhaben ist gemeinsam, dass sie eine einzige Instanz des Server-Betriebssystems partitionieren, so dass Prozesse weitgehend voneinander separiert ablaufen können. Container sind damit quasi ein Mittelding zwischen Sessions auf einem Terminal-Server, die weniger hermetisch voneinander getrennt sind, und virtuellen Maschinen, die den höchsten Grad an Isolierung erreichen, indem jede von ihnen eine eigene Kopie des OS erhält.

    Rein technisch scheint dieses Konzept naheliegend, weil es zwischen dem Hypervisor und dem Betriebssystem einige Redundanzen gibt. Zwar obliegt Ersterem die Kontrolle über die Hardware, aber beide verfügen etwa über einen Scheduler zur Verteilung von Rechenzeit oder ein eigenes Memory-Management. Container dagegen sind eine leichtgewichtige Technik, die Prozesse auf der Ebene des Betriebssystems isoliert und nicht durch die Virtualisierung der Hardware.

    Container bis dato hauptsächlich für Hosting beliebt

    Bisher fanden Container überall dort Verbreitung, wo eine weitgehend homogene Infrastruktur möglichst viele virtuelle Instanzen der gleichen Betriebs­system­version bereitstellen sollte, also vor allem im Hosting-Geschäft. Es ist daher kein Zufall, dass etwa Parallels die meisten seiner Kunden in diesem Segment hat.

    Anwendungen, die als Docker-Packages vorliegen, lassen sich mit dem gleichen Mechanismus auf verschiedene Plattformen verteilen.

    Bei anderen Anwendungen stießen Container dagegen lange Zeit auf relativ geringes Interesse. Dass sich dies nun ändert, ist vor allem ein Verdienst der Firma Docker. Sie kombinierte diese Technik zur Isolierung von Prozessen mit einem Deployment-Mechanismus, der die Bereitstellung von Anwendungen inklusive der dafür verwendeten Container weitgehend automatisiert.

    Templates für Anwendungen plus Container

    Entwickler und Administratoren können mit den dafür vorgesehenen Tools eigene Packages erstellen, die neben dem Programm-Code auch alle Metadaten umfassen, die zur Einrichtung der gesamten Umgebung erforderlich sind. Dies funktioniert auch für komplexe verteilte Anwendungen, die etwa für Datenbanken sowie für Web- und Applikations-Server jeweils eigene Container benötigen.

    Bis dato ist Docker auf die Linux-Welt beschränkt, wo seine Technik eine Brücke zwischen den verschiedenen Distributionen schlägt. Durch die Implementierung einheitlicher Standards für das Packaging von Anwendungen und Metadaten lassen sich Programme überall auf die gleiche Weise automatisiert als Container einrichten.

    Container in Windows Server 2016

    Microsoft möchte nun den Hype um Docker und Container für seine eigene Plattform nutzen. Im ersten Schritt unterstützt es die Technik auf Azure, wobei dort Container bis jetzt nur in Linux-VMs verfügbar sind. Darüber hinaus kündigte Microsoft an, dass der Cloud-Service seinen Kunden zukünftig erlauben werde, auch komplexe Multi-Container-Anwendungen direkt aus dem Docker-Client auszurollen.

    Windows Server 2015 soll eine mit Linux ebenbürtige Docker-Unterstützung erhalten.

    Eine weitergehende Integration von Docker in die Microsoft-Plattform erfolgt mit der Implementierung einer Container-Technik und der Docker Engine in Windows Server 2016. Damit lassen sich Anwendungen unter Windows ebenfalls aus dem nativen Client verwalten wie für Linux.

    Es liegt auf der Hand, dass für das Microsoft-Betriebssystem nur Windows-spezifische Anwendungen verpackt und in Containern bereitgestellt werden können, also typischerweise solche, die mit .NET, .ASP oder PowerShell entwickelt wurden. Allerdings schwebt Microsoft vor, dass sich künftig auf diesem Weg auch verteilte Anwendungen bereitstellen lassen, die beispielsweise Web- und Applikations-Server in Containern unter Windows und Datenbanken unter Linux nutzen.

    Aufwertung des Betriebssystems

    Das steigende Interesse an Container-Technik ist durchaus im Sinne von Microsoft, weil es die Rolle des Betriebssystems wieder aufwertet, nachdem es zuletzt mehr und mehr zu einer virtualisierten Laufzeitumgebung für Legacy-Anwendungen wurde.

    Gleichzeitig bietet der Ansatz die Möglichkeit, mehrere Programme relativ gut isoliert voneinander auszuführen, so dass sich damit auch eine höhere Auslastung der Hardware erzielen lässt. Genau das erreichten herkömmliche physikalische Installationen von Windows-Server nicht, weil in der Regel Datenbanken, Exchange, Web-Server oder SharePoint nicht gemeinsam auf einer Maschine platziert werden.

    VMware kündigt ebenfalls Docker-Unterstützung an

    VMware, dessen Virtualisierung von Compute- und Memory-Ressourcen auf einen Hypervisor angewiesen ist, springt ebenfalls auf den Docker-Zug auf. Nachdem das Unternehmen kein eigenes Betriebssystem besitzt, beschränkt es sich auf die Unterstützung von Containern in den Management-Tools. VMware erweitert seit einiger Zeit seine Werkzeuge, die nun unter der neuen Marke vRealize firmieren, für das Management von physikalischen Systemen und Hypervisor anderer Hersteller. Zusätzlich sollen nun auch Container hinzukommen.

    In der Strategie von VMware beeinflussen Container nur einen kleinen Ausschnitt seiner Plattform.

    Insgesamt lässt aber VMware keinen Zweifel daran, dass sowohl Linux- als auch Windows-Container am besten innerhalb einer VM bereitgestellt werden. Zum einen sei der Overhead durch die Virtualisierung sehr gering, zum anderen verfüge die eigene Plattform über zahlreiche Dienste, die Container auf absehbare Zeit nicht bieten könnten.

    Dazu zählen etwa die Mobilität von Anwendungen durch vMotion, Load Balancing, Disaster Recovery oder die Mikro-Segmentierung von Netzwerken durch NSX. Aus der Sicht des Software Defined Datacenter, das VMware als Vision verfolgt, sei es zudem unerheblich, wenn eines Tages Container zu einer ernsthaften Alternative zu VMs würden.

    Keine Kommentare