June 2010
M T W T F S S
« May   Jul »
 123456
78910111213
14151617181920
21222324252627
282930  

The Cloud – Not A Crock of Shit

Even though a cloud’s white curtain in a far-off corner flashed
An’ the hypnotic splattered mist was slowly lifting
Electric light still struck like arrows, fired but for the ones
Condemned to drift or else be kept from drifting
- CHIMES OF FREEDOM

It was just over a year ago when a younger, more naive Jon declared the The Cloud is a Crock of Shit. Well, I’m a little wiser now and I’m overjoyed to report that, in fact, it isn’t. Cloud Computing is very real, and something you need to know about. I HEART clouds.

In my defense, when I wrote my blog post a year ago, 98% of the time the phrase “The Cloud” was used it was by people that didn’t have a clue what it meant. This has now dropped to 44% which means that, more often than not, you should listen to people that say it. Sadly, the number is still about 85% for people with the word “Sales” or “Business” on their business cards, so continue to ignore them. And the wikipedia entry, while improved, is still is desparate need of an update.

Public Clouds

So what is Cloud Computing? There are lots of definitions out there. But let’s distill the essence of Cloud Computing by listing things that Cloud Computing is that good old Hosted Services (*aas) and Grid/Utility Computing are NOT. They are:

Cloud Computing Grid/Utility Computing Hosted *aas Your Server Room
Infrastructure Services – offers a wide variety of platform services YES NO NO YES
Multi-tenancy – resources shared by a vast set of users YES SOMETIMES SOMETIMES NO
Usage Based Pricing – very fine grained YES SOMETIMES NO NO
Scalability – ramped up (with no cap) or down in near real time YES SOMETIMES NO NO
Programmability – provisioning can be accessed via software YES NO NO NO
Virtualisation – Machines are virtual, not physical MAYBE MAYBE MAYBE MAYBE

Firstly, you’ll notice that the concept of virtualisation is nothing to do with Cloud Computing. It’s an orthogonal concern. I like to think of a Cloud Computing platform a bit like a Java JEE App Server. The App Server provides a Java Application ways to access resources like storage, memory, caching, queuing, messaging and more – all with a standard API. A Cloud Computing API offers access to all of this, and more. Plus an API to allow the programmer to provision more resources. However, unlike the JEE example, the APIs to different cloud providers isn’t yet standard. But this is what people like The Open Cloud Consortium and Unified Cloud Interface Project are working on.

But I talked about this last time. Back then, however, I didn’t have a clue what kind of APIs they were trying to standardise. Now I’m no expert in this area, after all I was one of the Great Cloud Unwashed a meagre year ago. So the table below that I’ve thrown together to illustrate Cloud Capability no doubt has plenty of errors and ommissions. So please correct me via the comments and I’ll update it. If something like this already exists somewhere in the interwebitutes, I couldn’t find it.

CAPABILITY Microsoft Azure Amazon Web Services (AWS) Google App Engine (GAE)
Infrastructure Provisioning Windows Azure Amazon Elastic Compute Cloud (Amazon EC2) n/a – You just get the App Engine
NoSQL Database Azure Table Services Amazon SimpleDB App Engine Data Store (BigTable + GFS)
Relational Database SQL Azure Amazon Relational Database Service (Amazon RDS) – MySQL n/a
Blob/Doc Storage Azure Blob Storage Amazon Simple Storage Service (Amazon S3) App Engine Data Store (Google File System)
Caching Azure Cache n/a memcached
Queuing Azure Queue Services Amazon Simple Queue Service (Amazon SQS) Task Queues
Messaging / Notifications n/a Amazon Simple Notification Service (Amazon SNS) App Engine Mail
Data Processing n/a Amazon Elastic MapReduce (Hadoop) Google MapReduce
Payment n/a Amazon Flexible Payments Service (Amazon FPS) n/a (Google Checkout not part of GAE)
CDN n/a Amazon CloudFront n/a
Public Datasets Codename “Dallas” Amazon Public Data Sets n/a
Back Office
Office Live Workspace
Business Productivity Online Standard Suite (BPOS)
n/a Google Apps (Docs, etc)

Very random aside – if you don’t know what memcached does, read the best ever overview of a technology ever written – An Adventure In Learning memcached.

Once you grock the Cloud Computing model, it becomes clear that this model introduces many questions around security and privacy. I’m getting rather weary of people saying they don’t like the idea of putting data on cloud services (and *aaS services like Google Docs and others). They’re statistically far more secure than internal networks. There are also interesting commercial models and legal questions but, seeing this blog isn’t Jon On Commerce or Jon On The Law, I’ll leave those alone for now.

Virtual Private Clouds

So we know what a Public Cloud is. And it all makes sense, right? But what about Virtual Private Clouds. That was the question, from Ian Truscott, that made me write this post.

Well, Amazon offer their own Virtual Private Cloud service. In essence, this gives you a VPN bewteen your local network and a dedicated resources on the Amazon Web Services. You can then treat your Amazon instances as if they were part of your local network. In addition to the standard AWS fees, you also pay for each hour that your VPN is in place, and for the data transferred. I’ve stolen their image so I don’t have to draw my own knock-off which wouldn’t be anywhere near as pretty:

My colleague @justincormack got me looking into Eucalyptus - a product which allows you to create your own physical Private Cloud – entirely hosted by you. This works in almost the opposite way to the Amazon VPC Service. You use your own hardware, and install their software over the top. However, they also support the Amazon EC2 APIs, which allows you to administer your cloud as you would an Amazon Cloud and, even better, move resources between your cloud and Amazon’s. So you see, Ian, Private Clouds and Virtual Private Clouds are real and more than just hosting.

But enough of my blabbering. To keep abreast of all things cloud, follow these peeps on Twitter. They keep me in the know:

And as I said earlier, please comment with corrections to my Cloud Capability Table. I’m positive it is strewn with errors. Help me!

  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • StumbleUpon
  • Technorati

6 comments to The Cloud – Not A Crock of Shit

  • Peter

    How about adding bulk data import / export to the comparison matrix? The few times I’ve tried to convince people to use the cloud that didn’t involve security folks screaming for blood, the ramifications of trying to squeeze umpti-bezillion camelbytes of data through teh eye-of-the-internets quickly brought things to a grinding halt. Amazon is quite good in this regard (with AWS import / export), but even then trying to persuade someone to ship their valuable data via UPS / Fedex / wotnot (not to mention the timing hassles shipping adds to a project schedule!) became a Sisyphean task.

    Also, no matter how you slice it, Cloud Hosted Application Virtual Systems (ah acronyms, how I love thee!) tend to behave worse than on-premise apps when it comes to large data requests and/or chatty client applications (AJAX apps I’m looking at you!). Not that I’m by any means an active participant, but I’ve not heard much discussion from the Cloud Cognoscenti about the seemingly important constraints that the speed of light implies to hosted cloud solutions.

  • Jon, really interesting and thoughtful post.

    Players with huge resources like Amazon will be able to provide storage and power at a cost and flexibility that traditional co-lo and managed service providers cannot; that virtualisation will be increasingly important; and that this has a direct impact on hardware provision. [...] Microsoft and Google and going more and more cloudy.

    Oh, wait a minute. I said that last year.

  • Nice post Jon, but I feel I should explain myself.

    My comment on twitter was in the context of some of the cynicism of the cloud computing hype, the comment I replied to from Lawrence (@piewords)referred to an April fools post that CMSWatch/Real Story Group published that gently poked fun at this – my comment was said with tongue firmly in cheek.

    When I tweeted I had been stumbling into your (fictitious) 44% – I too have seen people refer to hosting as the cloud, specifically as ‘a private cloud’. Toss ‘virtual’ on the front of that and you have a buzzword bingo full house, some new age fairy dust has been sprinkled over SaaS and Hosting – and lets face it Jon, if you didn’t know any better last year, what hope for the poor chaps that hold the budgets and buy this stuff today.

    It’s not just the purveyors of software and services – there are still plenty of IT folks that consider any service they get that is not from their server room to be ‘from the cloud’, especially services like Twitter or Salesforce that you use or pay for like a utility. They are not snake oil salesman, they are just trying to justify these models to senior management and are also reaching for the same buzzword-du-jour fairy dust.

    I rarely find myself needing to reach into the gubbings of computing these days, so likely to make myself look like a cock again. But here goes, the term ‘the cloud’ is so open for interpretation – I like your analogy to these services and Java Application Server, does this make these a Platform as a Service?

    Not my area of expertise, just a thought..

    Anyway, tweet carefully out there folks, Jon is watching ;-)

    Ian

    @iantruscott

  • James Humphrey

    “To the cloud!” is the battle cry in Microsoft’s Windows 7 commercials. They use this term for anything from Remote Desktop to SaaS photoshop applications. I still claim the word “cloud” is used so ubiquitously as to be worthless. I stick by the comment I made on your 2009 post. Everyone’s rushing to use a piece of the heat; frankly, I think it’s kind of gutless to attach the word to any project.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>