Every now and again our industry seems to invent a new buzz word to describe something that's been around for a while. A few years ago we had "Web 2.0" but now we're approaching the end of the decade so we need another one. To fill this void we've been given "The Cloud."
Suddenly we see lots of companies that have been picking up good trade in the web hosting industry desperately talking about their "Cloud Strategies" as if Cloud is some kind of defined resource that can be monetised in the same way we sell web hosting.
The problem isn't so much the term 'Cloud' - it's more that on its own it could mean pretty much anything. Do these companies mean:
- Producing a cloud platform for others to host their own websites / web-apps etc. - akin to Amazon's EC2 platform, or Rackspace's equivalent?
- A completely proprietary hosted language interpreter with some special scalable back-end database (Google AppEngine)
- Hosting their own (or partner) applications on their own infrastructure (what we used to call Software as a Service "SaaS", or simply just "websites"!)
- Some other meteorological phenomenon?
In a nutshell, it seems that anything that's "On the Internet" rather than "In House" can now be referred to as "In the Cloud". Indeed, the term is allegedly based on the cloud-shaped symbol used to represent the Internet on network architecture diagrams.
I may be being naive here, but isn't Amazon's EC2 platform basically a provision-on-demand and bill-by-the-hour VPS system? Is it really that much of a paradigm shift? The big innovation that seems to make this into a 'cloud' is the API which allows customers to provision server capacity on demand - but is this enough to warrant a completely new term? If I take a current VPS system (e.g. SliceHost) and slap an API onto the front which allows me to provision new VPS instances automatically and instantly, is that now a cloud offering or is there more to it?
Maybe it's the ability to dynamically route IPs to these VPS instances which makes this such a quantum shift from our existing VPS solutions? How much do I need to do before my system warrants Cumulonimbus or Stratus status?
Which of the following do I need?
- Virtualization
- PAYG billing
- API for provisioning
- High Availability (i.e. fail-over)
- Auto-scaling
As for SaaS "Cloud" applications; they're just websites aren't they? Or are they? Like so many people I've spoken to, other assumptions are made about Cloud offerings. There is a wide-spread assumption that a certain level of redundancy and clever load-balancing technology is required before you can consider your system a 'cloud solution'.
Swissdisk suffers spectacular cloud snafu
"Attention SwissDisk Users, We regret to inform you that due to an unplanned and unforeseen catastrophic hardware failure caused by multiple simultaneous events the engineering staff was unable to restore the SwissDisk file server to it's previous status."
Now I'm sorry, but it's easy to imagine what's happened here - they didn't have adequate redundancy and the whole thing went wrong. This is not what I expect of a 'cloud' service - but it's what we'll see reported more and more as companies trust their data to 3rd parties with no track record.
Ultimately, it's usually impossible for a customer to assess quite how resilient a cloud service is. Is the service company surviving on luck or a combination of good judgement and investment?
"Please note, due to the unplanned outage all accounts will be required to re-register."
So SwissDisk lost their company database at the same time as their customers' files? Was the whole company hosted on a single server? Not so 'cloudy' now, is it?
So what does all this mean for us in the industry? Does the industry need some kind of seal of approval for the practices employed and the level of redundancy afforded?
If I could offer one bit of advice - if you're using "cloud services" make sure you:
- Can get hold of your data
- Back it up regularly
- Understand the security safeguards that are in place to protect your data
- Wear a parachute
Bob.