The real cloud computing

I've been quiet, too damn quiet, for far too long. You see, as the Dude would put it, "lots of shit came to light" and when it hasn't been terrible, it's been so bad that blogging has been at the very bottom of my priority stack. But not tonight, oh no. Tonight I have an ax to grind, and I'm going after cloud computing.

The cloud computing concept nowadays breaks down in two major camps:

  • that of the Storage, and
  • that of the CPU (or virtual machines if you prefer)

Cloud storage just works and we love it. Someone gives us a REST/SOAP interface and we tell it "here's this blob, store it under this key", we get "kthxbai" and we go our merry way. This is the perfect image of cloud computing. There's no managing of storage, you don't have to request "extra" disk space or "manage" partitions. It Just Works (tm).

Virtual machines on the other hand, sorry! This is not cloud computing! At least to me it's not. Having to create system images? Manage the full software stack? Networking? If this is a form of cloud computing then bow to IBM, HP and whatnot because have been doing it for ages as they manage the mainframe hardware and your sysops (which at this point should have Cloud Computing Expert on their business cards) manage the OS and everything that runs in there. You don't buy hardware, you lease it! So all of the sudden it's cloud computing because it's all in datacenters you have no access to and you pay a lease?! Give me a break! Yeah, this new wave of cloud computing experts/consultants are just glorified sysops, as much as flight attendants are just glorified waitresses. At least the latter actually do business in the clouds, but I digress. Anyway, the only innovation I see on this front is on demand resource availability. (Almost) all the rest: crap!

It's not all bad though, I can see light at the end of the tunnel and it comes in the form of Google App Engine... and something else (more on this at the end). It's not the only solution mind you but it's by far the most popular and most well executed.

You see, in GAE you don't have to manage system images, you don't have to manage networks and all that jazz. You deploy to it, give it instructions on how the world can interface with it and you're done. You don't know or care how many CPUs you're code is running on, where they're at and how to reach them. It all happens under the hood, a hood made by clouds. And let me tell you: it is beautiful! Go try it yourself if you haven't done so already and witness how awesome it is. Don't let the snake bite you, you RoR fanboy, the word is that now that GAE drinks Java, JRuby can also deploy to GAE so go create your awesome 20 minute blog with RoR and give it a try.

But GAE isn't the end solution, oh no, there's something even better, way better, down the pipeline and it's called <your browser name goes here>. You see, a group of smart people hooked up and 9 minutes later this idea that browser clients could be used to process chunks of work came to birth in the form of collaborative map/reduce. Fortunately I had the privilege of being introduced to this idea a few weeks earlier so it wasn't really new, but I was left breathless by it's simplicity and a whole new world of possibilities came to me and I just hope I have the will power to bring at least one to life.

And this, this is cloud computing. Millions and millions of workers requesting serialized code and data they can munch on and you won't have to do a thing to make them work for you. Beautiful! Awesome! And it's light years ahead of this stupid concept that of having to manage virtual machines and virtual networks is the best thing since sliced bread.

Permalink Comments