Microsoft Nano Server: Everything you need to know
- select the contributor at the end of the page -
But before we dive in, take note that Nano Server is still in its early stages. While you can download Windows Server Technical Preview 2 and kick the tires a bit, the code is currently unstable and will evolve considerably over the next year or so. OK, now that we've covered that, let's take a look at everything you should know about Nano Server.
A quick summary of Nano Server
These are the fundamentals of Nano Server, in no particular order:
- Nano Server is an installation option in Windows Server 2016; administrators must choose this option at operating system installation
- You can choose to use the full serve GUI with Windows Server 2016, if that's important to you
- Nano Server has absolutely no local GUI and has a disk footprint of between 400 and 500 MB
- You administer Nano Server remotely by using Windows PowerShell remoting, System Center tools, or standard RSAT GUIs
- Your Nano Server workloads (Hyper-V, IIS, failover clustering, scale-out file server, etc.) run as isolated containers that borrow from Docker technology
Now, let's get a little more detailed, beginning with a bird's eye perspective of Nano Server's evolution.
Windows Server 2008 R2
In Windows Server 2008 and Windows Server 2008 R2, Microsoft gave us Server Core as an installation option.
As you may remember, the decision to go with the stripped-down Serve Core versus the Server with a GUI option was a big one. That is, changing the GUI state of your server required OS reinstallation. This was a major reason why not too many Windows Server admins went with Server Core. Server Core also had other problems, like an unclear vision with workloads. For instance, Server Core in Windows Server 2008 RTM didn't support PowerShell remoting, ASP.NET, or other key features that administrators require.
Of course, many Windows administrators wondered why they would want to bother with Server Core in the first place. The fundamental ideas were good. By deploying a bare-bones, "headless" server OS, you accomplish the following goals:
- Reduced attack surface
- Better utilization of disk storage
- Increased performance
Windows Server 2012 R2
You have to hand it to Microsoft -- it truly listens to its customers. Take a look at how Server Core looks in Windows Server 2012 and Windows Server 2012 R2:
This design allows us to use Windows PowerShell cmdlets like Install-WindowsFeature and Remove-WindowsFeature to dynamically flip between the Server with a GUI and Server Core shells. In fact, for many admins, the common workflow looks like this:
- Install the OS by using the full GUI option
- Configure the server fully
- Reduce the GUI to Server Core for ongoing production use
As nice as this is, Microsoft never fully addressed the reboot issue. The bottom line is that many Windows Server operations, from Windows Update fixes to modified server roles, require a reboot. This isn't ideal if, for instance, your shop is subject to service-level agreement (SLA) requirements. What makes the reboot issue worse is how long it takes Windows Server 2012 R2 running Server Core to complete a reboot. How will Nano Server address this problem?
Installing Nano Server
We should see the Windows 10 client OS on July 29, 2015, but Microsoft won't give us Windows Server 2016 until early 2016. What you should know right now is that Nano Server is a 64-bit only, headless installation option that's baked into Windows Server 2016. In one respect, Microsoft is re-using its Windows Server 2008 design pattern. If you start with a Nano Server installation, you'll need to wipe and reload to move to Server Core or the Server with a GUI options.
Check out the figure above -- looks pretty lean, right? Nano Server uses a "zero footprint" model in which all server roles and optional features exist outside of Nano Server (perhaps on a remote file share).
It's important to note that Nano Server, like Windows Server 2008 Server Core, can't run the full .NET Framework. Instead, Microsoft developed a CoreCLR runtime environment that gives you access to most .NET Framework capabilities. Even cooler is that Microsoft open-sourced CoreCLR so we're seeing ports to Linux and OS X platforms. Having CoreCLR in OS X, for instance, means we'll be able to use Windows PowerShell Desired State Configuration to manage Mac servers.
A "headless" server is a server that is managed 100 percent remotely. Rather than considering our servers as pets that require individual attention, Microsoft wants us to treat our servers as cattle, individually numbered but managed as a collection. To that point, Nano Server has literally no capacity for local administration. If you try to interact with a Nano Server locally, you'll see this:
At Pluralsight's Ignite booth, Jeffrey Snover joked with us that the Server team should install ASCII text that shows up in local sessions and says:
You can't do that!
First, please don't freak out; you have time to absorb this new frontier of Windows Server management. Here are three tasks you should start on immediately:
- Get familiar with Windows PowerShell
- Get familiar with the System Center data center management products
- Get familiar with Microsoft Azure
- Get familiar with Nano Server
You can accomplish the first three goals as a Pluralsight member simply by searching our training library. For the fourth element, download the Windows Server 2016 TP2, follow Microsoft's instructions on getting Nano installed, and start playing!