While Windows 10 (opens in new tab) is something of a retreat on Microsoft's part, back to the familiar desktop and Start menu, Windows Server 2016 (opens in new tab) is a much bolder move. Although you'll be able to treat it as just another version of Windows Server if you want – with a range of improvements in security, virtualisation, networking and storage, suitable for sharing files and running applications like Exchange and SQL Server for businesses small and large – it's also designed to be a very different platform for a new style of applications.
As well as the traditional n-tier client-server architecture and the familiar approach of virtual machines, Windows Server 2016 will also support applications built using microservices and containers.
Containers and microservices
That's where Nano Server and Docker (opens in new tab) support come in. Nano Server is a new deployment option for Windows Server 2016 that has a much smaller footprint, a subset of the Windows Server APIs – and consequently needs far fewer patches and reboots. Nano Server has no local GUI at all, doesn't support MSI for installing graphical server applications, and the recommended way for working with it is remotely, using PowerShell scripts or the web-based graphical tools Microsoft is building in the Azure portal (like a web version of Task Manager), or with tools like Chef.
Nano Server (opens in new tab) supports Hyper-V and ASP.NET and it's also going to be useful for clustered storage, but mostly it's designed to work with containers, and Windows Server 2016 has multiple types of those. The first is a Windows Server container – that's the Windows Server equivalent of a Linux container and it's something you can manage with the Docker management engine that's built into Windows Server 2016, or with Microsoft's own container management APIs. Microsoft is already supporting Kubernetes and Mesopshere for orchestrating containers on Azure and it's likely those will be supported on Windows Server as well.
Then there's a Hyper-V container – that has more security and isolation, and Azure will use them for running the multitenant services that execute code customers have uploaded. It also gives you more flexibility because you don't have to have the same kernel running in the container as in the underlying server; with Hyper-V container you can update the server but the container will keep the version you've tested with your code.
Virtual machines don't go away – and Hyper-V is getting some key improvements, from being able to hot-add memory and virtual network adapters, through better security for Linux VMs, to much improved backup, and being able to nest Hyper-V VMs inside each other – but VMs solve a different problem from containers. A virtual machine is a virtual version of a whole server; a container is a way of abstracting an application (and in the microservices world, you'll end up with multiple containers working together).
The software-defined data centre
If you think that sounds more like the cloud than a server in the office, you're right – the technologies coming in Windows Server 2016 are the ones that Microsoft has been building and refining for Azure, like containers and large-scale software-defined networking and storage. Those are features for the 'software-defined data centre' that larger businesses are moving towards, either for private and hybrid cloud or for ubiquitous virtualisation.
The idea is to introduce a new software-defined control plane for the data centre that lets you get sophisticated network and storage features with commodity hardware. That includes software-defined networking features that come directly from Azure, like a programmable network controller and load balancer.
The most widely applicable feature may be the new rolling cluster upgrades that let you upgrade all the servers in a Hyper-V or Scale-Out File Server cluster without any downtime – each VM gets automatically shut down, upgraded and restarted in turn. You can also take your time about upgrading, running as a mixed-mode cluster until you're ready to move everything to the new OS.
The new version of Storage Spaces, Storage Spaces Direct, means you can use JBOD for cluster storage rather than more expensive storage. If you run multiple virtualised workloads, the new Storage QoS promises much better resource sharing – this is based on work by Microsoft Research and lets you set policies that guarantee minimum and maximum IOPS. The new network controller takes care of allocating resources dynamically, to make sure the different VMs share resources fairly.
Some of these features will doubtless be specifically in Windows Server Data Centre rather than the standard version – for example, Storage Replica, which gives you block-level synchronous replication over SMB 3 between servers for disaster recovery and high availability. You could use that for a stretch cluster, or replicate directly between storage volumes. Again, this is the kind of high-end storage functionality you've had to buy expensive hardware like SANs to get, that will work in Windows Server 2016 with much cheaper commodity hardware.
Still a server
On the other hand, if you want to keep using Windows Server the way you already have, you'll be able to do that with Windows Server 2016, with just a little more work. You won't find yourself installing Nano Server by accident because you'll have to deliberately build an image to get that. Instead the default is to install Server Core, again without a GUI – not even Server Manager. To get that you have to specify that you want local admin tools, and if you want the desktop you have to install that specifically as well.
The shift away from giving you a graphical interface on the server itself is deliberate. Mostly it's because of the overhead of the components you need to run the GUI – taking that out is a large part of why Nano Server is so much smaller. But it's also part of the move to automation and remote administration, which is essential for cloud because you can't run around all your different servers to administer them. Microsoft is also pushing developers of server apps to make sure you can administer them remotely, instead of having to set them up and maintain them from a graphical interface you can only see when you're in front of the server or using Remote Desktop.
What we're used to calling Full Server is still in Windows Server 2016, but it's getting a new name that doesn't suggest it's the best and most powerful way to run a server; that will probably be something like Server with a client experience. The client name is to emphasise that this is for things like Remote Desktop Services, Server Essentials or MultiPoint Server – which is one of the new roles in Windows Server, for running ultra-thin clients, for education or retail.
Remote Desktop also gets some major improvements to RemoteFX graphics. The way the server GPU is virtualised means remote users will get a virtual GPU that's powerful enough to play games – or do hardware acceleration in programs like Google Earth and Photoshop.
New features for DNS management, improved IP address management, options for limiting how long admins can get elevated rights for, and even built-in Windows Defender mean there will be plenty of reasons to upgrade.
But Windows 2016 also marks a clear change in Microsoft's server strategy, with cloud and hybrid playing an ever-greater part. Particularly for larger businesses, this is the time to think about shifting away from graphical interfaces on servers and considering the advantages of containers and cloud-style management.