Due for release in the second half of 2016, Windows Server 2016 is a major reworking of the Windows Server platform, with a refactored core that will scale from the minimalist, microservice- and cloud-focusedNano Serverto the familiar graphical user experience. Windows Server 2016 is perhaps best thought of as Microsoft delivering its Azure cloud platform to on-premises installations. The latest preview, Windows Server 2016 TP4 (Technical Preview 4), adds a range of new Azure-like features, including enhancing the container features introduced inWindows Server 2016 TP3.
Jeffrey Snover, lead architect for the Windows Server division, describes the process thusly: “Taking public cloud patterns and practices and making them available everywhere.” That would certainly explain what Microsoft is delivering with its container solutions in Windows Server 2016. Containers have become a key element in modern build processes, allowing developers and operations teams to deliver consistent encapsulated services that operate in isolated user land, along with supporting elements, where what’s developed is what is delivered and what is operated.
The debut of Docker-based containers in TP3 offered a glimpse at how Microsoft is approaching server-based application isolation. TP4 fills in many of the gaps in Windows Server 2016’s container support, though it still maintains the separation between PowerShell- and Docker-managed containers. It also adds support for the promised Hyper-V containers, which use a minimal virtual machine host to increase process isolation by running containers inside the Hyper-V hypervisor.
Marrying VMs and containers
It’s important to understand the differences between Hyper-V virtual machines and Hyper-V containers. Hyper-V virtual machines remain the foundation of a private cloud infrastructure as a service, while Hyper-V containers introduce a new virtualization option. Hyper-V containers achieve a greater degree of isolation than Docker or Windows Server containers through the use of hardware virtualization. Think of them as highly isolated containers or lightweight virtual machines. You can’t manage a Hyper-V container from the Hyper-V management tooling in Windows Server 2016. Instead you’ll use the PowerShell and Docker tooling introduced in the previous technical preview.
Getting started with containers in Windows Server 2016 TP4 is a lot easier than in the previous release. A single PowerShell cmdlet enables container support in all versions of the server, from the full graphical shell to Nano Server. With Microsoft suggesting that Windows Server 2016 virtual infrastructures should be based on its UI-less Server Core options, it’s not surprising that much of the container management tooling is based on PowerShell, as PowerShell offers both local and remote management options. With SSL support due in a future technical preview, PowerShell will also support encrypted management connections.