Back in April, Microsoft somewhat quietly previewed what its Windows Server engineering teams had been working on for quite some time. While it would be easy to write it off as just another iteration in a long line of never-ending releases, Windows Nano Server has the potential to reinvent your data center.
What is Windows Nano Server?
Windows Nano Server is a project that was previously codenamed Tuva (although kudos to Microsoft for breaking the trend of having very cool codenames that turn into incredibly drab actual released product names) and is designed to be Windows without the GUI or legacy baggage. It's different than Server Core, the GUI-less installation option introduced in Windows Server 2008, because Windows Nano Server strips out basically every part of Windows that is designed to ever service the GUI or a GUI oriented application.
Server Core merely takes off the GUI but leaves a lot of the underlying Win32 API surface area and structure so that when you put the GUI back on via a checkbox at least in Windows Server 2012 and later you don't have to reinstall all of the plumbing that goes along with it. Windows Nano Server rids itself of all 32-bit application support, support for Microsoft Installer (MSI) applications and a lot more historical baggage that causes a lot more problems than it solves for machines running in the cloud.
Windows Nano Server is headless and sessionless. As mentioned, there is no GUI. But there's also no local login, so there's no point in attaching a keyboard or mouse or running this in any kind of Remote Desktop-oriented session. Consider it like a Linux box in the cloud that you don't have SSH access to you use it remotely, you manage it remotely, and all it does is run services and applications like an appliance would. It's incredibly compact and has a very small surface area just as much as is needed to fulfill its role as a specialty purpose server operating system.
The entire point of Windows Nano Server is that it should run applications designed for it headless applications that provide their management tools for remote use, and that service end user requests over the wire without the need to populate a lot of user session interaction. These applications which can be built for Nano Server and run inside containers can be run via a variety of supported runtimes, including C#, Java, Node.js and Python for responsive, high quality Web applications.
Windows Nano Server can also be used to run infrastructure services like a scale-out file server, DNS, DHCP, Hyper-V within a limited deployment scenario, Hyper-V failover clusters and others. There will be limited support for standard Windows APIs; basically the APIs that will work are the ones that don't require user interaction or involve GUIs or 32-bit application support.
How much of an impact does stripping out all of that GUI application support framework make? A lot. There is a lot of cruft in the general purpose Windows Server release even though in general the Server releases are very high quality that simply does not exist within the Windows Nano Server environment. Here are some statistics to really drive this point home:
- Microsoft expects that Windows Nano Server will have a 93 percent smaller installed footprint on a virtual machine than Windows Server Core, which was already meaningfully smaller than a full fat deployment of Windows.
- The company expects that Windows Nano Server will have 92 percent fewer security bulletins and related patches deemed critical, which is the highest severity rating of all. Less attack surface and less code running equals less places for code to be exploited, and that translates into fewer bulletins and fewer patches required.
- Windows Nano Server should feature 80 percent fewer reboots required for installations and updates, since a lot of the old Win32 code got initialized at startup and boot time. The newer core operating system code can be patched on the fly with zero downtime. This makes Windows Nano Server well suited for mission critical applications.
- Windows Nano Server works within itself, so a Windows Nano Server host runs Hyper-V and within it can host Nano Server laden virtual machines. A single Windows Nano Server Hyper-V host can run up to 1,000 Windows Nano Server guest virtual machines with just one terabyte of RAM, a scale that is incomparable with today's Windows Server just try stuffing a thousand VMs onto one host and see how far you get.
- Windows Nano Server will be managed entirely remotely using a combination of the time-tested Windows Management Instrumentation (WMI) and PowerShell, both of which are well supported by lots of management tools and third party system administration software. There will also be a new web management tool for Windows Nano Server.
Why is Windows Nano Server important?
For now, Windows Nano Server is designed to work in the cloud. But it's to envision a deployment of a variety of Nano Server virtual machines running custom applications within containers like Docker that just get moved over the wire nearly instantaneously between Azure regions and your corporate datacenter. Especially since the footprint of these virtual machines from a storage perspective is almost a tenth of what it's in big Windows Server images today.
Your developers and operations team can work even more closely together and use container technology to package applications and well configured versions of Nano Server together so that your applications just work, i.e., the whole platform works as one. For web applications and hardened infrastructure roles that could be served with the likes of an appliance, Windows Nano Server could be an intriguing choice come next year when it's expected to be released alongside Windows Server 2016.
But perhaps more interestingly, and certainly from a longer-term perspective, Windows Nano Server represents the future of Windows: a future where there is clean break from the necessities to support past applications and legacy code, a future where Windows can work remotely in a very lightweight, scalable, supportable way.
While Windows Nano Server is not intended to replace Windows Server 2012 R2 or Windows Server 2016 in any way, it's easy to see how there would be much less of a need for a general purpose server release in the near future, especially as legacy code gets aged out of production and use cycles and more and more workloads move to the cloud. We could see a completely different world where Windows Server gets more like Windows 10: No major revisions or major n+1 style versions, but just solid updates coming fairly regularly out of Redmond that add functionality or remove old features that have been deprecated and replaced.
While Windows Nano Server is definitely a specialty move for now, it's not hard to see how it will become the preferred operating system as time marches on, with the whole Windows Server operating system becoming an "if you must" type of option.