A lot of (digital) ink has been spilled debating the relative merits of Windows Server and Linux as server operating systems. There are many differences, but both are capable operating systems that meet the requirements of a business deploying colocated servers. But, a choice has to be made, so let’s have a look at some of the factors that might influence that choice.
Linux Server
To clarify some terminological issues that may cause distress for Linux aficionados, Linux isn’t an operating system: it’s the kernel of an operating system, and many additional tools, services, and applications are needed to make an OS. Together, these make up a Linux distribution. Because important software packages that are part of all Linux distributions are developed by the GNU project, some would prefer the term GNU/Linux, but for brevity, I’ll stick with Linux.
Linux is an open source descendent of Unix, an early server operating system. That it is open source may be important to you if you need to see or intend to modify the code of the OS or the applications that run on it. The open source development process also encourages the creation of a huge variety of freely available software.
Many distributions of Linux are eminently capable server operating systems. Anything you could want to do with a server, you can do with Linux. Popular distributions for servers include Red Hat, CentOS (a free version of RedHat), and Debian. There are some differences, but they can run the same software.
Much of the software used in the web and application hosting world runs on Linux, so you won’t be lacking for functionality. Linux is also free — with some exceptions for enterprise-targeted distributions which include proprietary tools and come with support packages. For the most part, anything that runs on one distribution will run on the others, which helps colocation clients avoid vendor lock-in.
Microsoft Windows Server
As the name suggests, Windows Server is Microsoft’s server operating system. It can be used to run some of the same tools as Unix-like operating systems, but for most scenarios you’d use Windows because you want run software built for Windows.
Linux servers are typically managed via the command line, and while Windows does have a command line, it also includes a comprehensive graphical user interface. Windows Server is generally easier to configure, especially where user access is concerned. Because a single entity controls Windows Server, it’s more predictable than Linux and users benefit from Microsoft’s long history of working with enterprise organizations.
On the other hand, Windows Server licenses aren’t free and once you’re invested into the Windows ecosystem, getting out can be expensive.
Choosing Between Windows Server and Linux
There’s always going to be an element of personal bias in this sort of advice, so keep that in mind.
Linux operating systems are the best choice for most server hosting scenarios. Linux provides more choice, greater flexibility, and there’s nothing Windows Server can do that Linux can’t, although doing it might be more involved and less intuitive than on Windows.
But there are several situations in which Windows Server is the best choice:
- You need to run Windows-only software like ASP, MS ACCESS, MSSQL, or Windows-only development tools
- You need to use Microsoft’s Active Directory tools.
- Your system and server administrators are familiar with Windows (use the tools you know).
- Company policies mandate the use of Windows Server.
- You want to take advantage of Microsoft or third-party support services.
Ultimately, the choice of operating system for your server depends on the needs of your project and the policies of your organization. There’s no one-size-fits-all solution.