Windows Server Container
Microsoft Windows Container, auch bekannt als Windows Server Container, basieren auf dem Prinzip der Container-Virtualisierung und sind daher isolierte Betriebssystemumgebungen in Windows Server 2016, die Dienste oder Anwendungen auf demselben Container-Host voneinander isolieren.
Populär geworden ist die Container-Virtualisierung mit dem Aufkommen von Docker, im Zuge dessen haben viele Unternehmen eigene Container-Plattformen entworfen, beispielsweise Red Hat mit RHEL Atomic Host oder auch VMware mit vSphere Integrated Containers (VIC). Microsoft zog mit Windows Server 2016 nach und integriert damit die Container-Virtualisierung in die Windows-Plattform.
Ein Container-Host kann einen oder mehrere Windows Server Container beherbergen. Mit einer Technik namens Namespace-Isolierung versorgt der Host jeden Container mit einem virtualisierten Namensraum, der dem Container genau die Ressourcen zugänglich macht, die für ihn vorgesehen sind. Diese eingeschränkte Sicht hindert Container am Zugriff oder an der Interaktion mit Ressourcen, die sich nicht in seinem virtualisierten Namensraum befinden und lässt den Container glauben, dass er die einzige laufende Anwendung auf dem System sei.
Der Host steuert außerdem, welcher Anteil seiner Ressourcen von einzelnen Containern genutzt werden kann. Der Container-Host kann die Nutzung der CPU auf einen bestimmten Prozentsatz begrenzen, den Anwendungen nicht überschreiten können, und die verbleibenden Prozente an andere Container oder an sich selbst verteilen.
Container werden aus unveränderbaren Images bereitgestellt. Wenn ein Container-Image erstellt wird, so kann dieses entweder in einem lokalen, öffentlichen oder einem privaten Repository gespeichert werden. Container können zur Bereitstellung komplexer Multi-Tier-Applikationen miteinander verbunden werden, um als Microservices-Architektur eine besser skalierbarere Anwendungsplattform zu bieten.
Anders als Docker-Container können Windows Container mit bestehenden Windows-Technologien wie .NET und ASP.NET integriert werden. Sie können mit zudem per PowerShell oder Docker erstellt und verwaltet werden, jedoch können mit dem einen Tool erstellte Windows Container nicht mit dem jeweils anderen Tool verwaltet werden. Alternativ können Windows Container auch in Microsoft Azure erstellt und verwaltet werden.
Neben Windows Server Container enthält Windows Server 2016 aber auch Hyper-V-Container, bei denen die Isolation von Container-Host und Containern untereinander durch Microsofts Virtualisierungslösung Hyper-V zusätzlich erhöht wird. Bei Windows Server Containern teilen sich alle Container und der Host den gleichen Betriebssystem-Kernel. Durch die zusätzliche Virtualisierungsschicht von Hyper-V-Containern haben hier die Container keinen Zugriff auf den Kernel des Container-Hosts.
Zusammen mit Windows Server Container und Hyper-V-Container wurde die neue Nano-Server-Bereitstellung in Windows Server 2016 integriert, eine leichtgewichtige Windows-Server-Version, die noch weniger Ressourcen benötigt als Windows Server Core und für den Einsatz als Container-Host optimiert wurde.