There is so much confusion (and fear) about what the term Cloud Computing means and what it really is. Now that everybody kind of "gets" SOA, the new buzzword that people can't grasp is Cloud Computing. Everyday I see the same questions being asked in LinkedIn like What is the difference between Cloud Computing and SaaS? A simple question like this will get 100 different answers. So this is my attempt to clear the fog on Cloud Computing in a simple non-technical way (sorry for boring those that already know this stuff).
Here is a picture that shows a high level view of different types of cloud computing
This picture is very basic but shows different types of companies leveraging the cloud model. You can also see that some types of computing are a subset of the cloud. Let's talk about the different types and what they represent (forgive me as I reuse some slides from a previous presentation).
First you have the Internet which we are all familiar with. When the Internet first became the buzz, a lot of the same confusion and fears that surround cloud computing today were being discussed back then. How is it secure? Who owns the infrastructure? How do I control it? Early adapters saw the opportunity to reduce costs by moving brick and mortar operations to the Internet and increase revenue by providing services and goods 24x7x365. This following picture shows some major web sites that leveraged the Internet (or should I say Cloud 1.0 to be hip).
Then came Software as a Service which was pioneered by companies like Google and SalesForce.com. With SaaS, instead of buying shrink wrapped software that you must install on your infrastructure, patch, administer, and do all of those other non-value added tasks, you simply "lease" the rights to use the services that are provided. In the case of Google and services like GMail, you get it for free.
Companies like Google, SalesForce.com, and Amazon have built out huge datacenters in multiple locations with an enormous amount of capacity. They cannot afford to have a huge spike of traffic take their sites down and risk losing millions of dollars a day. At some point, these companies realized that they could offer their excess capacity for a fee to other companies to use. These companies would be able to take advantage of world class production environments that are proven to withstand millions of concurrent users. This is what is known as Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). The difference is the platform.
PaaS providers like Google's App Engine and Force.com allow you to build your own applications on top of virtual server instances but restrict you to using their development languages. For Google it is Python, for Microsoft's Azure it is .Net, for Force.com it is Appexchange. One could argue whether Facebook should be classified as PaaS. I put it there because they now provide a full development platform for running applications on Facebook. Checkout this Facebook App by Starbuck's.
Infrastructure as a Service (IaaS) removes this limitation and gives you the ability to create virtual servers and develop in whatever you choose. The most popular IaaS vendor is Amazon who is in my opinion the leader in innovation and maturity in the cloud computing space.
So when people ask me what cloud computing is, I include all of these different models into my definition. "In the Cloud" to me means leveraging infrastructure off-premise. With SaaS solutions, the underlying infrastructure is hidden from you. With PaaS, you manage the amount of virtual server instances you use but you must use the technologies required by the provider. With IaaS, you manage the resources you use and are free to leverage whatever technologies you choose to deploy on.
Here are a few other useful resources that show a fairly complete list of vendors and the niche they fill.
Peter Laird - Visual map of cloud computing
Markus Klem - Cloud Classification diagrams
John Willis - Tools to use in the Cloud
John lists a number of vendors who provide a wide variety of tools to manage, configure, monitor, and scale including open source alternatives.
Check these resources out. I hope this gives you all a clear picture of what Cloud Computing is. The benefits and the risks are blog topics within themselves. I'll save that for another day!
4 comments
Post a Comment
Subscribe to: Post Comments (Atom)
My favorite sayings
"If you don't know where you're going, any road will get you there"
"Before you build a better mouse trap, make sure you have some mice"
"Before you build a better mouse trap, make sure you have some mice"
December 11, 2008 at 10:27 PM
Thanks. This is one of the more clear attempts at explaining the cloud. I like that you sliced and diced it a few different ways.
December 11, 2008 at 11:28 PM
@Randy,
Thanks, I think it is important for people to get the terms right. I will probably do another post debunking some of the myths. Some of the resentment towards cloud computing is just simply due to a lack of knowledge and a clear understanding of the terminology.
December 12, 2008 at 2:21 AM
Thanks Mike. I'm always looking for good references that articulate web concepts in simple terms.
eric
May 29, 2009 at 1:40 AM
Now I have clear perseption about the cloud computing concept.
Thanks for posting this!