In Learning Tree’s introductory Cloud Computing course we spend part of the first day developing a working definition of cloud computing. Our definition is simpler than the NIST definition but, I believe, captures its essence. We assert that cloud computing is characterized by:
We can consider these attributes at all three levels of the SPI model (Software, Platform and Infrastructure as a Service). Most people get the idea when it comes to IaaS. PaaS is just slightly more confusing because of the greater degree of abstraction it offers. SaaS, however, can present a problem.
SaaS existed before anyone was using the term “cloud computing”. Because “cloud” has become a marketing term in some sense SaaS providers have been promoting its use in an attempt to re-position their product with what is currently fashionable. Unfortunately this does little to clarify the concepts of cloud computing in people’s minds.
I contend that some SaaS is cloud and some SaaS is not. The difficulty is coming up with a consistent set of criteria to discriminate. For example is Facebook cloud computing? What about Skype, Twitter and even Gmail? If the provider of the SaaS is using IaaS in their implementation does that automatically mean that the SaaS is cloud? Is there something about the type of software provided? What about the size of the application? Could there be a distinction between business software and personal software? The truth is that there are no hard and fast rules and various “experts” have different opinions. That is the trouble with SaaS.
Now, ultimately you might say that the definition doesn’t really matter. Whether a particular SaaS is or is not cloud may be irrelevant in your decision to use it. Definitions, however, are important in terms of our ability to understand concepts. I believe that “cloud computing” is something that can and should be defined. Sorting through the hype is necessary to appreciate the real business and technical benefits that cloud computing offers.
All of this leads to some pretty lively discussion in the classroom! People come from a variety of backgrounds. They often have different notions about what cloud computing is. Over the course of three days we discuss various aspects of cloud computing and get some hands-on experience working with several cloud technologies and tools. Attendees leave with a better understanding of what cloud computing is and what it is not. This makes them better prepared to evaluate cloud solutions for use within their organizations.