Thoughts on Windows Nano Server
Following last month’s leak, yesterday Microsoft officially announced Nano Server, a new server option planned for Windows Server vNext that will install a deeply refactored headless version of Windows Server designed to support container-based cloud applications and micro services. For more information on the announcement and the Nano Server basics, take a look at Aidan Finn’s article Microsoft Announces Nano Server on the Petri IT Knowledgebase.
Many organizations are adopting DevOps, where system operations and development are tightly integrated into a workflow known as continuous deployment. This allows businesses to be more competitive by utilizing agile technologies, think container-based cloud apps and Docker, so they can stay ahead of the game and be the first to offer new products and features, while at the same time maximizing investment in the cloud by increasing app density and improving security.
Don’t Blink, Otherwise You’ll Miss It
DevOps environments tend to utilize NIX-based OSes because of their modular design, low footprint and support for Docker. Windows wasn’t designed as a modular OS, but Microsoft has been working hard to change that. First in Server Core, and now Nano; a completely Window-less version of Windows Server that requires remote installation, with the help of the Windows Preinstallation Environment (WinPE) on bare-metal hardware, and management using PowerShell and WMI, or newly designed web-based administration tools.
To give you an idea of how quickly Nano can be installed and booted to a working state, it takes just three minutes to load WinPE on bare-metal hardware, download the Nano Server image from the local network and boot to a working server, compared to 19 minutes for Windows Server Core. Naturally, Nano also sports considerably improved reboot times and fewer reboots due to the stripped-down codebase.
Container solutions, such as Docker, allow developers to deploy apps to servers in a matter of seconds, so businesses can move at a much faster pace than in the past, and the cloud used as a platform for innovation to develop more exciting products. But the cloud and containers also need to offer a level of security that we’ve become accustomed with on premise servers.
While Windows containers in Windows Server vNext will offer a certain amount of protection, Hyper-V containers offer complete isolation, similar to what is only possible today with a dedicated physical or virtual server instance. Developers will be able to deploy to both Windows Server and Hyper-V containers without making any changes to their code and using the same management tools.
A Change for System Administrators
PowerShell is key to Nano, and improvements to Desired State Configuration (DSC), remote file transfer, remote script authoring and debugging. But importantly Nano will support Chef, a commonly used server management tool in DevOps environments, along with Microsoft Visual Studio and System Center.
The role of the sysadmin is changing, with speed and scale at the heart of the DevOps workflow paradigm, and that requires Windows administrators to adopt new ways of working as Windows mutates to become a different beast, designed not only to run full GUI applications, but also compete with Linux in the datacenter; and in that world, there’s no place for servers bogged down by unnecessary code and tools.