Docker comes to Windows Server
Container support in Windows Server is the far-reaching new feature in Windows Server 2016. Two years in the making, it required new primitives in the Windows kernel, according to Azure CTO Mark Russinovich. Microsoft has also contributed to the Docker engine, for container management, so that this runs on Windows.
Windows containers come in two flavours. Server containers are lightweight and do not consume a Windows license. Hyper-V containers are strongly isolated using virtualisation, have their own copy of the Windows kernel, and do consume a license when run on Standard edition. They are managed in the same way though. You pull down a container image from a repository (public or private), modify it as needed, and deploy it. Containers share operating system resources but for the application behave like a dedicated instance of the operating system.
A Docker container running on Windows Server 2016
For this review, I got up and running with a Docker container on Server 2016, though even the release version of Server 2016 required patching before it would work. It was still evident that this is a fantastic way to deploy an application, or an application split into microservices, since it is lightweight, amenable to automation, and lets you create exactly the right environment.
Using Nano Server as the base image is ideal for containers since it further reduces the OS overhead. You could go further and argue that only Nano Server is suitable as the base image for a Windows Server container; containers built on Server Core tend to be much larger. The introduction of Nano Server was a necessity, not just a bright idea.
The downside is that Nano Server is only a subset of Windows; it runs IIS but not the full .NET Framework, only the cross-platform version called .NET Core. Not many applications are currently compatible with Nano Server.
Docker images based on Nano Server can be small
Docker on Windows is in its infancy and it will take time for Windows admins and developers to adjust. The situation today is confusing since Docker is well established on Linux and almost all the documentation and examples refer to Linux. Microsoft also needs to extend tools like Visual Studio with Docker deployment options.
The technology is compelling though, as well as being one feature of Windows Server that is useful on any scale of installation.
Setup and editions
The default Windows Server 2016 setup is without a GUI
How many editions of Windows Server 2016 are there? It is difficult to give a straight answer. First, there is Standard and Datacenter, differentiated mainly by licensing. Standard includes licenses for just two VMs or Hyper-V Containers running Windows Server, whereas Datacenter is licensed for unlimited VMs. In addition, Datacenter is required for a few new features, including Storage Spaces Direct, Storage Replica, Shielded Virtual Machines, and advanced networking. Standard starts at $882 for a 16-core license (the minimum), whereas Datacenter starts at $6,155.
Nano Server is also an edition of Windows Server, but you do not buy it directly. It is licensed as a feature of Windows Server for which you need Software Assurance, not just a basic license. Microsoft says this is because Nano Server is only available under the Current Branch for Business servicing model, which means continual updates.
There is also Windows Hyper-V Server, which is a free version licensed only for use as a Hyper-V host, and Windows Server Essentials, for small businesses with up to 25 users and 50 devices, for which no CALs (Client Access Licenses) are required. Essentials costs $501, though cheaper OEM deals may be available. The OEM-only Windows Server Foundation has been discontinued.
There are a couple of other specialist editions, Windows Storage Server which you can only get bundled with a storage appliance, and Multipoint Premium Server, mainly designed for remote desktops in education.
Both Standard and Datacenter install by default without a GUI, the installation option called Server Core.
Microsoft's biggest release yet?
At a pre-launch press briefing, Snover assured the assembled journos that Server 2016 is Microsoft's biggest release yet. Whether or not that is true depends how closely your needs match with those which Microsoft is addressing. The security enhancements are valuable, but arduous to configure, which means only large organisations are likely to benefit. In a data centre context, there is a lot to like, including Storage Spaces Direct, improved software-defined networking, and most significantly, container support and Hyper-V enhancements. Smaller businesses will not find much that applies to them, other than the fact that container support really is a big deal, and "just deploy this container" will an attractive option for many kinds of application deployment, once the ecosystem around it matures. ®