Cloud computing allows for on-demand access to a shared pool of computing resources (networks, servers, storage, etc.) that can be rapidly deployed then taken down remotely and with little management overhead.
The cloud computing model defined by the National Institute of Standards and Technology (NIST) in Special Publication (SP) 800-145 is composed of five Essential Characteristics, three Service Models, and four Deployment Models.
Essential Characteristics
The five essential characteristics of cloud computing are:
On-Demand Self-Service
On-demand self-service
A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
A customer must be able to use the service (or stop using the service) freely without without actual human interaction with the service provider e.g. through a website.
Broad Network Access
Broad network access
Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
The service is available through standard network connections, such as the Internet, and can be accessed from a variety of devices.
Resource Pooling
Resource pooling
The provider’s computing resources are pooled to server multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer general has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage processing, memory, and network bandwidth.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
A pool of resources is provided, and the resources to fill any given customer request are allocated from the shared pool.
The customer does not have any knowledge or control over which particular resources they are allocated beyond some very broad decisions, such as general geographic region.
Rapid Elasticity
Rapid elasticity
Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
Customers can expand or shrink the resources they have allocated to them seamlessly. The pool of resources available appear almost infinite.
Measured Service
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 (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
The service provider measures customer usage of cloud resources, and the customer can view these measurements as well. Customers are charged based on usage.
Service Models
In cloud computing, rather than a customer buying hardware, setting it up, installing a hypervisor, etc., the service provider offers all of this as a service.
The three main service models defined by the NIST are
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
Software as a Service
Software as a Service (SaaS)
The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
Microsoft Office 365 and Google Workspace are common examples of Software as a Service.
Platform as a Service
Platform as a Service (PaaS)
The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
Examples include AWS Lambda and Google App Engine
Infrastructure as a Service
Infrastructure as a Service (IaaS)
The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possible limited control of select networking components (e.g., host firewalls).
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
Examples include Amazon EC2 and Google Compute Engine.
Deployment Models
There are four deployment models for cloud computing:
Private Cloud
Private cloud
The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
Private clouds are generally only used by large organizations. Although the cloud is private, it may be owned by a third party.
Private clouds may be on or off premises (yes, cloud computing can be on-premises). Private clouds can offer the same services (SaaS, PaaS, & IaaS) as public clouds, but for a private org.
Community Cloud
Community cloud
The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
This is probably the least common cloud deployment. It’s similar to private cloud in the services that it provides, although it is reserved for use only by specific organizations.
Public Cloud
Public cloud
The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
By far the most common cloud deployment, public cloud services are offered by many companies such as Amazon/AWS, Google, Microsoft (Azure), IBM, and many others of various sizes.
Hybrid Cloud
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 that enables data and application portability (e.g., cloud bursting for load balancing between clouds).
- NIST SP 800-145, https://csrc.nist.gov/pubs/sp/800/145/final
Any combination of the previous three deployments. An example is a private cloud that can offload onto a public cloud when necessary.
Benefits of Cloud Computing
- Cost
- While cloud computing certainly isn’t free, it converts the price of network computing from capital expenses (buying hardware and software) to recurring operating expenses (a monthly fee, in many cases).
- For many organizations, cloud computing can result in a net reduction in operating costs; especially for projects that need large amounts of computing resources for short relatively short amounts of time.
- Of course, this varies widely on a case-by-case basis.
- Global Scale
- Cloud services are easy to scale at a rapid pace, and they are easy to set up in nearly any location in the world from any location in the world.
- Speed/Agility
- Services are provided on demand, and vast amounts of resources can be provisioned within minutes.
- Productivity
- Cloud services remove the need for many time-consuming tasks such as procuring physical servers, racking them, cabling, installing and updating operating systems, etc.
- Reliability
- Backups in the cloud are very easy. Data can be mirrored at multiple sites in different geographic locations to aid disaster recovery.
Note
These are potential benefits. Not all organizations will get the absolute most out of cloud computing at all times. Most companies that use cloud services use them in conjunction with local services.
Whether or not a particular organization uses cloud computing should be an intelligent and informed decision, not one made purely because cloud services are popular.