Wednesday, June 29, 2011

Cocktails and clouds, or how to explain SaaS, PaaS and Iaas

Recently I’ve been finding myself at the same awkward moment repeatedly; a social gathering of one sort or another, introductions, platitudes and the inevitable 2 questions:  “what do you do?” and “oh, software, what kind of software?” I have been experimenting with different explanations and examples, but judging by the faces looking at me I might as well just said I herd cats for a living.
Using familiar examples seems to resonate, it goes something like this:
A:  do you used Gmail or Yahoo?
WEP:  “yes… doesn’t everyone?
A: Why then you’re using ‘’the cloud’’! That is just an example of SaaS.

Ok. That gets the ball rolling, a bit.  But WEP (wide eyed person) is somewhat left unconvinced about this whole cloud thing. Heck, web based email has been around long before Cisco started advertising cloud on TV.
Setting up this blog triggered a thought – blogging is almost as common as ATM machines and Oprah. What if this could be the linchpin in explaining cloud to my mom?

So, you want a blog you say. Why it’s simple. Get yourself a cable modem, a decent server, tinker with some good old open source tools (linux, apache, php and wordpress) for a bit, and presto. Your ramblings are now out there for the world to enjoy.
That’s so last century.

Lets go up the stack – why do you need a server? And what happens if you’re in the NE where we get snow once in a while and the power goes out. Not to mention arranging for the world to reach your server is not that trivial either (static IP addresses and DNS setup and all sorts of headaches). Assuming the gods of shipping and cable companies cooperate, you’d be up and running in a week or two for less than 1000$ for the server and 100$ for power and net connection.

Rather than having a physical server with a dedicated net connection in your basement, the cloud offers you IaaS, or Infrastructure as a Service.
Head over to Amazon EC2, sign up for an account, and within a few minutes you have a server hovering in low altitude clouds for you to tinker with. This server comes with guarantees for availability, even if you're snowed in. You log in as super user and start setting things up – web server and up. A decent system administrator could get this setup in less than a couple of days.
But wait, now you need to setup security and worry about ongoing feeding of the beast (patching). That sys admin is no longer a onetime shot.
Cloud comes to the rescue again. After all, you just want a blog. can host anything that runs php – like the open source blog engine You just ran into PaaS – in a nascent way. 0php gives you a platform – OS , web server, database and the likes, that your favorite software can use (as long as it only uses what it is allowed to use).

But me, I was lazy. I don’t want to run a blog engine… just ramble on an on, with not a worry (or maybe just worry about color schemes and such). 
Enter – you guessed it, there’s a cloudy name for them too. They’re SaaSy – the blog engine, the software I actually care to use, is offered for me as a service.
So on I ramble. Maybe these XaaS make more sense now?