Thursday 19 November 2009

What does "The Cloud" mean?

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:
  1. Can get hold of your data
  2. Back it up regularly
  3. Understand the security safeguards that are in place to protect your data
  4. Wear a parachute
Bob.

5 comments:

  1. You forgotten to mention that cloud hosting offers the resilience of automatic failover, which protects the users from hardware failure.

    ReplyDelete
  2. VPS offerings can support automatic failover (Xen supports this, for example) - it's not a sole attribute of Cloud computing.

    ReplyDelete
  3. Do NORMAL VPS have automatic failover? No.

    ReplyDelete
  4. And what is "Normal Cloud"? That's my point!

    ReplyDelete
  5. Cloud is NOT a VPS, period.

    Most *actual* cloud makes use of SAN and a cluster of servers. The cluster of servers is to prevent downtime from hardware failures as the cloud server is moved to another host once the physical server/hardware is down. Unlike VPS, cloud servers utilise SAN to store the data to move the cloud server to another physical servers easily.

    You shouldn't misinterpret the fake "cloud" providers as a cloud hosting provider.

    Albeit it's redundancy, there are still room for improvements.

    ReplyDelete