As organizations prepare to deploy new servers or make the switch to Windows Server 2012, one of the decisions they will have to make involves whether to use Server Core. There are a number of compelling arguments both for and against the use of Server Core.
One of the first things you might consider is what Microsoft has to say about using Server Core. Although I have not seen any blanket recommendations from Microsoft specifically related to Server Core, Microsoft has stated that
Advantages of Windows Server Core
One of the main benefits to a Server Core deployment is that Server Core has a smaller attack surface than that of a standard Windows Server deployment. There are a number of Windows Server components that do not get installed in Server Core deployments, such as Internet Explorer, Server Manager and the Control Panel.
Another benefit to performing Server Core installations is that you can work to greatly reduce the patch management burden. According to some Microsoft estimates, the number of patches that need to be applied can be reduced by one-third or more simply by using Server Core. The actual degree to which patch management can be reduced depends on what server roles are installed.
Probably the single greatest benefit of using Server Core is that it is great for virtualization. Server Core consumes fewer system resources than a full-blown Windows Server deployment, which makes it fast and efficient. More importantly, Server Core deployments demand less CPU overhead and less memory, and have a smaller storage footprint than a comparable deployment using a full version of Windows Server.
There are considerable benefits to using Server Core. This raises the big question of why more organizations aren't using it. Just as there are benefits to using Server Core, there are also some major disadvantages.
Disadvantages of Windows Server Core
The most obvious disadvantage to using Server Core is the steep learning curve. Early versions of Server Core only allowed administrators to manage Windows through a Command Prompt window or through remote management tools. It is now possible to manage Server Core installations using Windows PowerShell. Microsoft has taken measures to simplify PowerShell in Windows Server 2012; however, PowerShell can still be a bit intimidating to those who have not taken the time to learn it.
Another major disadvantage to using Server Core is that not all server roles will work in a Server Core environment. Even Windows Server 2012 does not allow all server roles to function in Server Core environments. The following are the only roles that are compatible with Server Core:
- Active Directory Certificate Services
- Active Directory Domain Services
- DHCP Server
- DNS Server
- File Services (including File Server Resource Manager)
- Active Directory Lightweight Directory Services
- Print and Document Services
- Streaming Media Services
- Web Server (including a subset of ASP.NET)
- Windows Server Update Server
- Active Directory Rights Management Server
- Routing and Remote Access Server and the following subroles:
- Remote Desktop Services Connection Broker
Just as there are many server roles that are not compatible with Server Core, there are also a number of applications that do not work in Server Core environments. While some vendors have begun to adapt applications to work in Server Core environments, the vast majority of them are not compatible with Server Core.
Even if the primary applications that you plan to run on a server are designed to work with Server Core, there might be certain support applications that do not work with Server Core. For example, your current antivirus solution may not be Server Core-compatible. Likewise, some backup agents will not work in Server Core environments.
There are tremendous benefits to deploying Server Core. However, compatibility issues and other logistical concerns might prevent you from using Server Core on some -- or even most -- of your servers.
The good news is that your deployment type no longer has to be a permanent decision in Windows Server 2012. It is possible to deploy a full version of Windows Server 2012 and then later switch to Server Core if necessary. This capability could prove to be useful if you have servers running applications that are not currently compatible with Server Core, but might offer Server Core compatibility in the next version. It is also useful for applications that require a full version of Windows for installation but can function in a Server Core environment once the initial installation has completed.
About the author
Brien Posey is an eight-time Microsoft MVP for his work with Windows Server, IIS, Exchange Server and file system storage technologies. Brien has served as CIO for a nationwide chain of hospitals and health care facilities, and was once responsible for IT operations at Fort Knox. He has also served as a network administrator for some of the nation's largest insurance companies.
This was first published in January 2013