The National Institute of Standards and Technology (NIST) has provided the most widely accepted definition of cloud computing, which has become the standard reference in both industry and academia.
Definition
According to NIST Special Publication 800-145:
“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 Three Dimensions of Cloud Computing
NIST defines cloud computing along three major dimensions:
- Five Essential Characteristics
- Three Service Models
- Four Deployment Models
Five Essential Characteristics
-
On-demand self-service: Computing capabilities can be provisioned automatically without requiring human interaction with service providers.
-
Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous client platforms.
-
Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
-
Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand.
-
Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service.
Three Service Models
-
Software as a Service (SaaS): The consumer uses the provider’s applications running on a cloud infrastructure. Applications are accessible from various client devices through either a thin client interface or a program interface.
-
Platform as a Service (PaaS): The consumer deploys consumer-created or acquired applications onto the cloud infrastructure using programming languages, libraries, services, and tools supported by the provider.
-
Infrastructure as a Service (IaaS): The provider provisions processing, storage, networks, and other fundamental computing resources where the consumer can deploy and run arbitrary software, including operating systems and applications.
Four Deployment Models
-
Private Cloud: The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers.
-
Community Cloud: The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns.
-
Public Cloud: The cloud infrastructure is provisioned for open use by the general public.
-
Hybrid Cloud: The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology.