What is Cloud Computing
May 19, 2009 4 Comments
Last week the National Institute of Standards and Technology released their draft definition of cloud computing. I’ve read several blogs and articles that express their opinions on the matter and realized why should my opinion be any less important. So here I am back on my soap box to give you my two bits on the subject. Ok, so its not a soapbox so much as a cardboard box that promptly collapsed flat when I tried to step on. But I’m still standing on it and you’re here so I’m going to assume you have at least a passing interest in what I have to say.
Why do we care about a definition?
Like every other industry buzz word of the last 30 years, cloud computing has caught on and is being bandied about as the silver bullet for just about everything. Yet nearly everyone is using a different definition. This is only adds to the confusion that many IT managers may be feeling and when they are unsure about a technology, you can bet they won’t want to put their critical business functions on it. At least not without a darn good reason.
So the first reason for a definition is to clear the air a bit and make sure everyone has the same basic foundation.
The second reason is to help establish certain concepts and terminology that can be used to help discuss cloud computing so that we can all talk the same language. Lets say two people get together for a discussion on cloud computing. They both have the same definition but one speaks English while the other speaks only Mandarin Chinese. Having a common definition really isn’t going to help them because their vernacular is completely different.
The NIST’s Definition
Go read the full definition (its only 3 pages) if you like. I’ll just summarize it here:
- Cloud Computing solutions must provided on-demand self-service, be accessible from anywhere on the internet, provide location independent resources, and exhibit rapid elasticity (aka quickly scalable), and fees should be based on usage (pay per use)
- the Clouds themselves can exist as a private (dedicated solution), community (think farmer’s co-op), public (EC2), or hybrid infrastructure (combination of other types)
Furthermore, cloud solutions exist as 3 types:
- Software as a Service (SaaS) – access application services (Google Apps, Yahoo Mail, crm, etc…)
- Platform as a Service (PaaS) – deploy your application into someone else’s infrastructure
- Infrastructure as a Service (IaaS) – you manage your portion of the cloud and the bits that are on it
Not a bad first stab actually. I don’t necessarily agree that rapid elasticity MUST be a requirement. For many SaaS offerings, I don’t believe this applies. If you’re Joe average using a hosted email solution, you really don’t care about the ability to rapidly increase capacity. Its more the job of the vendor to make sure they plan for and manage the growth of their service. So they must have the ability to scale, but its not something that has to be quick or that you need to be able to manage yourself.
I also don’t agree with a small note that these solutions need to be accessible via thin clients. Limiting ourselves like this seems kind of pointless.
So how does this help?
Now we’re to the crux of the matter. IMHO, cloud computing isn’t really anything new. Its been around by my account for at least 10-15 years. Its just that today we’re finally getting to the point where the technology is making it more mainstream and easier to consume. IT managers are starting to demand the kind of convenience they’ve been getting from end user applications in their enterprise solutions. By using these terms and putting them in context, we can help address many of the perceptions and fears that are out there. Here’s my short list…
“Cloud computing is too cutting edge, we’re not an industry leader.” – Remember back in the early 90’s when you signed onto Compuserve for your company’s email solution, you were consuming Software as a Service. So this is definitely a road that has been well plowed.
“There’s no money in providing cloud solutions.” – There’s a relatively small company in California that would beg to differ this point. They have millions of subscribers, each paying only about $15 a month. They host this highly successful SaaS offering in their private datacenter and provide their users with a custom client to access their data over the internet from anywhere in the world. This product is estimated to generate about $250 million annually. The product is one you’ve heard of but likely never thought of as a cloud solution… the computer game World of Warcraft.
“Why would I let someone else host my applications and/or data” – When was the last time you set foot in your own corporate datacenter? You have a group of network jockeys that keep things up and running. These folks might be your own employees but could just as likely be contractors. Heck, the datacenter itself likely isn’t even in a building you own but instead in a larger center that you simply pay for space in. You’re already consuming PaaS or IaaS in a fashion.
So lets have a seat and start a conversation
Ultimately, what the NIST or any other ‘governing body’ has to say doesn’t really matter all that much (at least to me). The real point is to get folks to start agreeing on what things mean. The terms will change of course (its the nature of language and also an interesting topic itself), but at least these attempts at definition allow us to start the dialog that will eventually enable us to get to the real work of solving problems. And isn’t that what we’re really here for?