Cloud hosting is the latest buzz word in the industry, every data center wants to have a cloud based infrastructure, while it seems every potential client is willing to pay infinitely more for something with the “cloud” branding. All this buzz around the term begs the question, what is it?
So, what does the word cloud actually mean within web hosting? Well it doesn’t really mean anything at the moment which is a problem, because it seams every hosting provider out there is just adapting the term to match their current product line, which spreads even more confusion around. So although I hope to give some wisdom this is only pure guess work and of-course just my personal opinion, hopefully there will be a clear consensus over the next year or so from the hosting industry, however I am somewhat doubtful.
Well we don’t really know exactly what it is but there a few key things I personally think a cloud hosting solution should incorporate, so let’s go through them.
A cloud service is generally always going to be a virtual infrastructure (basically a VPS server) which is where the problems start, or more commonly the ‘arguments’, because you need to some how separate what we have had for years (VPS Servers) and what companies are now trying to sell you, cloud based servers.
Speed – A cloud service relies on quite a large amount of software to perform setup’s, this allows a client to purchase a dedicated server like product but without the large lead/setup times which are generally associated. Probably one of the biggest benefits of this automation is actually once your live and the speed can be leveraged for real-time upgrades and even downgrades as required, this will be discussed more shortly.
Dedicated servers are not very scalable by design, most servers are often over provisioned with resources that are never going to be used just to allow their services to sustain a sudden spike in utilization, such as a increase in website traffic. This model of purchasing more than what you actually need is just broken, and it is that which cloud based services are probably the most suited to fixing.
API – The core of what I would call a “true cloud” is the application interface (API), this is a simple interface that a user can use to automate the upgrades/downgrades of a virtual server as required and most importantly without human intervention (automated). For example if you have a web server that on average gets 100Page views a day it’s probably not going to need a lot of resources, however what about if you get on the front page of digg or slashdot.org? well you need to grow and quick. By creating an application that monitors your server and requests the upgrades as required you can ensure your website sustains them profitable spikes in traffic, traditional shared hosting or dedicated servers would normally just fall over.
High Availability / Redundancy
Cloud hosting works by pooling a large number of dedicated servers together, and then allocating users some resources of this pool. By design this means that your resources can come form any available server within that pool and your therefore not bound to just one dedicated server.
As with everything in the hosting industry hardware will fail, in a cloud hosting environment if the server your on fails your virtual server will almost instantly be started on another host in the same pool, meaning that downtime should be not much more than a normal reboot. Also if the host has any planned work or has detected issues on a specific server, the virtual machines can be all live migrated away from this problematic host (with zero downtime) while the issues are resolved.
Cloud services are generally more expensive when your compare the prices of resources against a dedicated server, however they are also cheaper, let me explain…
The traditional hosting method requires that a user must pay for more than they actually need, and if you want a website/service that can sustain large spikes in demand you have to greatly overprovision services, all this costs money.
The the case of cloud hosting your only paying for what your actually using, with a automated solution and effective control panel this can even make your billing accurate down to the minuet. No more pay for your hosting monthly, or even daily, just pay for what you truly need as required.