Continuing on in my effort to analyze the NIST definition for cloud computing, let’s look at the characteristics they attribute to any system that claims to be cloud computing.
Firstly, I do think it makes sense to have some way to distinguish “cloud computing” from other flavours of IT. For example, it would be hard to argue that Microsoft Office running on a desktop PC is cloud computing. Today’s desktop software is certainly not Software as a Service. However, these distinctions may just be a short-lived marketing strategy if IT solutions eventually blend all of these “tools” together. There may eventually be little distinction between cloud and non-cloud technologies. Desktop Office mixed with Office 365, for example, would allow some programs to be used locally while others are cloud-based.
Secondly, I believe it would be hard to say that any given set of cloud characteristics are all essential, and that all of them are required before something could be called cloud computing. That certainly isn’t what’s happening in industry, where varous vendors are all trying to portray their products as being cloud computing.
The NIST essential characteristics are:
On-demand self-service (Provisioning of computing capabilities automatically without requiring human interaction with each service provider): Once a buyer-seller relationship has been established, there is no reason that self-service shopping could not be applied to any IT asset. For example, today it is possible to use a portal to place orders for IT services within a company (and this is well-established for purchasing software or Internet access at the consumer level). What is different is if this is applied to a hour of server processing time (i.e., timesharing?).
Broad network access (network accessible through standard devices such as mobile phones, tablets, laptops, and workstations): There can be two parts to this: the ability to use a wide range of devices from different providers, and ubiquitous availability of satisfactory networks. These are certainly desirable goals for most systems these days. Perhaps here the question is whether this excludes anything, such as client-server systems for example.
Resource pooling (serve multiple consumers using a multi-tenant model, with dynamically assigned and reassigned resources with little or no control over resource location): This is an area where cloud computing may differ from “legacy systems” where applications were not multi-tenant and the underlying servers were often dedicated to a single application. Pooling of resources (e.g., networks, network-attached storage, virtual servers, shared print services, etc.) is not unheard of however.
Rapid elasticity (ability to quickly adjust capacity commensurate with demand): This may be another area of differentiation, since typically a dedicated solution cannot dynamically re-allocate unneeded capacity to another customer or even another application. If this type of elasticity is implemented successfully, this is one area where significant cost savings could result. Since cloud computing is predicated on it being a lower cost alternative, it could be concluded that this is an essential characteristic, if only for business reasons.
Measured service (automatic control and optimization of resource use through metering): This is the heart of the “pay as you go” principle and would be essential if billing is truly based on actual usage. For many organizations, however, a flat-rate subscription is preferable for budgeting purposes and some services are even offered for free. It is not obvious that this is an essential characteristic.
Far be it for me to try to discredit the NIST efforts to bring some order to the constantly changing world of cloud computing. Let’s just say that it would not be a good idea to define cloud computing by its characteristics alone.