Companies keep announcing cloud products, services and solutions. But what is cloud and what is it not? That’s really the question that we should ask ourselves. According to NiST, cloud is defined as: “a model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is comprised of five key characteristics, three delivery models, and four deployment models.”
The only elements highlighted are on-demand access and rapid provisioning. Other concepts including multi-tenancy, billing etc. are assumed to be included by some. If you look at it, virtualization is not included either, although it is understood that virtualization is needed to separate the workloads from the actual resources they will have to run on.
This makes comparisons of offerings difficult. To really compare, we should work with a common framework. let me suggest you one that is articulated around three series of functionalities, called Supply, Delivery and Demand.
The Supply layer is focused around the resources themselves and addresses resource provisioning and configuration as well as resource management. The base supply layer dynamically provides the resources required and releases them when no longer required.
The delivery layer executes the service orders placed by the demand layer. It does so by initiating the process of provisioning (actually performed by the supply layer) and configures and activates the services that will be executed on the provisioned resources. It monitors the execution and measures the usage. It also initiates the release of the resources when the workload has ended.
The demand layer is the layer through which the user registers for the services. Through a portal, he/she gets access to a choice of services and subscribes for a given duration. Confirming a choice starts a service order that is executed by the delivery layer etc. In case of pay-per-use, this initiates the metering, followed by the billing process. The demand layer also manages users, user access and reporting, and SLA management.
The fundamental question is whether all three layers, including their billing function, their user management etc. need to be available for an environment to be called “cloud”. Many companies call cloud an environment only containing provisioning and virtualization on the one hand, while ISV’s offering their software in a metered way (e.g. ASP’s) use the same term (as well as SaaS). And that is what makes things difficult, because of the lack of clarity of what is meant by the term. Let me know what your definition is and how it stacks up with this one.