Even 'cloud-born' applications won't necessarily be running in a Hyper-V container in the cloud, Neil points out. "One of the catalysts for these changes is that we're seeing a new wave of development and we're seeing the shift to cloud-born applications and containers being a key part of that. That's a good opportunity for us to go in and make some plumbing changes, to update how the OS is factored, how it's delivered and how containers work – and provide you with a new mechanism for deployment and control."
That's the style of applications Microsoft is building itself, on Azure, but it's also a trend he sees across the industry. "The technology is something we expect will be used heavily in the public cloud environment, but we're seeing consistently as people are developing apps in the cloud they're taking those same patterns and wanting to deploy them in their own business, in their own data centre."
The emphasis with Hyper-V containers is on being more flexible when it comes to operations, Neil explains. "A lot of the thought behind Hyper-V containers is that frankly there are a lot more ops people in the world than there are developers. When you're in a devops scenario and the developer is actively doing development and upgrading to the latest releases, all that functionality makes sense, but as that application matures it moves into the operations stage with less active development – and we see that in many enterprise customers.
"And then things like OS lifecycle, patching, compliance and other factors come into play, and the ability to manage those things independently becomes more and more important. One of the nice advantages of the Hyper-V containers is that I can manage the OS lifecycle independently, as opposed to the standard container model where you upgrade the OS and all the containers get upgrades, because the same kernel instance is running all the containers.
"In an ops-led environment that may not be desirable – you may have compliance issues where you have to keep a specific OS because it's been validated. Our thinking is to give you flexibility and at the developer level to make it really transparent. Whether you deploy in Windows Server or Hyper-V Container, from the developer perspective it looks identical, but from an ops perspective you get a lot more control and flexibility. With Hyper-V Containers, you can independently upgrade any one of those instances based on your operational needs."
What you can run on Nano Server
Microsoft will be asking customers and developers at the Build and Ignite conferences this year what they want to do with Nano Server and what development tools and languages they want to use with it. "We want to make sure it's a great guest OS to run applications inside," Neil says. "You can imagine running .NET applications; Node.js and other type of development languages and frameworks are going to be important, as well as some of the database workloads. Our goal is to get a lot of things running with Nano Server."
That will mean more applications that you can manage remotely instead of needing to log in to the server to manage them – once an application has that remote management, you can work with it remotely even on a version of Windows Server that does have a GUI.
And if the fully stripped-down Nano Server doesn't do all you need, the combination of DISM image management and the Features on Demand option in Windows Server will let you add more features and specific Windows Server roles, says Neil.
"The interesting thing about the way Nano Server is designed is that you can go back in and add a lot of functionality; you can grow the surface area as a developer or an IT admin and add in the components that are normally removed. You can go all the way back to Server Core – but of course you grow in footprint and in size, so you have to take the impact of doing that."
You'd do that for running older applications, and at this point it sounds as if that would include Microsoft's own server applications like SQL Server and Exchange. But that will likely change for future releases of those tools, according to Mike Neil.
He notes: "The thing we're focused on as we build our applications – we're talking a cloud-first mobile-first view of all that development. You'll see us, as we build the next generation of our applications, using these design patterns and this next generation of tools and techniques in the public cloud – and on-premise as well. You'll see us evolve our applications as they fit into these patterns that we think are the winning patterns."