Cloud computing and SaaS

"What is the difference between cloud computing and software as a service?"

This is a really good question.  Let’s explore this space for a bit and hopefully we can come to a good answer.  (I am going to attempt to be brief here so please forgive me it this is not an exhaustive study and lacks some appropriate reference.)

If we look back far enough, we find most of the popular and modern terms describing advanced multi-computing are actually forms of distributed computing, which has been around since the early 1980s. (See A primer on distributed computing) There has been significant hype/spin as well as real advancements that have “clouded” :o) the whole concept (In fact, I am fond of asking; “Please tell me what you mean when you refer to one of these terms, because I can’t figure them out any more!”).  There are many facets that have evolved in distinct ways which represent real value and when I get a chance, I am going to create some type of figure showing these interrelationships.  For now, we’ll stick with the more recent concepts and I will give you my opinion.  (I will say that If you want to know more now, there is a good reference all-be-it a couple of years old from the GGF I would send you to: The Different Faces of IT as a Service)
 
Most discussion these days involves grid, utility, and cloud computing to which we will add software as a service (SaaS).
  • Grid computing is a fairly all encompassing concept and as you probably know, can be generally defined as:  “a system that uses open, general purpose protocols to federate distributed resources and to deliver nontrivial qualities of service.”  Or in other words, it uses standard “stuff” to make many distinct systems work together in a way that makes them useful.
  • Utility computing or on-demand computing is the idea of taking a set of resources (that may be in a grid) and providing them in a way in which they can be metered.  This idea is much the same as we buy electricity or a common utility today. It usually involves a computing or storage virtualization strategy.
  • Cloud computing is a subset of grid computing (can include utility computing) and as I mentioned in my opening post, is the idea that computing (or storage) is done elsewhere or in the clouds. In this model many machines (Grid) are orchestrated to work together on a common problem.  Resources are applied and managed by the cloud as needed.  (In fact this is a key characteristic of cloud computing.  If manual intervention is required for management or operations, then it probably doesn’t qualify as a cloud.)  Cloud computing provides access to applications written using Web Services and run on these Cloud Services.
Now let’s add to this discussion the idea of Software as a Service (SaaS).  Usually this means a model where diverse applications are hosted by a provider and users pay to use them.  So I would say the key distinction of SaaS and cloud computing is the service and business model provided as opposed to the architectural mechanism used to deliver it.  In fact, I think it is also fair to say that a cloud computing architecture may be the key/best mechanism for delivering Software as a Service. Let’s look at a couple of today’s trends and see if this all fits.  Probably the best known examples are of course search and mail.  There are several companies that offer both freely, they are available via the web, and they are written using web services.  (There is a growing set of additional capabilities that are becoming available.)  For the most part, these are all free (fee based versions exist).  Based on the scale and ubiquitous service they are able to deliver, it is fair to say that there is a cloud behind them.  The Amazon Elastic Compute Cloud is noteworthy here. It is a virtual farm, allowing folks to host and run “their” diverse applications on Amazon's web services platform.  It represents an excellent example of a business model where a company is providing “Cloud Services” to those who can and are willing to take advantage of them. Software as a Service is the logical next step in evolution.  It is going to be very interesting to see how this motion will emerge. Ideally users will be able to “rent” the application and everything needed to apply them to their business in the form of Software as a Service.At some point, we should explore SaaS as it relates Application Service Providers (ASP) and On-Demand computing, but enough for now.  I welcome your thoughts or comments...

Comments  Comment RSS Feed

Jeff said:

I understand the idea that with SaaS, people will "rent: the use of applications.  Is this concept the same for cloud computing.  That is, will people "rent" space in the cloud, and if so, how will this be charged?  As a follow-on question, how does this differ from an outsourced data center where you rent compute space with a vendor like Rack Space?

Todd Brannon, Dell Data Center Solutions said:
 Hi Jeff,It’s a good question you raise.  Yes, with cloud computing services the user essentially pays for compute, data transfer and data storage on a consumption basis.  Perhaps the most widely known example of this today is Amazon’s Elastic Compute Cloud (EC2) service.    With traditional dedicated hosting  the user is paying for the use of a discrete physical machine.    With a cloud service the user is buying computing capacity that is provisioned from an array of physical servers managed through some type of cluster control middleware.  The advantage in the latter being that the user can dial up and down the amount of resources they need or want to pay for very flexibly.  The advantage of dedicated hosting is having more control over the software stack loaded on the system as well as the peace of mind some seek by knowing their applications aren’t “sharing the bus” with other users on the same physical hardware. Here are some examples (by no means an exhaustive list) of cloud-type services that exist today:

 

Rackspace’s Mosso

 

XCalibre’s FlexiScale

 

Enki

 

Terremark’s Infinistructure

 

Joyent 

 

If manual intervention is required for management or operations, then it probably doesn’t qualify as a cloud

You contradict yourself in this post.  You say the above and then you agree that Amazon's EC2 is a cloud.  EC2 out of the box is nothing but manual intervention to manage.  

johnmwillis.com 

In my opinion, defining a cloud all really boils down to the contract between the user and the provider of the "resources" in question. That's where the real innovation lies.

The provider agrees to provide as much of the resources as the user wants when the user wants (i.e. "On-Demand") and over some well defined interface. On the user's end of the agreement they agree to pay for resources consumed and agree to have no hand in running or managing those resources aside from some basic in-service configuration parameters. How the provider holds up their end of the bargain is of no consequence to the contract between the user and the provider (unless it impacts the service level agreement of the contract). Obviously, you won't last long as a business in this space without automated operations... but by definition, how a provider operates  the "cloud" services behind the interface they have contractually agreed to provide does not change the model.

 

Damon Edward
http://open.controltier.org
http://dev2ops.org

 

Leave a Comment

Compose
Preview
(required ) 
(required , not published) 
(optional )
(required ) 

Note: Conversation is encouraged and expected. However, moderation of comments is necessary to prevent spam, personal attacks, profanity, mentions of legal action or off-topic commentary. We will not publish comments that advertise shopping sites or ones that violate our terms of service.

Comments related to specific product support or customer service issues will be addressed separately rather than posted here. Please use the links in Contact Us for product and customer service assistance.

About Cloud Computing  |   Contact Us Creative Commons License Powered by CommunityServer