Web Hosting Comparison
One of the most important things to consider when building a presence online is the type of web hosting which you will need and so in this web hosting comparison I will cover the main features and types of hosting offered on the internet these days.
While specifically “web hosting” is not the only type of internet hosting available, it is the one this article is referring to and it basically means a place or service which will put your web site or web based application online for web users to visit and interact with in the usual way.
In broad terms there are two operating system platforms most commonly used – Windows and Linux. Now of course there are others such as various flavours of Unix but the internet hosting world is dominated by the big two of Linux and Microsoft products. Naturally it is does not end there and there are in fact multiple variations of both platforms – various versions of Windows Server including 2003, 2008 and now 2012 plus for each of those main versions there are things like “Standard Edition”, “Web Edition” and “Datacenter Edition” to further complicate matters. Amongst Linux there are numerous “distros” you can choose from including Centos (which is based on Red Hat Enterprise), Fedora (also Red Hat), Ubuntu, OpenSUSE, Slackware and others.
Of course not all flavours of Linux or Windows Server are provided by every hosting company (although some hosting companies do offer an impressive range) so once you have decided on an operating system platform your choice of providers will be narrowed down somewhat. Which platform you choose depends on a number of factors but in large part it is decided by what you will use it for – what will you install? If you need to install an application which requires some specific technology which is only available on Windows then obviously that is the one you will go for.
Arguably the most popular platform at the moment for web hosting is Linux and one of the Red Hat clones such as Centos is probably the most common flavour of Linux used on web servers. In most cases we would recommend you go with Centos for your hosting needs but at the end of the day Linux is Linux so go with whatever you prefer or whatever your application developers recommend.
There is nothing really wrong with Windows Server these days and it has come a long way and improved over the years, however a common use for it is as a “remote desktop” – in other words you can have a windows desktop running and online 24/7 which you can access from anywhere and run any windows software you need. For example most SEO software such as the popular and powerful Ultimate Demon requires Windows to run and benefits from being online and running constantly on a strong server and with a high bandwidth connection which is not always available at home.
Hosting Package Types
Now once you have decided on the operating system for your platform you also need to choose the type of server hosting package – the usual suspects are “shared hosting”, VPS, dedicated servers, co-location and the buzzword du jour “the cloud”.
- Shared Hosting – this is the simplest and cheapest form and consists of an account on a server shared with other people. There can be hundreds of others sharing the same server, all fighting over the same resources and for security reasons nobody gets full, unrestricted access to the server. Typically such accounts come preloaded with a web based control panel (see below) and a range of common software with ‘one click install’ such as WordPress. If all you need is a place to host your blog or a small forum then shared hosting can be fine, at least until your site grows in popularity and you need to upgrade.
- VPS – next up is the Virtual Private Server that functions like a completely independent server which only you have an account on and which gives you full “root access”. In reality you are still sharing a physical server with many others but usually much fewer and hardware resources are more strictly divided so users are less likely to impact others on the same machine. Such a system is also much more secure and you can do pretty much anything you want on it (besides installing VPS’s on it!). VPS packages are quite flexible and you can choose how much memory, disk space, CPU power and other options to suit your needs. We would generally recommend going for a VPS for most users since prices these days are quite low and the benefits of having much greater control and security outweigh the few dollars each month you might save by getting a simple shared hosting package.
- Dedicated – if your needs are greater than a VPS can provide, or if you just don’t want to share a physical machine with anyone, a dedicated server is what you need. As the name implies this is an entire physical machine which only you have access to – all hardware and network resources are available to you alone. A common use for a dedicated server is in providing reseller hosting – in other words if you want to sell hosting servers you could rent a dedicated server and install a VPS system such as Xen or a control panel such as WHM/Cpanel and off you go..
- Co-Location – “colo” is functionally the same as dedicated but you actually own the server, rather than just rent it. Instead you pay for the space in a server rack in a datacenter along with some bandwidth allotment (and often electrical power). Generally you would buy a server and then take it to your datacenter and install it yourself, or post it there and pay someone to connect and install it. Once it is online you manage it remotely just like a dedicated or VPS. People who use colo will often rent rackspace in blocks such as half a rack or a full rack and then pack it with their own servers and other networking equipment (router, switches etc) as required. A higher level of server admin and networking expertise is typically required unless paying for “managed” services as well.
- Cloud – a buzzword these days but functionally not really much different than a VPS. You get a server instance with whatever resources you need and the OS of your choice installed but you usually pay by the hour instead of renting a VPS for a month at a time. The advantage of such a system is you can spin up multiple instances at a time, do whatever you need to do with them and then shut them down again – a process which can be automated to scale on demand to cope with spikes in traffic to your web application for example. The leader in the cloud field is Amazon with the AWS service and in fact if you are a new customer there you can get a basic server instance free for a whole year. Cloud providers often provide many other services besides just server instances such as load balancers, databases and others and so are very convenient for web ‘startups’ however the costs can mount up and so for running server instances permanently “the cloud” can cost more than plain old dedicated or colo.
Managed versus Unmanaged
When choosing hosting it is important to consider how your server will be maintained, which it must be. A server on the internet which is not kept updated is at greater risk of being compromised, it may also perform less efficiently than it should or suffer from various bugs which can affect your users experience. Hosting companies will usually offer managed services which means they will handle all the server maintenance tasks (excluding your own applications of course) or they will offer unmanaged hosting which means you have to do everything. The precise level of support can vary between the two extremes so make sure you check the small print to know what exactly you are getting.
Web based server control panels are extremely popular these days and are offered by most hosts. There are quite a few panels available such as WHM/Cpanel, Plesk, DirectAdmin, ISPconfig, Webmin/Virtualmin and others. Some are commercial and cost money while others such as Webmin are free. A control panel is not a requirement and if you know what you are doing, or you have a sysadmin on call, then you may prefer not to have a panel installed. However if you are not familiar with server management then a panel will make your life easier but it is important to keep it updated as control panels by their nature provide a high level of access to the server and so if compromised you could have major problems.
These days bandwidth, like storage, is much cheaper than it used to be and many hosts offer “unlimited bandwidth” which although perhaps not really unlimited (check the small print), the amount you get is more than most people will ever need unless your site gets extremely popular or offers huge files like videos for download. If you have a dedicated or colo server you will be limited by the size of the network connection which may be 10Mbps or 100Mbps or for really big systems even 1Gbps and “unlimited” in this case means as much as will fit through the “pipe” (subject to the connectivity your host has to the internet of course) or again depending on the small print – they may put a cap on your bandwidth usage and charge you for overage. Also be aware that just because you have a 1Gbps network connection it doesn’t mean your server is physically capable of using it all since whatever applications you run there may swamp the CPU or other hardware resources long before the bandwidth limit is reached.
In summary, when looking for hosting you need to consider the operating system (often decided by the application(s) you wish to run), the server/package type, the bandwidth limits, whether or not it has a panel and the support level provided by the hosting company. You may also want to consider the geographical location if your site will cater to people from a specific region and you want to maximize response speeds. Naturally you also should do some basic due diligence on any host you are thinking of using – a quick Google should help find out if they have a good reputation. Also don’t be rushed into any long-term contracts, it is better to signup for one month and try them out before committing – one month server rental is a small price to pay to thoroughly test a host.