According to the National Institute of Standards and Technology (NIST), "cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
The NIST definition lists five essential characteristics of cloud computing:
- On-demand Self-service
- Broad Network Access
- Resource Pooling
- Rapid Elasticity or Expansion
- Measured Service
We further expand on these essential characteristics below.
With on-demand self-service, cloud consumers can unilaterally provision or access computing resources as needed, typically using a web browser. Provisioning can be performed without requiring human interaction with either IT or a service provider organizations.
Broad Network Access
With broad network access, cloud resources become available over the network using standard protocols, often through a web browser using HTTP, HTML, XML, Java, SOAP, or other standard protocols. This promotes wide usage by heterogeneous platforms.
With resource pooling, computing resources, wherever located, are pooled together to serve multiple cloud consumers. Cloud users can then access a pool of servers that function as a single unit, and more importantly, users are not aware of the physical servers providing the resources.
Rapid Elasticity or Expansion
Computing resources are dynamically assigned, released, and reassigned according to consumer demand.
With measured service, cloud resources can be monitored, controlled, and reported by both users and administrators. Cloud users are able to see their own cloud usage while cloud administrators can see the entire cloud usage. Measured service can also include showback and chargeback, where the cost of resources used can be displayed or calculated per user, per department, or per organization.
Given the broad definition of the term "cloud," the current taxonomy differentiates clouds both in terms of cloud service and cloud deployment models.
A cloud service model defines what type of service the cloud provides to users. The most common cloud service models are referred to by the acronyms: IaaS, PaaS, and SaaS.
A cloud deployment model defines where the physical servers are deployed and who manages them. The most common cloud deployment models are: public cloud, private cloud, and hybrid cloud.