This content is part of the Essential Guide: A guide to Microsoft Windows Server 2016

Essential Guide

Browse Sections

Microsoft Nano Server: Small footprint adds savings, security

Organizations that reduce their server footprint can reduce costs and improve performance by running only the most necessary resources.

In anticipation of the upcoming Windows Server 2016 release, Microsoft has been educating customers on the virtues of Nano Server. Microsoft Nano Server is a new type of Windows Server deployment that will allow IT pros to create tiny, single purpose, Windows Server deployments. Regardless of whether your organization intends to use Nano Server, Server Core, a Windows Server deployment with a full GUI, or some combination of the three, it is still possible to take a cue from Nano Server. The goal of Microsoft Nano Server is to minimize the operating system footprint. However, minimizing your server footprint is a good idea, even if you do not plan to use Microsoft Nano Server.

Less code means less risk

So why should IT professionals reduce the Windows Server deployment size? One commonly cited reason is it improves security by shrinking the server's attack surface. There is an old rule of computing that states as the code base grows, so does the chance of adding a security vulnerability. In short, increasing the amount of code running on a server gives the bad guys more to work with. It is theoretically easier for a hacker to compromise a server running a large, complex set of code than a server running an extremely minimal code base. The more complex system contains more potential points of entry for the hacker.

Fewer running resources can boost speed

Another reason organizations should reduce the server footprint is to reduce costs while also improving performance. Reducing the server's footprint means eliminating anything that isn't necessary. This might mean shutting down unneeded OS services, disabling unwanted OS components or even uninstalling management tools -- assuming those tools can be run elsewhere. These and other actions generally cause the server to consume less memory and CPU time. The server may also consume less storage space, and might even generate fewer requests for storage IOPS. As a result, the server's performance may increase because the available hardware resources are not being wasted by running unnecessary code.

In virtualized environments, this more efficient use of hardware resources translates directly into cost savings. Reducing a virtual machine's (VM) resource consumption increases a host server's potential VM density.

A smaller Windows Server deployment can reduce issues

Reducing the server's footprint means eliminating anything that isn't necessary.

Another benefit to reducing the size of a Windows Server deployment is that doing so may allow you to compartmentalize functionality, which provides a number of different benefits of its own. The goal behind compartmentalizing server functionality is to make it so each of your servers performs one very specific task. This means running a single application on each server, and separating out dependencies wherever possible. System Center Virtual Machine Manager, for instance, has a dependency on SQL Server. In smaller organizations, it is possible to run SQL Server and VMM on the same server. Compartmentalizing the application however, would mean running SQL Server on one VM and VMM on another.

Compartmentalizing workloads in this way may increase the number of VMs that exist within an organization. Even so, there are advantages to using single purpose VMs.

Because each VM performs a very specific function, it becomes easier to troubleshoot problems. Not only should it be relatively easy to figure out which VM is causing a particular issue, but running a single application or a single module on each VM eliminates any possibility that two applications are conflicting with one another inside of the VM.

You may also find that running one specific workload on each VM improves the overall availability. A single purpose VM that is running a minimal code base is going to theoretically require fewer patches than a server that is running multiple applications. This should translate directly into fewer required reboots.

Running one workload per VM can make it easier to perform future upgrades. It is much easier to predict the outcome of an upgrade to a server that is running a single, well-defined workload than to anticipate what might happen if you attempt to upgrade a server that is running multiple workloads. Even if your organization is already running one workload per VM, minimizing a VM's footprint by disabling or uninstalling unnecessary components will help to ensure the success of future upgrades, because there will be fewer potential points of failure.

Next Steps

The advantages of Nano Server

How to install Nano Server in Windows Server 2016

The most anticipated Windows Server 2016 features

Dig Deeper on Windows Server deployment