Some definitions / explanations
Cloud computing can be defined as hardware and
software that relies on the internet for the delivery of certain
applications and services. Many of the services provided can be
seen in a web browser running on simple handheld devices or
inexpensive laptops, rather than requiring a powerful computer
running Microsoft's Windows or Apple's OSX operating
systems.
Some Cloud applications and services are provided by large
computer companies whilst other applications are supplied by
businesses in other industries such as banking, retailing and the
media, which want to create online services for their
customers.
Data centres are typically large buildings housing central
hardware, software and information (data). The data centre will
provide a high level of business continuity using features such as
redundant power supplies and multiple, large internet
connections.
Running IT infrastructure becomes divorced from the user
who no longer needs expertise in, or control over, supporting
technology infrastructure. A simple internet connection is all that
is required for data and application access.
Hosted applications
Hosted applications are IT software and services that run
(hosted) at remote data centres and are delivered via
the internet (the Cloud). Individual users and applications often
use shared computing power, IT infrastructure and data
centres thus reducing unit costs and providing
economies of scale. As resources are shared between different
users, costs are often billed 'per user' and / or 'per
month' allowing pricing flexibility and reducing capital
costs.
- The NIST Definition of Cloud Computing
Essential Characteristics:
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's provider.
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, laptops, and PDAs).
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. There is a sense of
location independence in that the customer generally 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, network bandwidth, and virtual
machines.
Rapid elasticity. Capabilities can be rapidly and elastically
provisioned, in some cases automatically, to quickly scale out, and
rapidly released to quickly scale in. To the consumer, the
capabilities available for provisioning often appear to be
unlimited and can be purchased in any quantity at any time.
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.
Service Models:
Cloud 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 a thin client interface such as a web
browser (e.g., web-based email). 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.
Cloud 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 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 application hosting
environment configurations.
Cloud 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, deployed applications, and
possibly limited control of select networking components (e.g.,
host firewalls).
Deployment Models:
Private cloud. The cloud infrastructure is operated solely for
an organization. It may be managed by the organization or a third
party and may exist on premise or off premise.
Community cloud. The cloud infrastructure is shared by several
organizations and supports a specific community that has shared
concerns (e.g., mission, security requirements, policy, and
compliance considerations). It may be managed by the organizations
or a third party and may exist on premise or off premise.
Public cloud. The cloud infrastructure is made available to the
general public or a large industry group and is owned by an
organization selling cloud services.
Hybrid cloud. The cloud infrastructure is a composition of two
or more clouds (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).