Microservices und Workloads bereitstellen

Container in Windows Server 2016

| Autor / Redakteur: Thomas Joos / Stephan Augsten

Wer Mikrodienste vor allem in Microsoft-Netzwerken zur Verfügung stellt, sollte auf Docker setzen, idealerweise auf Visual Studio Tools für Docker und auf Windows Server-Container.
Wer Mikrodienste vor allem in Microsoft-Netzwerken zur Verfügung stellt, sollte auf Docker setzen, idealerweise auf Visual Studio Tools für Docker und auf Windows Server-Container. (Bild: Erwan Hesry - Unsplash.com / CC0)

Dank Docker lassen sich unter Windows Server 2016 sowohl Server- als auch Hyper-V-Container verwalten. Mehr über die Microsoft-Tools, Schnittstellen und Möglichkeiten der beiden Container-Arten verrät dieser Beitrag.

Container sind vor allem für Cloud-Dienste, Microservices und spezielle Serverrollen in Windows Server 2016 geeignet. Damit ein Dienst oder eine Anwendung im Container funktioniert, müssen Entwickler diese Anwendungen für Container optimieren und auch unter der Container-Technologie testen.

Hier bieten sich zum Beispiel die Visual Studio Tools für Docker an, auf die wir demnächst noch genauer eingehen. Aber unabhängig von Windows Server 2016 spielen Container auch in anderen Betriebssystemen wie Linux eine wichtige Rolle. Auch für die Cloud nutzen viele Unternehmen Container, um Anwendungen zur Verfügung zu stellen.

Windows Server Container und Hyper-V-Container

In Windows Server 2016 tragen Docker-Container die Bezeichnung „Windows Server Container“. Mit Hyper-V abgeschottete Docker-Container werden als „Hyper-V-Container“ bezeichnet. Aus herkömmlichen Server-Containern lassen sich jederzeit Hyper-V-Container machen. Dazu ist nur ein Befehl notwendig. Die Anwendungen müssen dazu nicht angepasst werden.

Hyper-V-Container verfügen im Gegensatz zu Windows-Server-Containern über einen eigenen Teil des Betriebssystems, also Windows Server 2016. Herkömmliche Docker-Container nutzen vollständig die Betriebssystemdateien des Container-Hosts. Natürlich lassen sich auf einem Container-Host herkömmliche Container und Hyper-V-Container parallel betreiben.

Container und Nano-Server mit Windows 10 testen und entwickeln

Um Container zu testen, können Entwickler zum Beispiel mit Windows-10-Arbeitsstationen arbeiten und den Container-Host mit Hyper-V virtualisieren. Container und Nano-Server sind vollständig kompatibel mit Windows 10 ab Version 1607. Das bietet Entwicklern die Möglichkeit, Container-Anwendungen zu programmieren und diese gleich auf der eigenen Arbeitsstation oder einer virtuellen Maschine in Hyper-V zu testen.

Die Visual Docker Tools for Docker bieten zahlreiche Funktionen, um Container allgemein für Docker und speziell für Docker in Windows Server 2016 zu entwickeln. Mit den Tools lassen sich ASP.NET-Core-Anwendungen testen und auch debuggen. Dabei können die Tools auch Container-Umgebungen simulieren. Anwendungen lassen sich entwickeln, ohne dass bei Aktualisierungen der komplette Container neu erstellt werden muss.

Docker bietet zahlreiche Schnittstellen

Docker bietet also weitgehend automatisierte Bereitstellung von Anwendungen, die für Docker-Container entwickelt wurden. Container lassen sich nicht nur lokal auf Basis von Windows Server 2016 und vielen Linux-Distributionen betreiben. Verschiedene Cloud-Dienste wie Microsoft Azure, Amazon Web Services, Google Cloud Platform, IBM Bluemix, OpenStack und viele weitere unterstützen die Technologie ebenfalls.

Apps, die kompatibel mit Containern sind, lassen sich normalerweise auch portabel betreiben. Sobald eine App aber mehrere Mikrodienste benötigt, auf verschiedene Container aufgeteilt ist und eine Anbindung an andere Infrastrukturen im Netzwerk erfolgt, muss das bei der Entwicklung berücksichtigt werden.

Hier spielen Management-Tools und komplexe Entwicklungsplattform eine Rolle, da nicht nur einzelne Container verwaltet werden müssen. Häufig gilt es, eine ganze Sammlung an Containern zu managen, meistens noch verteilt auf verschiedene Container-Hosts in unterschiedlichen Rechenzentren.

Das Open Container Ecosystem alias Docker Ecosystem stellt eine ganze Sammlung verschiedener Werkzeuge und Anleitungen zur Verfügung. Denn bei der Entwicklung von Container-Apps müssen auch die Bereiche Sicherheit, Überwachung, Netzwerk, Orchestration, Verwaltung, das Betriebssystem des Containers und viele weitere Punkte berücksichtigt werden. Interessant sind hier viele Dienste von Docker, unter anderem der Docker Hub. Hier können Entwickler Container-Apps in der Cloud entwickeln, verteilen und zentral verwalten.

Die nächste Generation Container

Container stellen Entwickler also vor neue Herausforderungen, bieten aber deutlich mehr Flexibilität und Möglichkeiten als herkömmliche Server oder virtuelle Maschinen. Die nächste Generation an Container-Technologie geht noch weiter. In der aktuellen Container-Technologie, die auch in Windows Server 2016 integriert ist, werden die Anwendungen als Code direkt mit einem Container verbunden. Dieser wiederum wird – ähnlich zu einem virtuellen Server – auf einem Container-Host betrieben.

Die nächste Generation paketiert Anwendungen ohne Container. Das ermöglicht die Übertragung einer Anwendung auf einen beliebigen Container, der wiederum auf einem beliebigen Container-Host betrieben werden kann. Dadurch erhöht sich die Flexibilität und Verfügbarkeit. Fallen Container aus, kann die Infrastruktur das Anwendungspaket einfach auf einen anderen Container übertragen. Container 2.0 bietet also weitaus mehr Flexibilität in den Anwendungen.

Docker for Windows nicht mit Windows Server Containern verwechseln

Windows Server Container sind die Docker-Implementation von Microsoft, die in Windows Server 2016 integriert ist. Diese baut auf Windows auf, und arbeitet dazu mit dem Windows-Kernel. Docker for Windows ist die Docker-Implementation, die auch für Windows zur Verfügung steht. Mit dieser Technologie lassen sich Docker-Container, auch auf Basis von Linux auf Windows-Rechnern zur Verfügung stellen.

App-Entwickler sollten diese Unterschiede in die Entwicklung der Apps mit einbeziehen. Mit dem Docker-Client, der ebenfalls für Windows und Docker for Windows zur Verfügung steht, lassen sich wiederum beide Technologien verwalten, also Windows Server Container und Container auf Basis von Docker für Windows.

Mikrodienste in der Cloud entwickeln – Azure Service Fabric

Viele Mikrodienste werden vor allem in der Cloud betrieben. Aus diesem Grund stellt Microsoft in Azure Service Fabric auch die Option zur Verfügung, Apps auf Basis von Mikrodiensten bereitzustellen. Diese Mikrodienste können natürlich zusammen mit Docker Workloads zur Verfügung stellen. Dabei spielt es keine Rolle, ob die Docker-Container in der Cloud betrieben werden, oder im lokalen Netzwerk auf Basis von Windows Server 2016, Docker for Windows/Mac oder auf Linux-Servern.

Fazit

Mikrodienste und ganze Workloads lassen sich problemlos mit Containern betreiben. Damit müssen sich Entwickler mit den verschiedenen Container-Technologien auseinandersetzen. Sollen Mikrodienste vor allem in Microsoft-Netzwerken zur Verfügung gestellt werden, bietet es sich an auf Docker zu setzen, idealerweise auf Visual Studio Tools für Docker und auf Windows Server-Container.

Durch die Implementation der Container-Technologie in Windows Server 2016 wird die Technologie sicher auch in den nächsten Jahren weiter expandieren. Auch der Mitbewerb von Microsoft im Bereich der Virtualisierung setzt immer mehr auf die Container-Technologie. VMware vSphere Integrated Container (VIC) ist eine Plattform, die Administratoren das Implementieren und Verwalten von Containern innerhalb von virtuellen Maschinen (VMs) in VMware vSphere ermöglicht.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

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