Introduction and a better server OS
If you're looking at the way Windows Server 2016 focuses on containers and Docker and worrying that it's going to be better designed for running Azure than for the servers in your office or the virtual machines you use on AWS, lead architect for Windows Server Jeffrey Snover suggests thinking about it the other way round.
"We're starting from the premise that the cloud is not a place; it's a model. We want to be able to provide that model to customers anywhere they are. We want to be able to provide it in the public cloud, through trusted hosters or allow them to run that model on premises." That way, says Snover, you don't have to worry about getting stuck with the first cloud you choose.
Drop the drama
But it also brings the strengths of the cloud to systems that you run yourself. "We're taking the public cloud patterns and practices and making them available everywhere, and the first one is 'no drama'," he explains. "I can promise you it is not the case that when something goes wrong in Azure that someone is running around going 'oh no, a disk died!' We have a pattern to eliminate the drama from operations."
The first part of that is making Windows Server a better server OS. "That's things like Nano Server, containers, Desired State Configuration, package management and a new installer – Windows Server Installer. We made it a nice, small, agile, manageable OS that fits well into a devops environment. You can create a great cloud app running in Azure or AWS or anywhere you want."
The second part is using Windows Server to run the fabric of your data centre, by improving how it handles storage, networking and compute. "In compute we have Nano Server and containers, and there are improvements in both of those in TP4 [Technical Preview 4 of Windows Server]. With the new Hyper-V containers, each container gets its own implementation of the kernel and that gives you significantly more isolation."
That's key if you're running a cloud service like Azure and you let people run their own code. "Windows Server containers work great in a trusted multi-tenancy environment. Hyper-V containers are for when you have a hostile multi-tenancy environment. The customer could be Dr Evil and sends us evil code," Snover points out.
But it's also useful as developers increasingly use software components and libraries to build their apps. "A lot of what's done today is combining software components that people don't really know, that they didn't write. The flow of security fixes through the open source community is not particularly good and the ramification is that your applications are based on components that you might not trust, so you might want to put those in Hyper-V containers as well."
Nano Server is much easier to work with in this preview, with more PowerShell commands, the Remote Server Management Toolkit that replaces tools like Server Manager, and support for Desired State Configuration and PowerShell package management. "TP3 gave people a feel for Nano Server, but it had quite a few rough edges – you're seeing those rough edges being rounded off in TP4."
For storage and networking, Windows Server uses designs from Azure. "Across the entire storage stack we've made great advances – parallel deduplication, diagnostics, quality of storage – but the big news is Storage Spaces Direct. This uses fast NVMe and SATA SSDs to dramatically lower the cost while increasing the reliability and the performance." That uses the design from Azure Storage, but Snover explains "we had to re-implement portions of it so it will work on the smaller footprints that customers will want."
"In the networking stack, we literally took code running in Azure and that's the code we're shipping to our customers, so this will be unlike any version one ever. In the past, when we had version one of something we would do a lot of testing on it with customers to make sure it was really rock solid. This time our version one is going to have literally millions or perhaps even tens of millions of hours of production use on it and that's the code we're delivering to customers."
But Microsoft doesn't assume everyone wants to use or build clouds – the idea is to give you access to the innovations happening in the cloud, on your own systems.
"As much as we support microservices and containers, there is a lot of investment for the existing world," he points out. That includes rolling cluster upgrades, clusters that work with certificates instead of needing to be joined to Active Directory (ideal for appliances), nested virtualisation, faster booting virtual machines, saving checkpoints on production systems and being able to back up and live migrate even shared virtual hard drives.
Nested virtualisation was needed to make Hyper-V containers work, but it's useful for anyone who builds and tests virtual machines too, because you can run Hyper-V inside a VM. "In the past when Hyper-V only ran on psychical hardware it raised the cost of experimenting," Snover points out, "now we've dramatically lowered the cost of that."
Windows Server 2016 will have better performance too. He cautions that "we've really just begun to scratch the surface on our performance work – we get the architecture right and the feature set right and then we start working on performance," but even so, he says it already has "fantastic boot times".
"This is one of the most dramatic architectural changes we've made to Windows Server in quite a long time," claims Snover. "We're laying down the architectural foundations to be able to move at a cloud pace. The change to the architecture in the guest OS, means people can innovate very rapidly with server applications by having the smallest components possible with Nano Server.
"You're going to see lots of innovation – service fabric, containers, all that stuff – that you can download with package management, configure with things like Desired State Configuration, and then test with things like Pester. That architectural foundation that we've built with the OS allows customers to adopt innovation above that very quickly.
"At the fabric level we're fully on the software-defined everything stage and as Azure innovates so too we'll take those innovations and bring them to our customers and our hosters. It's going to move fast, but I think it's going to move fast in a way that has dramatically less drama."
That doesn't mean a new version of Windows Server more often – it means Windows Server 2016 makes it easier to pick up the cloud way of functioning so you can change the way your server apps work as quickly as you want, even if you're not using the cloud.
Snover notes: "We innovate in the public cloud and we find out what really works, what brings you the benefit, and we make it available to our customers' data centres."