Monday, May 11

Defining the Cloud

I just read another definition of Cloud Computing. It was a pretty good one, similar to what I submitted to the non-geek definition conversation. To save you the suspense and extra clicks, Andre Yee defined Cloud Computing as:
An on-demand delivery model for IT services or applications with the characteristics of multi-tenant hosting, elasticity (variable capacity) and utility based billing.
My version was:
Shared computing infrastructure over the web that distributes cost across participants and lowers the cost for each.
I actually like Yee's better than mine. I was focused more on the business purpose than actually describing what it is.

In thinking further, I think we should remove applications from the definition. Applications are delivered As a Service or On Demand. But it is infrastructure that is provided 'in the Cloud'. When we talk about Cloud Computing, we're talking about shared infrastructure (hardware, OS, security mechanisms, backup, etc.). I personally wouldn't use cloud terminology to describe what salesforce.com has made famous.

Salesforce isn't sharing infrastructure with other software providers. They're just including the infrastructure as part of the value they provide to customers. Their delivery mechanism internally looks a lot like what cloud computing providers offer, but they're offering it to their own customers.

Cloud Computing is a service for software or solution developers that can reduce cost by leveraging a shared infrastructure that is billed based on use. Those developers then offer their solution As A Service. But, they can also offer their solution As A Service without utilizing a Cloud infrastructure. They can, as Salesforce did, build their own infrastructure.

What do you think? Worthwhile distinction? Clear?

4 comments:

Matt Flynn said...

I wish I saw this before I posted, but it's a good supplemental read that really makes my point. ...or at least provides additional food for thought.

Jeff Huth said...

I think we both started at Andre's blog and move different directions. NIST has produced their definition of Cloud Computing and I think it is consistent with you.

SaaS is considered one "delivery model" and they say:

"To be considered “cloud” they must be deployed on top of cloud infrastructure that has the key characteristics"

You can get to it here: http://jeffreyhuth.blogspot.com/2009/05/weather-forecast-cloudy-with-chance-of.html

andre yee said...

Matt - love the conversation and thanks for stopping by my blog.

There's no shortage of interest in getting to a definition for cloud computing and your perspectives have helped shape my view

Thanks

Andre

Murugesh said...

Hi Matt,
I understand Cloud as a combination of "Software as a service" and "Infrastucture as a service".

- Murugesh