How to Choose Web Hosting Server OS?
Windows vs Linux
A frequently asked question when we want to host our website on the internet, what server operating system I should choose?
The choices we have when we want to choose web hosting server are either Windows or Linux, despite what Linux distribution (RPM based, or Debian based, etc.)
What shocked me, is that a large number of developers and some system administrators don’t know what to choose and why?!
I can understand that when a junior developer or junior administrator asked to choose a web hosting server OS, will have difficulties in the decision, as they don’t know the strength and weaknesses in each OS, and what supported options or features in each one, they can benefit from.
How to Choose?
First question we have to ask for ourselves: Is the website already developed, or are we going to develop a new one?
If the website already developed, then we are obligated with the programming languages the developer already chose.
If not, then we have a lot of programming languages to choose from, which will decide the OS. Or we can first choose the OS and then force the developer to choose the programming languages supported by the OS.
Starting with the basics
Do we need a database for the website, and what database engine?
If you need a database for the website, then it’s the developer responsibility to decide which engine based on the website size and complexity and connected applications requirements.
If no database is required, then we are free to choose any OS.
If the choice was MSSQL (Microsoft SQL Server), then the answer is definitely Windows Server.
If the choice was MySQL or PostgreSQL, then we can choose any OS, but they are most commonly used and optimized for Linux.
Besides databases, we have to look for the programming language. We have much more programming languages on Linux than Windows, which are suitable for more advanced websites.
If the chosen language was ASP, or ASP.NET, then we have to use Windows.
If we used static HTML or PHP, then we are free to choose any OS.
If we need Perl, or Python, then it’s better to choose Linux. Although, we can use Perl and Python on Windows, but they are developed and designed to run on Linux.
There are some applications and plugins can only work on Linux, like some shopping carts, CMS applications, and others.
What OS do you use in your web servers?
If the chosen programming language was not conclusive in the decision, then we have Performance, Security, Stability, and the knowledge of the System Administrator.
Linux servers consume much less resource than Windows servers does. So, if we have a server with limited resources or a website with huge resources need, then we should go for Linux.
Everyone knows that Linux servers are more secure than Windows servers, but that only apply if you have a very good system administrator.
If your system administrator know nothing about Linux and very good with Windows, then Windows server can be much more secure than Linux server. So, you have to stick with Windows servers.
Finally, we look for server stability. It’s obvious that Linux servers are much more stable than Windows servers; that’s why they run most of the public web servers on the internet.
Personally, i work on both Linux and Windows web servers.
But, for my public web servers, i choose Linux; because they need much less resources which means lower cost, besides that i don't use MSSQL or ASP.NET
For me as an experienced administrator, i can secure both Windows and Linux servers very well.
So this is not a decision criteria for me, but its a major one for someone else.
© 2014 Mohammad Oweis