Jump to content

How Windows Server is changing to better match cloud app development


sincity

Recommended Posts

How Windows Server is changing to better match cloud app development

Introduction and Hyper-V containers

Microsoft has been hard at work with Docker recently, supporting Docker containers on Azure and making the Docker engine run natively on the next version of Windows Server (so developers who are working with the Docker APIs can get all that functionality on Windows Server).

But containers optimised for microservices aren't the only area where Microsoft is building features that help make things more scalable more quickly. The new Nano Server SKU and the new Hyper-V Containers will give you more ways to build apps and services that are designed for the cloud world.

Nano Server is a smaller, faster, more secure option for installing the next Windows Server that won't need as many patches, won't need to be rebooted as often and requires fewer system resources. Nano Server would have had 92% fewer critical patches and 80% fewer reboots than Windows Server in the last year, according to Microsoft. If you put it in a virtual machine the VHD file would be 93% smaller and running 1001 virtual machines on a 160-core 1TB server would need less than 10% of the memory – leaving far more resources for the applications you're running the server for.

Out with the GUI

How did Microsoft make Nano so much smaller and more efficient? By taking things out, starting with the actual windows. It turns out that Windows Server uses a lot of resources just running the graphical user interface, so there's no GUI in Nano – you can't log into it locally and you can't get into it with Remote Desktop. Instead you do all the management remotely, using WMI and PowerShell and Desired State Configuration. Think of it as a smaller, heavily refactored version of Server Core, designed for the cloud.

"As we did the refactoring work in Nano Server, we went back and looked at what caused reboots historically," Mike Neil (the general manager of the enterprise cloud team at Microsoft) told TechRadar Pro. "What are the dependencies? There were pieces of functionality that frankly were not paramount capabilities for a server and lots of the refactoring was driven by how to reduce that.

"The trade-off with that is you want to make sure it can run people's applications and provide functionality in those environments, and also provide the necessary infrastructure to build out cloud-style environments. The key thing for us was to make sure it runs Hyper-V, because we want to be able to use that as the base operating system."

So Nano Server runs Hyper-V, and your applications run on Hyper-V, in virtual machines or in the new Hyper-V containers – and that's all installed and managed and even debugged remotely, Neil emphasised, which again reduces what's in Nano.

"You're going to use Nano Server as the base OS image for containers and workload machines and then Desired State Configuration provides the mechanism for the configuration of those things. We're moving away from the traditional Microsoft Installer approach and moving to using DSC to configure the server and make sure the right binaries are there and your app can run."

The Windows Server team also removed 'legacy' systems – like WOW64 for running 32-bit applications. "32-bit support isn't a primary concern for born-in-the-cloud applications," Neil says, and those are what the server team expects customers to run in Nano Server.

Hyper-V containers: between VMs and Docker

They might be running in the new Hyper-V containers that you can think of as a blend between traditional virtual machines and the higher-level abstractions of Docker containers. "The fundamental technologies are virtual machine technologies. That's an abstraction layer we're all very accustomed to and it's down at the hardware layer, handling disk blocks and network packets and that kind of thing," says Neil.

"Containers at the OS layer make that abstraction further up the stack. Instead of instructing at the disk block level, it's at the file level. Instead of being at the packet level, it's at the network interface. The advantage is that being further up the stack provides the ability to share more resources between containers. The Hyper-V container is a blend [of those].

"We use the hypervisor to provide the isolation mechanism; that's tried and tested, it uses VT, it's based in a hardware root of trust. It's very much a core function of the hypervisor to provide that isolation. We then provide higher level abstraction for network and file systems within that boundary. We blend the two together, so you get some of the benefits of virtual machines, that highly isolated hardware solution. But you also get the higher level abstraction in containers that have more shared resources and less overhead associated with them."

Born in the cloud

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."

Starting nano server

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."

mf.gif


rc.img
rc.img
rc.img

a2.imga2t.imgYufNh8FkfNM
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.