SaaS vs. Cloud - So many opinions!
My colleague Bill Higgins posted a great blog post (internal IBM) asking about the difference between Software as a Service (SaaS) and the Cloud. Here are some of the distinctions he received, which I think all of have some subtle and not-so-subtle differences. I didn't include some that were similar to others, and I've edited them but kept the gist of each:
(1) SaaS is just a different way of distributing your product compared to shink-wrap. Something like SugarCRM, SalesForce, even Flickr or Google Mail. I don't install that software, I use it over the network. The software itself has been designed as a set of "services" (loosely - in some cases huge wads of icky HTML, CSS, JS, maybe some back-end HTTP accessible "API"s).
Cloud is a different way of obtaining and using hardware and middleware.
I don't need a "cloud" to build a SaaS-based application or publish a SaaS or whatever. Likewise, I might use a cloud to just provide a backing store or cache, as opposed to a "service".
A developer might still consider some of these middleware Cloud accesses a "service", but that's just because typically Cloud stuff is also accessed over the web, in the same ways that a SaaS is. It's convenient that they use the same transports and protocols, but it's not a requirement. Not too long ago, IBM had "cloud" services available for some customers, but instead of providing web-based tooling to configure/setup, it was all done via email. It was still a cloud in the end though, by my definition.
The business model aspects of SaaS are a vital to the definition. But, I also believe that SaaS is best viewed as a solution, and the SaaS operator holding the role of Solution Integrator (SI).
(3) SaaS may not just a different way of distributing your product. It could also be a way of offering a set of capabilities directly to end-users of the product rather than administrators of the product. If I had a SaaS offering of RTC, I'd start at a url, register myself, pay for my intended level of use, and start using the services -- creating projects, adding team members, creating work items, etc.
If instead I am concerned with choosing an RTC image from a catalog, deploying and configuring it for a particular cloud and ultimate end-user environment, then I am dealing with a different way of distributing RTC compared to shrinkwrap, but it doesn't feel like SaaS. It feels very much like the shrink-wrap version except I am saved from all of the effort in setting up and maintaining the underlying hardware and software stack. This is a product that is consumed by an administrator type. That administrator may turn around and offer it to end-users as a public service or maybe just for use inside my company(kind of like Rational Engineering Services does for internal users).
(4) [I]n my mind SaaS is the software vehicle we serve or service via the Web/Internet. Cloud is the infrastructure (which includes things like the business and operational layers) that serves the software service(s). I think of SaaS as the "client" and cloud as the "hardware". Then there's this concept of managed vs. unmanaged SaaS. In other words, the amount of flexibility consumers have to manipulate/customize their SaaS environment...but that's a different can of worms ;-)
(5) I think the most important part of SaaS is the "aaS". I think most of us think of cloud as Infrastructure as a Service (IaaS) or sometimes called Hardware as a Service (HaaS) like Amazon's EC2, or GoGrid, or Rackspace's Mosso and SliceHost. Some of us extend our cloud definition to include Platform as a Service (PaaS) like SFDC's AppEx, MSFT's Azure, or Google's AppEngine. Some stretch their cloud definition to include "private" clouds.
To me, the common thread is the "aaS" - everything is an aaS ;-). To me, cloud computing means a programmable system on the web. I would include IaaS, PaaS, and even vendors like ning that let you program your own facebook-like websites. SaaS generally implies the delivery of an application aaS. So it gets a bit grey because many applications are somewhat programmable. Just look at the "programmableweb.com".
Some people use the term "the cloud" to refer to the internet. So SaaS is just an application running on the cloud. IMHO, that is not cloud computing - just an application service on the web. By analogy, cloud computing is a programmable (or computing) service on the web (aka cloud). You don't have to buy it - but it works for me.
(6) SaaS is a business model
* SaaS allows a customer to pay for a specific software service hosted by a provider
* SaaS can be hosted on a cloud infrastructure but this is not required
* Saas provides the ‘full service’ solution-> Software + infrastructure + other services
* Usually located off-premise, for public use, with Pay-as-you go or Bring-your-own-license model.
* Consumers have little or no control on the infrastructure
Cloud is a platform or deployment model
* Cloud supports multiple services
* Infrastructure as-a Service
* Platform as-a Service
* Software as-a Service
* Can be located On-premise, off-premise and hosted as a virtual private
--------------------
Clear as mud, eh?
0 comments
Leave a comment...
To leave a comment on this posterous, please login by clicking one of the following.
