Tuesday, April 1, 2008

Types and flavors of web hosting

On a cost basis, shared hosting is always the least expensive.
- Shared hosting is generally aimed at beginners and intermediate users (though if your specific application doesn't require CGI or database access advanced users can save tons of money with shared hosting). As the name implies, Shared hosting is "sharing" the hosting environment. Usually your web site lives in a folder along side many other folks web sites, and the same web server process serves up all of the those sites on request. This means any site in a shared that acts as a bandwidth hog will take CPU and disk access time away from other neighboring sites in the environment. Many shared hosting providers work to mitigate these circumstances by controlling the bandwidth, file sizes and overall resource usage available to any one site. Upgrades in a shared hosting generally consist of making additional bandwidth, file size and CGI access available... basically allowing you to take up a higher priority among your neighbors. All in all this is a very good balance of cost versus performance.

Continuing the cost analysis angle; Virtual private hosting is the next major step up.
- It's the stop gap between shared and dedicated hosting. Virtual hosting still shares a machine or disk, but the web server software and indeed the entire operating system environment is usually isolated for each site in a virtual hosting . So, you might have a computer or disk with 10 sites on it, 10 different web servers for those sites, and 10 isolated operating environments. The advantages include better control of resource allocation and more enforceable distribution (i.e. neighbors who hog CPU and disk time in a shared environment have a more tightly controlled allocation of CPU and disk time in a virtual private server environment, so the number of cycles available to your processes are not diminished... here folks don't have to compete for each second, the allotments are usually fixed). Another advantage is that you usually have robust CGI and database accessibility... and if you have a CGI that accidentally runs an infinite loop, it won't suck up your neighbors CPU bandwidth allocations since the operating system environment is isolated. Consider this same scenario in a shared hosting environment where your CGI experiencing an infinite loop might lock up the system and prevent any other site in that shared environment from being served either ...very bad!

At the top of the cost pyramid is dedicated hosting.
- This usually requires you have considerable technical skills at your disposal. Dedicated hosting basically means you have the whole machine or disk to yourself. It also can mean that when your web server falls down, you will have to restart it. Worse, it can mean if your site gets DDOS attacked that you might have to manage most if not all of the strategy to mitigate the attack. While shared hosting providers don't tend to highlight this facet, when one of their sites experiences a DoS attack, because it impacts the rest of the sites in their environment, they are highly motivated to mitigate the attack, and likely have highly skilled administrators available to do so. This is often a hidden advantage to hosting in a shared (or even a virtual private) environment. However, if your site is a frequent target of DOS attacks, your relationship with your hosting provider may be strained to the point of you being booted, or you being charged specifically to help offset the special costs associated with managing your site and it's impact on the rest of the shared users.

No comments: