Wrestling with Microsoft's Nano Server preview
The current technical glimpse is promising, but so painful
Nano Server: the Good Stuff
While the current preview has its frustrations, it is important to get the right perspective on Nano Server. This is a version of Windows Server that starts in under a minute, consumes few resources, and needs less patching than other editions.
Microsoft is aiming for just two reboots per year to keep it fully updated. Nano Server has limited goals though. It is not designed for existing enterprise applications, nor will it currently run Microsoft products such as Exchange, SharePoint, Active Directory or SQL Server. Instead, it has two purposes:
- Be a lightweight host for Hyper-V VMs and containerised applications
- Run applications designed with the constraints of Nano Server in mind
There is no IIS (Microsoft’s web server) on Nano Server, but it will support ASP.NET 5.0, as well as (according to Microsoft) PHP, Nginx, Pytho 3.5, Node.js, Go, MySQL, Java in its OpenJDK guise, Ruby 2.1.5 and the SQLite local database.
Nano Server has low resource requirements
In an eye-catching demo at Ignite, Microsoft showed 1000 Nano Server VMs running on a single Hyper-V host, albeit one with 160 CPU cores and 1TB RAM.
Nano Server will get easier to manage than the current preview, but it is unfamiliar territory for Windows Server admins. Put it in the context of a fully automated system such as System Center or Azure Pack though, and it makes perfect sense.
Configuration will be something you do in code, applied through a DevOps system like Chef, and the kinds of detail which make working with the current preview arduous should no longer apply.
That said, working hands-on with the current build shows that Microsoft has a long way to go before this is release-ready; and it strikes me as careless to release a preview that does not work with the latest preview of Visual Studio.
What is Nano Server? In its role as a Hyper-V host it is a bare-bones hypervisor, which is a good thing.
In its role as an application server, you can think of it as a way to get a high degree of isolation – your app can be the only one on the server – with a much lower cost in terms of operating system overhead.
The trade-off is that a lot of the stuff you expect to find on a server is missing. It makes best sense as a component in an automated system. There is plenty of potential here, but Microsoft’s challenge will be to persuade its ecosystem of developers and admins to change both their code and their approach to fit with what Nano Server offers.®