While important, the technical specifications of the hardware inside a computer that will be used as a server are not the only factor that will influence its performance, stability and reliability. Often times, the software you use is just as important.
The heart of the software part of a server is the operating system. This is the single most important thing that you’ll have to install and will be very hard to change without interrupting normal operations (it might even be impossible to replace if you made significant customizations that will run only on that specific configuration).
That is why you should choose it very carefully and weight in all the advantages and disadvantages of the available operating systems. Depending on what you need (increased stability, maximum performance, fast serving of static or dynamic pages, fast database operations, etc.), some OS’es will work better (sometimes significantly better) than others.
To give you a starting point, here are the most popular (and, by definition, the best) operating systems available for server applications.
Red Hat Enterprise Linux. This is one of the most popular OS’es for servers, maintained and supported by Red Hat, Inc. It is the number one choice for large enterprise applications, where stability and reliability is absolutely crucial. While performance is not its strong point, you will have a hard time finding faults and problems with the components in this OS, mainly because all of them have been tested by time and any possible security breach or serious bug is quickly fixed by the developers.
Being a Linux OS, the source code is freely available to anyone, so you can build your custom version or get CentOS – the free copy of the latest RHEL, built and supported for free by a community of talented developers.
Red Hat, Inc also offers a free, bleeding-edge OS called Fedora, which has the same base as RHEL, only packed with the latest and greatest software that makes it faster, more advanced, but also more prone to problems. It is essentially a test bed for features that will be later integrated into the enterprise version, but if you want performance and support for the latest features, it could be the OS for you.
SUSE Linux Enterprise. Another good server operating system built for stability and reliability, SUSE Linux is basically Novell’s version of Red Hat Enterprise Linux, with a custom and different software package base. Again, performance is not the best point of this OS, either. But it’s very good when it comes to keeping your data intact, operate without fault and being easy to administrate. There is a free version called OpenSUSE, which is maintained by Novell and a great, helpful community on their site, so you can get an enterprise-level OS straight from the manufacturer completely free.
Oracle Solaris OS. This is one of the leading operating systems for serious, large-scale applications that require uncompromised security, stability, reliability and performance. It was developed by Sun from their custom UNIX-based OS and has a long history of enterprise applications. It was recently bought by Oracle, which fortunately, hasn’t cut support for the free version, so everyone can enjoy one of the best OS’es on their servers.
The latest release includes some unique and advanced features like Predictive Self Healing, which automatically detects and repairs problems, and DTrace, which allows the admin to observe the work of the OS on all levels and optimize it according to needs. High performance is guaranteed by the code optimization for different platforms, the ZFS file system (which is very fast and reliable), encryption acceleration, hardware virtualization support, and other advanced features.
The drawback for all these great features is the lack of support for the free version, the very small community and lack of drivers and software packages for the OS, but if you’re a very knowledgeable administrator or have a good IT team, you can relatively easily build what you need yourself.
Windows Server 2008 R2. This is Microsoft’s proprietary operating system for servers and the enterprise sector. While not obvious, the R1 and R2 versions are quite a lot different. The first one is based on Vista, one of the slowest and most resource-hungry Windows operating systems, and the second is based on the new Windows 7, which is an improved Vista, with all the features and almost none of the problems, so the choice should be obvious.
You’ll need Windows Server 2008 R2 if you need full ASP.NET support or want to run Microsoft’s IIS server with it’s advanced API and unique features (like the IIS Media Services platform). Overall, it’s a great OS that has a few more advanced features over Server 2003 and is a definite improvement over the first Server 2008.
The drawbacks are obvious – it’s not nearly as customizable as an open source OS, you depend on Microsoft for all the support (even for the issues you could’ve fixed yourself if you had more access to the code) and you have to pay a fee to use it.
Debian Linux/Ubuntu Server. Debian Linux is a great OS for any server. It’s very customizable and there are a lot of pre-built and supported derivatives of it. If you want to build your custom version, you can go with the pure Debian, if you need an already built and tested OS that will be supported for a few years, Ubuntu Server is one of the best choices. The latest Debian and Ubuntu Server are packaged with newer versions of a lot of the software, compared to RHEL or SUSE, and are a bit faster and more functional. Users say that reliability doesn’t suffer from this, so if you need a fast and reliable all-purpose OS, this could be the choice for you.
FreeBSD. A lot of professionals swear by this OS. They say it is the best OS for server applications, and they might just be right. With it’s rich history of enterprise use and the extremely well-done BSD-inspired UNIX core that was built for heavy duty application right from the beginning (which isn’t true of Linux, as it was started as a free, amateur alternative for UNIX), FreeBSD is very good for sites and web apps that need to handle very serious traffic.
As an example, Yahoo uses FreeBSD for their servers, and even Microsoft uses it to power their Hotmail servers, which have tens of millions of users. It has the same drawbacks as Solaris – few developers in the open community and few software packages built for it, but that can be solved with a few bright heads in the IT department.
Mac OS X Server. Ever since it was launched, this OS quickly became another popular choice among server administrators, and there are good reasons for this. Apple has managed to create a very stable and fast operating system (it’s based on BSD, which has a great track record of being used for intensive apps, see FreeBSD above) that is very easy to manage and administrate. It also works with a lot of custom built packages, unlike Windows Server, so it’s a very good choice for a lot of people.
You have to consider what operating system you choose for your server carefully, as it will be very hard to change it after you configure it to work perfectly with your applications, scripts and websites. If you intend to go big, you’ll have to plan everything from the start to avoid unforeseen problems later.