Cloud vs Traditional Hosting
About 3 years ago, I posted an article about the different types of hosting available at the time. While most of what was written still holds true today, the emergence of Cloud Computing (Cloud Hosting) adds a new layer.
In this revision of the 2006 post I will add a summary of each of the types of hosting including Cloud to clarify the terms and help provide a clearer picture of the marketplace. This is very much an overview of the types of hosting and not an in-depth discussion of each; a hosting 101.
Shared hosting is the starting point for most businesses. It offers a low-cost entry to market, but has pitfalls and usually offers little guarantee of reliability or support.
Appears to offer a complete package
No sysadmin skills required
Multiple points of failure
Lack of support
Lack of control
Risk of poor performance
While many users of shared hosting report no problems with the service, there are many others who have experienced them. The principle source of issues comes from the fact that you are sharing the resources of a single server (ie a single computer like the one on your desktop) with many other users. This sharing also extends to email systems and both can be prone to abuse. Potential breaches or performance problems on websites outside of your control can take down the server and leave your website offline for prolonged periods. Also, since the IP address (the address of the computer on the Internet) is also shared, your email may eventually be considered as spam because somebody else on your server is sending spam (and both your email and theirs track back to the same IP address).
Virtual Private Servers
By using virtualisation, a single server can be partitioned into what appear to be multiple servers. This provides you with a private (or dedicated) space on the server, as well as a dedicated amount of resources – disk space, compute cycles, bandwidth, etc. This gives you more control and generally better performance but can still suffer from edge cases of shared hosting like the server being offline (although this is rarer as problems in another virtual private area are usually ring-fenced and prevented from leaking into your space by the virtualisation technology, but it can still happen).
Usually requires self-management, and therefore deeper sysadmin knowledge
Easier to break if you don’t have the skills, but this can be outsourced
Other virtual servers on your server may disrupt your service (e.g. bandwidth)
Single point of failure (it is still only one server)
Dedicated or Co-Location
With a dedicated server, you remove all of the third-party risks as the server is for you and you alone. You also usually get the option of defining an SLA with the data centre where the server is hosted to guarantee performance, so you also get better reliability. For example, with Rackspace (our company hosting partner) you get 100% network availability.
Guaranteed Reliability through SLAs
External data security risk mitigated through SLA
Corporate Governance risk mitigated through SLA
Single point of failure
Sysadmin skills essential unless the server is under a managed contract
Clustered Servers (aka Private Cloud)
For larger enterprises, there is a need to ensure consistent performance and reliability. This is usually achieved through a set of clustered servers which share the load (load balancing) of the required performance. The content and applications are also mirrored across the cluster to ensure that performance is always maintained at an optimum level no matter what. This is more expensive but removes the single point of failure risk as, even if one of the servers breaks down, the rest of the servers keep running and delivering results of visits to the website or application.
Guaranteed Reliability through SLAs (if outsourced)
No Single point of failure
No external data security risk
Corporate Governance Assured
Sysadmin skills essential unless the cluster is under a managed contract
With the adoption of Cloud terminology, the Private Cloud is essentially synonymous with Clustered Servers. It is simply an application of new jargon to existing infrastructures. Sadly, matters are further confused by everybody adopting the new jargon and applying it to associated tools and services – such as virtualisation. We have the marketing people to thank for that one!
A hybrid cloud is simply an environment that uses aspects of both private and public cloud services to deliver the required service.
See also Cloud Computing vs Dedicated Servers for some of the considerations companies need to make when deciding between Cloud or Dedicated servers. Public Cloud Hosting (see Cloud Computing for a description) is a large cluster of servers that provide all your hosting requirements in an elastic manner, scaling up and down as you need it in response to demand for your web applications or websites. It is generally paid for as a utility, meaning you only pay for what you use.
Fully managed by a third party, meaning better reliability
No performance issues – it scales as needed
So large that external factors may affect your site and may take a long time to resolve (see below)
Difficult to assess external data risks and corporate governance issues
Because the public cloud is such a large virtual space, there can be huge volumes of websites and web applications operating within it. If one of these goes wrong and starts demanding lots of resources, the cloud will adapt to fulfil its needs. However, since the cloud is so large, this anomaly may not be detected for some time. There have been accounts of problems in Amazon’s ECC (elastic compute cloud), and others, where things like DDoS attacks have taken down large parts of the cloud. These issues are relevant to any type of hosting – and not just cloud – but in a public cloud, their detection and mitigation is often harder and longer to achieve because of the fluid nature of the environment. On the positive side, the cloud is more resilient to such attacks because it is fluid – a single server (shared or otherwise) would usually suffer immediately, although the resolution is easier to pinpoint.