Before you can thin your search for a web hosting service, the single biggest decision facing you is the kind of operating system you are interested in. This decision alone will thin the field down of possible provider considerably, and thin down the packages you will be researching and comparing.
In general, there are several major criteria used when selecting and web hosting service, and these are all impacted by the operating system:
Traditionally UNIX was the hosting service of choice due to its advantage in these four areas, but the gap between the two big operating systems as a hosting choice continues to close and get clouded quite often. Here is a breakdown of where they stand today:
UNIX systems nevertheless tend to win in this area, due to several meaningful factors – memory (RAM) requirements and OS tune ability. Windows was developed as an operating system to make it easy for wide range of people to use, from the highly skilled to the less computer inclined. UNIX was developed more for server usage, and the average skilled computer person would not be able to use and manage this OS on a daily basis. Because of this difference in background, UNIX will perform better as a server than a Windows box on the same hardware – Windows needs more RAM to compete with UNIX, but UNIX will nevertheless beat it out due to its ability to tune virtually everything, down the very chief of the OS itself.
Let me be clear about this, I am not saying that UNIX is a better OS than Windows, just that it is a better performing hosting ecosystem. Windows beats UNIX out in usability, development tools, maintainability, and many other areas.
But don’t stop reading here – performance is the least of your concerns when choosing a web hosting service. Because you will most likely be choosing a shared hosting ecosystem, you have very little control over the resources of the machine as related to your hosted website – you will be sharing memory, hard excursion access, CPU, and network bandwidth with hundreds of other websites anyway. At any given moment in time one of the other websites might be spiking in activity and cause your website to response slowly.
In a virtual private server or a dedicated server, UNIX would be the best choice in the performance category, but in a shared ecosystem the gap is not a factor.
Both Windows and UNIX come fully loaded with a wide range of features, and quite a few are shared between the two. If you were to manage the machine directly, you would most like choose Windows due to its easier to use interface. But this is not the case when speaking of a web hosting account. All hosting companies use a control panel to allow users to manage their account and websites, and all of the control panels are web based, and many are cross-platform. All of these control panels are identical in functionality – they provide a web user interface to all of the inner OS, web server, and files on the hosting service. Both operating systems sustain far away access (UNIX with telnet/SSH shell, Windows with far away Desktop) and ftp file management in addition.
The biggest difference in features between the two operating systems is the development tools obtainable. Both sustain the major scripting languages used to create websites such as PHP, PERL, Python, Ruby, and Java. Both sustain extensions popular for adding to websites such as ColdFusion, FrontPage Extensions, Flash, etc. Both have sustain for the free MySQL database, which usually resides on a separate machine at the hosting company anyway. Windows has the advantage here in that is supports ASP, ASP.Net, ASP MVC, and MSSQL databases in addition. These are tools specific to some applications and may be a major requirement for you – clearly making this decision between the two operating systems easy. Most Windows based web hosting packages will offer, at some price point, unlimited MySQL databases with unlimited disk space, but limited MSSQL databases with limited disk space. This is due to the licensing requirements of MSSQL causing more expenses on the part of the web hosting service as the use more MSSQL databases for their customers. MySQL and MSSQL are virtually identical in performance and features – just like the operating systems they differ mainly in the area of price and management abilities.
UNIX does have a slight advantage in many of the scripting languages due to its ability to compile into the web server (Apache, open source) the extensions needed to run the scripting languages. Windows cannot due this with its web server (IIS) since it is a commercially sold application. Windows and IIS must run most of the scripting languages as a CGI extension, which method they are launched as an external course of action to the web server, requiring slightly more startup overhead each time they are needed. Microsoft has acknowledged this shortcoming with the latest IIS (version 7) and allows these scripting extensions to be more in course of action. In the big picture it does not make much difference either way since this is really getting back into the area of performance – refer back to the prior discussion performance as to why it is of not much importance in a shared hosting ecosystem.
UNIX has a slight advantage in obtainable installable applications – most of the open source website projects (blogs, content management systems, shopping carts, web site builders) install smoother under UNIX since they assume you are using other open source tools (Linux, MySQL, Apache). Installing some of these on a Windows operating system require additional configuration or help from the web hosting sustain staff. With the growth of cross platform control panels, this problem is shrinking over time. Also there are Windows specific open source projects obtainable for every need of your website that install clean and function nicely – but they may be younger and less developed than the UNIX style.
Windows is the operating system of choice based on features, especially in the shared hosting ecosystem and if you need any of the Microsoft technologies (ASP, ASP.Net, ASP MVC, MSSQL) to run your website. Be careful if you have a need for one of the older scripting technologies (PHP, PERL, Python, Ruby) on a Windows hosting, they may not be obtainable or perform poorly.
Windows has traditionally been dinged in the past in this area, but mainly due to its desktop operating systems, not its server operating systems. Windows hosting packages will be running either Server 2003 or Server 2008, both of which do not have stability problems. The desktop stability problems are mainly not Microsoft’s fault – almost every desktop Windows user is guilty of installing a wide range of various software packages and drivers, rendering the machine over time to be a blend of software that has never been tested with each other.
UNIX has traditionally and nevertheless shines in the area of stability – again due to its background of being developed as a server operating system. It also has advantages over Windows in that complete server reboots are rarely needed as part of a installation of a third party software package – it has clearly defined system part drivers that can be rebooted without requiring a complete system reboot.
Both operating systems are equal in the area of stability – already in the shared hosting ecosystem they both have adequate safeguards against individual websites on the same machine from causing harm or abruptly stopping the server.
Windows nevertheless remains a slightly more expensive operating system to sell hosting accounts out of for two reasons – licensing and RAM requirements. Web hosting companies have more expenses on a Windows server that hosts 100 websites than it does on a Linux server hosting 100 websites. Typically companies also carry a Microsoft sustain agreement with annual expenses in addition as the upfront licensing expenses of Windows – already though they all require a staff of knowledgeable and skilled technicians to manage the bank of servers in spite of of the operating system.
Windows is also slightly more expensive with database sustain for you website – most web hosting offer a UNIX hosting package at some price point with unlimited MySQL databases and database disk space, but very few offer a Windows package at any price point with unlimited MSSQL databases and database disk space. So if your website grows and needs more databases and disk space, you may be locked into paying a higher fee per month with MSSQL and Windows than you would with MySQL.
UNIX has the advantage in pricing, already though some hosting companies do now sell Windows and UNIX based accounts at the same price point, but most nevertheless have a slight increase of monthly fees for the Windows packages.
Let me be clear about this: the choice of hosting your website in UNIX or Windows has nothing to do with the desktop operating system you use on a daily basis. It has nothing to do with the management interface you will use to manage your website and hosting account. It also is not about which operating system is better than the other. Some people have a religious fervor for one or the other, but they are both just tools in the toolbox. Which is better, a hammer or a screw driver? It depends on the job at hand.
So here is a review of how the operating systems are in the four areas of criteria used when selecting and web hosting service:
- Performance: Tie in Virtual or Dedicated server, UNIX in a shared ecosystem
- Features: Windows, based on addition of Microsoft technologies
- Stability: Tie
- Price: UNIX
So, based on this discussion, your decision will be pushed two simple questions:
- Do you require any of the Microsoft technologies?
- Are you willing pay a few additional dollars per month for the Windows and Microsoft technologies?
If you answer yes to the above questions, you should go with a Windows based web hosting package. Otherwise you should move towards the UNIX based packages since it is a cheaper and faster.