Throughout the CloudCamp sessions, most people discussed cloud computing as infrastructure in the cloud. People talk about the advantage of not having to procure and configure physical servers. People talk about the elasticity and utility factors of the cloud. People talk about scalability of the cloud. But not once, at least in my conversations, did people talk about the applications in the cloud. The one time that I raised the question that related SaaS to cloud computing, I was immediately told that SaaS is not cloud computing. Some even questioned wether Google App Engine is considered to be a cloud.
During Reuven Cohen’s “What is Cloud Computing?” session at CloudCamp, the first question I asked the group after Reuven did the introduction was, “What is Computing?”
Wikipedia defines it as the activity of developing and using computer technology, including computer hardware and software.
Computing Curricula 2005 defined computing: (via Wikipedia)
In a general way, we can define computing to mean any goal-oriented activity requiring, benefiting from, or creating computers. Thus, computing includes designing and building hardware and software systems for a wide range of purposes; processing, structuring, and managing various kinds of information; doing scientific studies using computers; making computer systems behave intelligently; creating and using communications and entertainment media; finding and gathering information relevant to any particular purpose, and so on. The list is virtually endless, and the possibilities are vast.
Based on these definitions, it would seem like running and using any type of application, including SaaS applications, would be considered “computing.”
So then what is cloud computing?
Gartner defines cloud computing as, “a style of computing in which massively scalable IT-enabled
capabilities are delivered ‘as a service’ to multiple customers using Internet technologies.”
I am generally fine with this definition. It is sufficiently vague that it can cover many different things. It’s also not that different from how Reuven Cohen defined it, “Internet centric software.” So let’s for the time being accept this as the definition.
However, I will try to go a bit further here. In the computer industry, there’s always been the notions of platforms and applications. Wikipedia says that
In computing, a platform describes some sort of hardware architecture or software framework (including application frameworks), that allows software to run. Typical platforms include a computer’s architecture, operating system, programming languages and related runtime libraries or graphical user interface.
Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. … Typical examples of software applications are word processors, spreadsheets, and media players.
This is no different in the cloud computing world. In the cloud computing world, there are “Cloud Platforms” and “Cloud Applications.” Cloud platforms include offerings such as Amazon’s EC2 and S3, or Joyent’s Accelerator. Cloud applications include offerings such as Salesforce.com, NetSuite, SuccessFactor and many others.
So, is SaaS cloud computing?
Since using applications is considered to be computing, and that SaaS is basically providing application software in the cloud, then using SaaS should be considered cloud computing.
Jason Stamper also says “yes” and sees no difference whatsoever.
Interesting enough, Gartner says “no” and calls it a myth that people consider SaaS to be cloud computing. Why they say no is a mystery to me. If you look at Gartner’s definition on cloud computing, there’s absolutely nothing there that would exclude SaaS.
What do you think? Is SaaS Cloud Computing?