Balancing Compatibility and Footprint with the Minimal Server Interface

As Andrew mentioned in our previous blog post, we have made a huge investment this release to enable and improve many new and existing scenarios on Server Core.  While Server Core offers a great, minimal footprint system that is capable of running most server roles, we also recognize that many customers need to run software that doesn’t yet support Server Core (whether it’s other Microsoft software or not). That’s why we created the Minimal Server Interface, which is designed to give you just enough of Windows to be able to run most existing software, including GUI management tools, but still leaves uninstalled many features not required on a Server, such as Internet Explorer, Windows Explorer, and the Desktop.

Engineering Goals

Windows applications and server roles have traditionally been built on top of what is known as the Windows Foundation: a monolithic package containing dependencies for all of Windows. Since Windows Server 2008, we have been working to break this package up into smaller, installable features. The diagram below shows how the Windows Foundation is split up in Windows Server 2012:

While the Windows Foundation feature is always installed on “client” editions of Windows 8, it is possible to install only the Server Core feature on Windows Server. This is the recommended and default installation mode for Windows Server 2012. The all-new Minimal Server Interface, which is comprised of the yellow highlighted packages in the diagram above, installs on top of Server Core. It is designed to serve as a compatibility layer for those applications that do not yet work on Server Core.

Why is Minimal Server Interface Important?

Before we explain why the Minimal Server Interface itself is important, we will first explain why Server Core is important. Minimizing the disk space and memory requirements for Windows Server enables users to increase the density of their servers (especially when virtual machines are involved) and scale out their deployments significantly. With Server Core, we not only accomplish considerable space savings (thereby reducing storage costs), but we also minimize the attack surface area (thereby increasing security and reliability). Reducing the overall footprint of Windows also enables us to minimize the servicing footprint. By limiting the number of components that must be patched on a given server, we are able to naturally minimize the number of applicable patches, thereby reducing the frequency of reboots and increasing server availability. Windows Server 2012’s focus on being a great platform for private cloud deployments further underscores the importance of our efforts to enable a minimal system footprint.

As you might imagine, Server Core represents quite a scaled-down version of Windows Server. We eliminated many GUI features, which are some of the most bulky packages in Windows. However, we realized that many users are not yet ready to move to a remotely managed and local command-line-only Windows Server. For this reason, we created the Minimal Server Interface, which is an intermediate state in between Server with a GUI and Server Core. Practically, the Minimal Server Interface contains almost everything that Server with a GUI has, with two notable exceptions. Internet Explorer 10 and the Windows Explorer shell are not installed in the Minimal Server Interface. However, Server Manager, MMC, and a number of graphical management options are available for use. Accordingly, the Minimal Server Interface provides comprehensive local GUI management capability without the attack and servicing footprint of a full “Server with a GUI” installation. 

Configuring Minimal Server Interface

The Minimal Server Interface is designed to be a state in between Server with a GUI and Server Core. As it is intended primarily as a transitional layer, it is not directly exposed in the Windows Server installation options dialog box. You’ll need to install the Minimal Server Interface on top of Server Core, or remove the Server Graphical Shell from a Server with a GUI installation. The Minimal Server Interface works this way because there are three particular Windows features (among others, of course) that can be installed on any server running Windows Server 2012:

  1. Server Core – always installed and enabled; the baseline feature for all Windows Servers
  2. Server Graphical Management Tools & Infrastructure – functionality for Minimal Server Interface
  3. Server Graphical Shell – equivalent to Server with a GUI

In our next blog post, we will describe how to configure the Minimal Server Interface in two ways: one, for administrators who choose to start with the default option of Server Core and want additional GUI functionality, and the other, for administrators who are currently using the Server Graphical Shell and want to reap some of the benefits of a minimal system footprint.

Until next time,

Ben Herila
Program Manager, Windows Server