2
Copyright 2010-2011 United States Government as represented by the
3
Administrator of the National Aeronautics and Space Administration.
6
Licensed under the Apache License, Version 2.0 (the "License"); you may
7
not use this file except in compliance with the License. You may obtain
8
a copy of the License at
10
http://www.apache.org/licenses/LICENSE-2.0
12
Unless required by applicable law or agreed to in writing, software
13
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
License for the specific language governing permissions and limitations
21
Originally the term cloud came from a diagram that contained a cloud-like shape to contain the
22
services that afforded computing power that was harnessed to get work done. Much like the electrical
23
power we receive each day, cloud computing is a model for enabling access to a shared collection of
24
computing resources - networks for transfer, servers for storage, and applications or services for
29
Like humans supposedly only use 10% of their brain power, many of the computers in place in data
30
centers today are underutilized in computing power and networking bandwidth. People also may need a large
31
amount of computing capacity to complete a computation for example, but don't need the computing power
32
once the computation is done. You want cloud computing when you want a service that's available
33
on-demand with the flexibility to bring it up or down through automation or with little intervention.
37
On-demand self-service - A cloud should enable self-service, so that users can provision servers and networks with little
40
Network access - Any computing capabilities are available over the network and you can use many different
41
devices through standardized mechanisms.
43
Resource pooling - Clouds can serve multiple consumers according to demand.
45
Elasticity - Provisioning is rapid and scales out or in based on need.
47
Metered or measured service - Just like utilities that are paid for by the hour, clouds should optimize
48
resource use and control it for the level of service or type of servers such as storage or processing.
50
Types of Cloud Services
51
-----------------------
53
Cloud computing offers different service models depending on the capabilities a consumer may require.
54
The US-based National Institute of Standards and Technology offers definitions for cloud computing
55
and the service models that are emerging.
57
These definitions are summarized from the `U.S. National Institute of Standards and Technology (NIST) cloud computing research group <http://csrc.nist.gov/groups/SNS/cloud-computing/>`_.
59
SaaS - Software as a Service
60
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
Provides the consumer the ability to use the software in a cloud environment, such as web-based email for example.
64
PaaS - Platform as a Service
65
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67
Provides the consumer the ability to deploy applications through a programming language or tools supported
68
by the cloud platform provider. An example of platform as a service is an Eclipse/Java programming
69
platform provided with no downloads required.
71
IaaS - Infrastructure as a Service
72
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
74
Provides infrastructure such as computer instances, network connections, and storage so that people
75
can run any software or operating system.
77
Types of Cloud Deployments
78
--------------------------
80
When you hear terms such as public cloud or private cloud, these refer to the deployment model for the cloud. A private cloud operates for a single organization, but can be managed on-premise or off-premise. A public cloud has an infrastructure that is available to the general public or a large industry group and is likely owned by a cloud services company.
82
The NIST also defines community cloud as shared by several organizations supporting a specific community with shared concerns.
84
A hybrid cloud can be a deployment model, as a composition of both public and private clouds, or a hybrid model for cloud computing may involve both virtual and physical servers.
89
What have people done with cloud computing? Cloud computing can help with large-scale computing needs or can lead consolidation efforts by virtualizing servers to make more use of existing hardware (and possibly release old hardware from service.) People also use cloud computing for collaboration because of the high availability through networked computers. Productivity suites for word processing, number crunching, and email communications, and more are also available through cloud computing. Cloud computing also avails additional storage to the cloud user, avoiding the need for additional hard drives on your desktop and enabling access to large data storage capacity online in the cloud.