One of my 15 fans asks, “Janet what the heck is cloud computing, when should I consider a cloud service model and when should I not?” This is a great question and much better than an anonymous question I received via my chat widget, “what is the current state of e-learning?” Seriously. And, to which I responded…let’s try to break that down a bit…
First, let me point to some existing definitions cloud computing. I always start with the definitions. Otherwise, it’s all fuzzy. Which it actually it is. Clouds, if nothing else, are ‘fuzzy.’
Cloud Service Models
Cloud Software as a Service, or SaaS (pronounced “sass”) has been the term used by learning management system providers for several years to described their “hosted” service model. “Hosted” meaning 100% browser-based in this context. The (U.S.) National Institute of Standards and Technology (NIST), in their effort to “promote the effective and secure use of the technology within government and industry by providing technical guidance and promoting standards,” has defined SaaS, as:
The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Another service model is Cloud Platform as a Service” (PaaS). Fewer LMSs offer a PaaS solution (vs. SaaS) but some are moving in that direction. NIST defines PaaS as:
The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.
Yet another service model is Cloud Infrastructure as a Service (Iaas)
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
Some lower-tech descriptions
I like this diagram and explanation from Michael Sheehan:
There are other ways to display this hierarchy, however I elected to show it as a pyramid. For example, if one were to weight the graphic by the number of providers within each segment, the pyramid would be upside-down. The point here though is to show how these cloud segments build upon and are somewhat dependent upon each other. While they are directly related, they don’t require interdependence (e.g., a Cloud Application does not necessarily have to be built upon a Cloud Platform or Cloud Infrastructure). I would propose, however, that Cloud trends indicate that they will become more entwined over time.
(click diagram to make larger)
Another great read is Defogging Cloud Computing: A Taxonomy from Michael Crandell.
The technology industry has been moving toward open standards for some time, and cloud computing is the next logical step. Cloud solutions -– at any of the three levels described above -– are attractive for just about any company with an application that runs in a data center or with a hosted provider, that doesn’t want to reinvent the wheel or pay a premium. Multi-tenancy, low cost (metered hourly vs. monthly ), high availability with clustered servers (one goes down, spin one up automatically), virtually infinite scalability with a click –- all this is here, and here to stay. Our job as cloud vendors is to make it easily accessible and manageable, deliver best practices and continue to refine the architecture.
One of the better nut-and-bolts definition uses the common utility comparison. This one is from Darryl Chantry at Microsoft in his article, Mapping Applications to the Cloud..
Utility computing refers to using computing resources (infrastructure, storage, core services) in the same way you would use electricity or water; that is, as a metered service in which you only pay for what you use. The utility can eliminate the need to purchase, run, and maintain hardware, server, and application platforms, and to develop core services—for example, billing or security services.
When I query our LMS KnowledgeBase of 100 commercial systems by systems with 50% or more of their implementation are hosted (SaaS), it returns 70 systems. Among 107 authoring tools in our Authoring Tool KnowledgeBase, 39 have server-based authoring environments that one or more content developers access simultaneously using their browser. SaaS has been trending for quite some time. Years in fact. What we’ll see more of now is PaaS service models.
Cloud Deployment Models
Again from NIST:
The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.
The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.
The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.
The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
When should you consider a cloud solution and when should you not?
I’ll comment on that in my next post in this series. This one is too long as it is. I welcome your answers to that question and will feature them in the next post.