Cloud computing is defined as follows by the National Institute of Standards and Technology (NIST) of the United States Department of Commerce in their 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. This cloud is composed of five essential characteristics, three service models, and four deployment models.
They then elaborate on their definition by enumerating the Five Essential Characteristics of cloud computing:
- A user can provision computing resources like network storage and server time on demand, all on their own, and without needing to contact each service provider separately (supplier).
- Potentials (capabilities) can be accessed anywhere in the network via criterial procedures that encourage use across a variety of thick and thin client platforms, including desktops, laptops, mobile phones, and tablets.
- The computation resources of a provider are pooled to serve a group of consumers using a multitenancy pattern, with different virtual and physical resources dynamically allotted and re-allotted according to consumer need. Since the customer typically does not have any control or knowledge of the precise location of the supplied resources, but may be able to assign location at a higher level of abstraction like city, state, or country, this creates a sense of location independence. Resources can include things like data storage, processing power, memory, and overall network bandwidth.
- Instantaneous scalability: Capabilities could be elastically provisioned and released, in a matter of events, allowing for rapid outward and inward growth in direct proportion to demand. As a result, the consumer may mistakenly believe that their provisioning options are practically limitless and can be used at will.
- Storage, bandwidth, processing, and memory are all examples of measurable services that can be monitored and utilized more efficiently with the help of cloud computing’s metering potential at an appropriate level of abstraction. Providers and those who make use of their services will benefit from transparent procedures for monitoring and reporting on resource consumption.
Services | Services |
On-Demand Self-Service | Resources are instantly available when needed |
Broad Network Access | Access anytime or anywhere a connection to the Internet exists |
Resource Pooling | Data center resources are pooled together optimizing quality of service |
Rapid Elasticity | The ability to add or remove computing resources based on need |
Measured Service | The ability to measure resource usage and charge customers |
NIST defines the Three Service Models for cloud computing as in Figure 1 and Table 2.
First, Infrastructure as a Service (IaaS) provides the ability for a customer to set up and run a software system, including but not limited to an operating system and application programs, without having to worry about the underlying hardware. The user has limited access to network elements like firewalls and only minimal influence over the underlying cloud infrastructure.
Examples of IaaS
- Amazon Web Services (AWS)
- HP Cloud Services
- Microsoft Windows Azure
- Rackspace Cloud
- IBM SmartCloud
- VMware
- GoGrid.
As a second type of cloud service, “Platform as a Service” (PaaS) allows users to deploy locally-developed or purchased software applications (created with specific programming languages and associated services) onto the provider’s hosted infrastructure. The user has limited control over the used applications program and maybe settings for the application-hosting environment, but no control over the fundamental cloud infrastructure such as operating system, storage, or server.
Examples of PaaS
- Amazon Web Services (AWS)
- Microsoft Windows Azure
- Google App
- IBM SmartCloud Application services
- Force.com
Thirdly, Software as a Service (SaaS) gives customers the option of using the provider’s applications program hosted in the cloud. Thin client interfaces, such as web browsers, and application interfaces allow access to the applications from a variety of client devices. Except for a few limited user-specific configuration settings, the consumer has no say over fundamental cloud infrastructure such as operating systems, servers, networks, storage, or even application capabilities.
Examples of SaaS
- Salesforce CRM
- Basecamp
- Intuit QuickBooks
- Constant Contact
- NetSuite
- Google Docs
Service | Description |
IaaS | Data center resources: computer, network, and storage resources |
PaaS | Platform resources: databases, web services, and other middleware applications |
SaaS | Software resources: customer applications |
Exactly how will this cloud appear? Will only my company be able to use the cloud, or will others be able to as well? Should I keep my information on my own computer or upload it to the cloud?
Four Deployment Models for cloud computing
In order to address these issues, NIST created the Four Deployment Models for cloud computing shown in Figure 2 and Table 3.
1. Private cloud
One type of cloud architecture is designed for limited internal use by a single business that serves multiple clients. The organization or a third party may own, control, and operate it, and it need not even be located on the premises.
Private cloud examples include:
- Healthcare companies
- Mayo Clinic
- Baylor Health Care
- Kaiser Permanente
- Cigna
- Blue Cross Blue Shield
- Corporations
- Exxon Mobil
- General Electric
- Dow Chemical
- Coca-Cola
- Ford
- GM
- Investments Firms
- Goldman Sachs
- Morgan Stanley Smith Barney
- Fidelity
- Other
- Northrop Grumman
- Raytheon
2. Community Cloud
The cloud infrastructure is designed for selective use by a specific community of customers from organizations that share common interests, such as security requirements, policy guidelines, and compliance regulations. Possession, handling, and control may rest with any one or more community organizations, an outside party, or both, and it may take place either on or off premises.
Community cloud examples include:
- Government Agencies: State and Federal
- Hospitals
3. Public Cloud
in a “public cloud,” the cloud infrastructure is designed for widespread public access. It could belong to a private company, a university, or even the government, which could also control how it is used. Data center where cloud service is hosted.
Public cloud examples include:
- Yahoo
- Apple
- Dropbox
4. Hybrid Cloud
The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain independent entities but are bound together by standardized or proprietary technology that allows data and application portability (e.g., cloud bursting for load balancing between clouds).
Here are some real-world applications of hybrid clouds:
- Hybrid cloud deployments are possible with both Microsoft Azure and Force.com.
- When a private cloud’s resource demands reach a critical mass, they may “burst” into the public cloud to handle the influx of new service requests. Only in a hybrid cloud can you experience the phenomenon known as cloud bursting.
Healthcare providers are discussed in both private cloud and community cloud contexts. This demonstrates how a company may have several deployment choices. Read A Health Care Community Cloud Takes Shape for more information on how a community cloud can improve healthcare delivery. In this article, we learn how one Toronto hospital is collaborating with the Canadian government and 14 other local hospitals to centralize the use of fetal ultrasound software and the associated data.
Model | Description |
Private Cloud | Hosted internally to a limited number of a specific organization |
Community Cloud | Hosted by several organizations with similar requirements |
Public Cloud | Open to the public |
Hybrid Cloud | Stores the organizations’ critical data locally (in-house) and moves the rest of the data to the cloud |
Specialized Cloud Services
The value proposition of cloud computing is that it will supply a company with an essential IT service. With properly defined resources, services can be linked to them. Common methods include adding more central processing units (CPUs) to distribute the workload and hasten the processing of an application. With a more capacious central processing unit, more information can be cached in main memory before being persisted to a secondary storage medium. The IaaS service includes central processing units, and additional CPUs can be requested as needed. The term “parallelism as a service” is used to describe the practice of processing multiple groups of instructions simultaneously rather than in sequence. The functionality is pre-installed.
Moving information from main memory to secondary storage devices is an integral part of any data-reading or -writing process. The more often this process is repeated, the longer the processing time will be. Caching is the practice of transferring large data chunks from secondary storage into main memory for faster access in the future. Caching reduces the time it takes to complete a task. In this context, caching is referred to as “cache as a service.”
So now we get to the meat of the cloud computing discussion: the services themselves. For any given resource definition, there exists an equivalent service definition. Early cloud architects established these three staples.
These designers anticipated that as time went on, specialized services would be added to the mix, and so they coined the term “anything as a service” (XaaS) to encompass them all.
Database as a service is also a part of this set. Databases naturally expand, using up more and more of a company’s server space as they do so. Fast provisioning, improved management, and greater optimization of computing resources are just a few of the benefits of using DBaaS in a cloud DC to deal with unexpected growth.
With DBaaS, multiple programs can share the same database and take advantage of streamlined search capabilities. Database profiling, which involves the collection and analysis of data-related statistics, is another useful function. Sharding refers to the process of dividing large databases into smaller, more manageable databases. Database profiling and sharding are two services that could be included in XaaS, or they could be offered independently.
In his article “Cloudy Concepts: IaaS, PaaS, SaaS, MaaS, CaaS & XaaS,” Archie Hendryx delves into the various types of cloud services and describes the issues that each one addresses.