SaaS = Cloud, Or Does It?
At a former employer, non-technical staff sometimes referred to one of our system applications as the “cloud.” That wasn’t right, but it was software running on a server they couldn’t see and accessed through a web browser. For most non-technical people, that’s close enough.
This sort of compromised understanding helps close the communication gap between the technical and non-technical. Better to keep a product development meeting moving forward than quibble about terminology. Over time, however, the cloud became ubiquitous. It got so bad that every computer that had an Internet connection was somehow part of the cloud. And when a lot of people agree on something, it’s exceedingly difficult to tell them they’re wrong!
The NIST Definition
The official definition comes from NIST (National Institute of Standards and Technology):
“… a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (eg., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
NIST goes on to describe the five characteristics of a cloud computing model, paraphrased below:
- On-demand self-service. Computing resources such as server time and network storage are obtained as needed without requiring human interaction with the service provider.
- Broad network access. Resources are available over the network and accessed through standard mechanisms (e.g., mobile phones, tablets, laptops, and workstations).
- Resource pooling. Resources are pooled to serve multiple consumers, with different physical and virtual resources dynamically assigned and reassigned according to demand.
- Rapid elasticity. Resources are elastically provisioned and released, sometimes automatically, to scale rapidly up and down with demand.
- Measured service. Systems use metering to automatically optimize resource use (e.g., storage, processing, bandwidth, and active user accounts).
Cloud computing is delivered via three service models: SaaS, PaaS and IaaS. Most of the confusion stems from misunderstandings of these service models. A SaaS application isn’t necessarily a cloud application. The term “Software as a Service” actually predates cloud computing and many SaaS applications do not have all of the characteristics listed above. I think these service models are easier to grasp when you see examples of each:
For the record, the NIST definition also discusses deployment models. Since deployment models describe how cloud computing is delivered and not what it is, I’ve chosen not to cover them in this post.
When SaaS <> Cloud
The loyalty management system used by one of my former employers is more accurately described as a SaaS application. I wouldn’t go quite so far as to call it a cloud application because it doesn’t have the pooling, elasticity and measured service characteristics.
It’s an important distinction from a corporate governance perspective. Shareholders, assuming they know the difference, would much rather hear “cloud” than “SaaS” because it says a lot about the system’s level and speed of scalability. I don’t mean to imply that SaaS is somehow not scalable. It is, but it doesn’t happen as seamlessly. Furthermore, the time and money required to make the transition is significant.