Nano Server: the small OS from Microsoft to the cloud

Microsoft showed Build 2015 some details of the new ” small ” operating system for cloud infrastructures. Manageable only remotely and with a set of essential functionality and driver, it is the first step towards a modular operating system.

On the occasion of Build 2015, Microsoft has offered some information on Nano Server, version ” microscopic ” Windows Server designed for fittings cloud. As deepens the website The Register, the Redmond company considers Nano Server ” the most important and the most significant change made in the server since Windows NT. ” One of the distinctive features of Nano Server is the small footprint, just as Linux distributions designed for the cloud (CoreOS, Red Hat Atomic Host and ” SnappyUbuntu Core). Microsoft wants to offer a platform so that it is fully compatible with Windows Server, but it does not include anything except the essential components for operation.

Anyway, Nano Server is not a side project than Windows Server, but a real project for the restructuring of the code that could also lead to a change in the way that will be developed and distributed to future versions of Windows Server. The first version of the product will be focused on two scenarios: cloud infrastructure and applications ” born-in-the-cloud “. Nano Server could become the common foundation for Windows Server and all the more complex components built on it.

The Redmond company emphasizes that the desire has been to create a model of the operating system essential, that is who went to meet the specific needs of the user without making available components superfluous, or a feature that current versions of Windows Server offer. The footprint of Windows Server has grown significantly with the recent release, with virtual disk images that arrive on average to 6.3 GB. Nano Server instead has a footprint of 400 MB, by providing the minimum required components for the operation of a server in the cloud. In case of further necessity, it is sufficient to install the additional features in a similar way as today you install programs.

The first operation conducted by Microsoft for the slimming of the operating system was the elimination of the layer of the graphical interface. Nano Server does not support any local access whatsoever: all the management is done remotely via a combination of the Windows Management Instrumentation and the new Core PowerShell. This important change, in addition to cut off a large ” fat mass ” of the operating system, is a way to accompany systems administrators in the modern datacenter where infrastructure management through GUI tools on the local server is a thing of the past. In other words, Microsoft wants to eliminate the concept that the management of a server being physically take place in front of it.

This concept is further reiterated by some changes in nomenclature that the Windows Server team has conducted over the years: the version ” Full Server ” Windows Server has changed its name in recent years in ” Server with GUI ” and in the future will change the name in ” Client ” because, as Microsoft points out, ” is a stack client that runs on a server. ” There are use cases where it is still useful to draw a stack client on a server, but beyond these exceptions, there is no reason why the server software must have access to API GUI client.

Obviously, it is important to consider that not all software for Windows Server was written following this philosophy. As of now, the developers who make software for Windows servers should consider Nano Server as their main objective. In case you need more functionality than available from Nano Server, you can always turn to the options Server Core and Windows Server. But developers should try to avoid dependencies on APIs that do not really need.

Microsoft points out that Nano Server is not a new operating system, but it’s still Windows Server, although with a subset of all the Win32 API. This means that some of the existing software will not be able to operate on Nano Server without prior modification. There is a small feature called Reverse Forwarders avoiding the crash of a program when it makes a call to an API missing. This does not mean that developers will not have to modify the code of existing programs: Reverse Forwarders is only one way to facilitate the transition to Nano Server which is still only a 64-bit, which means that the code to 32-bit will not operate. Chef, Go, Java, MySQL, Nginz, Node.js, OpenSSL, PHP, Python 3.5, Redis, Ruby 2.1.5 and SQL Lite are among the packages that are already able to work on Nano Server.

If the developers will have to change the approach in writing code in mind Nano Server, administrators also have to get used to a different way to install, configure and manage the operating system. The first disorientation may fear already activated because although Nano Server is technically an installation of Windows Server, it will not be shown as an option in the setup screen. Nano Server is in a separate folder on the installation media and then will be installed directly. The reason is that a second mode to reduce the size of Nano Server has been to include a small number of drivers: all those necessary for the operation of some device may be manually installed depending on the necessity, since Nano Server is compatible with all devices supported by Windows Server today.

Even the installation of software is, at least at present, quite rudimentary and involves simply copying the necessary files on the system. The traditional process of installing Windows MSI is not available on Nano Server since it is characterized by numerous dependencies from the GUI. Microsoft is still making a Nano Installer that will handle many of the tasks of the traditional installer, including uninstallation, registration and de-registration of COM objects, creating and deleting registry keys and so on. In any case, Microsoft wants, with Nano Server, make a clear distinction between installation and configuration tasks: the Nano Installer will be responsible for transferring the software to your system Nano Server, while the configuration is the next step that can be conducted with other instruments such as State Desired Configuration PowerShell.

Nano Server is the first step toward an assembling and modular operating system where you can take only the components actually needed. It will operate in any environment and although the first iteration will focus on infrastructure and cloud scenarios of cloud applications, Microsoft’s plans are to explore new roles with the project progresses. The first Technical Preview of Nano Server should be available later this month of May, while the final version will be available later in 2016 since the development of Nano Server is conducted in parallel with that of the next version of Windows Server that should debut on next year.