Professional Documents
Culture Documents
In an October, 2009 presentation titled “Effectively and Securely Using the Cloud Computing Paradigm,” 3
by Peter Mell and Tim Grance of the National Institute of Standards and Technology (NIST) Information
Technology Laboratory, cloud computing is defined as follows:
“Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of
configurable and reliable computing resources (e.g., networks, servers, storage, applications, services) that
can be rapidly provisioned and released with minimal consumer management effort or service provider
interaction”.
This cloud model is composed of five essential characteristics, three service models, and four deployment
models. The five essential characteristics are as follows:
• On-demand, self-service & Dynamic: A standardized, scalable, dynamic, virtualized, and secure
physical infrastructure with levels of redundancy to ensure high levels of availability. The capability
to upload, build, deploy, schedule, manage, and report on provided business services on demand.
• Ubiquitous network access: As opposed to a server-centric model, the availability of an easily
accessible, dedicated instance of an application or service. One of the principal economic justifi
cations for cloud computing is that the lowered cost of high-bandwidth network communication to
the cloud provides access to a larger pool of IT resources that sustain a high level of utilization.
• Location Independent Resource pooling: The cloud must have a large and fl exible resource pool
to meet the consumer’s needs, provide economies of scale, and meet service level requirements.
• Rapid Elasticity: Rapid elasticity refers to the ability of the cloud to expand or reduce allocated
resources quickly and efficiently to meet the requirements of the self-service characteristic of cloud
computing. This allocation might be done automatically and appear to the user as a large pool of
dynamic resources that can be paid for as needed and when needed.
• Measured service
The service models are as follows:
• Cloud Software as a Service (SaaS)—Use provider’s applications over a network.
• Cloud Platform as a Service (PaaS)—Deploy customer-created applications to a cloud.
• Cloud Infrastructure as a Service (IaaS)—Rent processing, storage, network capacity, and other
fundamental computing resources.
The deployment models, which can be either internally or externally implemented, are summarized in the
NIST presentation as follows:
• Private cloud—Enterprise owned or leased
• Community cloud—Shared infrastructure for specific community
• Public cloud—Sold to the public, mega-scale infrastructure
• Hybrid cloud—Composition of two or more clouds
Note: A number of dynamics such as software interoperability standards, virtualization technologies, high-
bandwidth communications, the delivery of enterprise applications, and Web 2.0 contributed to the
emergence of cloud computing.
The VM can be provisioned for any hardware system. The VM is built with virtual resources managed by a
guest OS to run a specific application. Between the VMs and the host platform, one needs to deploy a
middleware layer called a virtual machine monitor (VMM).
4.1 VM Primitive Operations
The following list highlights eight reasons to adapt the cloud for upgraded Internet applications and web
services:
1. Desired location in areas with protected space and higher energy efficiency
2. Sharing of peak-load capacity among a large pool of users, improving overall utilization
3. Separation of infrastructure maintenance duties from domain-specific application development
4. Significant reduction in cloud computing cost, compared with traditional computing paradigms
5. Cloud computing programming and application development
6. Service and data discovery and content/service distribution
7. Privacy, security, copyright, and reliability issues
8. Service agreements, business models, and pricing policies
➢ NIST (National Institute of Standards and Technology) Cloud Computing Model:
1. 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.
2. 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.
Essential points in community cloud:
Openness, Community, Graceful Failure, Convenience and
Control & Environmental Sustainability.
3. 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.
4. 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).
An organization can implement one model or several different models, depending on which cloud model
provides the best solution. For example, a critical app that has compliance or other security specifications
may require a hybrid or private cloud model. Conversely, a general app that may be needed for a temporary
project might be ideally suited for a public cloud. It’s important to remember that these four models do not
specify the physical location of the infrastructure or application; a co-location facility could host both public
and private clouds.
Delivery Models:
Software-as-a-Service (SaaS):
A software program positioned as a shared cloud service and made available as a "product" or generic utility
represents the typical profile of a SaaS offering. The SaaS delivery model is typically used to make a
reusable cloud service widely available (often commercially) to a range of cloud consumers. An entire
marketplace exists around SaaS products that can be leased and used for different purposes and via different
terms. A cloud consumer is generally granted very limited administrative control over a SaaS
implementation. It is most often provisioned by the cloud provider, but it can be legally owned by whichever
entity assumes the cloud service owner role. For example, an organization acting as a cloud consumer while
using and working with a PaaS environment can build a cloud service that it decides to deploy in that same
environment as a SaaS offering. The same organization then effectively assumes the cloud provider role as
the SaaS-based cloud service is made available to other organizations that act as cloud consumers when
using that cloud service.
Platform-as-a-Service (PaaS):
The PaaS delivery model represents a pre-defined "ready-to-use" environment typically comprised of
already deployed and configured IT resources. Specifically, PaaS relies on (and is primarily defined by) the
usage of a ready-made environment that establishes a set of pre-packaged products and tools used to support
the entire delivery lifecycle of custom applications. Common reasons a cloud consumer would use and
invest in a PaaS environment include:
•The cloud consumer wants to extend on-premise environments into the cloud for scalability and
economic purposes.
•The cloud consumer uses the ready-made environment to entirely substitute an on-premise environment.
•The cloud consumer wants to become a cloud provider and deploys its own cloud services to be made
available to other external cloud consumers.
By working within a ready-made platform, the cloud consumer is spared the administrative burden of setting
up and maintaining the bare infrastructure IT resources provided via the IaaS model. Conversely, the cloud
consumer is granted a lower level of control over the underlying IT resources that host and provision the
platform. PaaS products are available with different development stacks. For example, Microsoft Azure
provides a .NET-based environment, while Google App Engine offers a Java and Python-based environment.
PaaS products are available with different development stacks. For example, Google App Engine offers a
Java and Python-based environment.
Infrastructure-as-a-Service (IaaS):
The IaaS delivery model represents a self-contained IT environment comprised of infrastructure-centric IT
resources that can be accessed and managed via cloud service-based interfaces and tools. This environment
can include hardware, network, connectivity, operating systems, and other "raw" IT resources. In contrast to
traditional hosting or outsourcing environments, with IaaS, IT resources are typically virtualized and
packaged into bundles that simplify up-front runtime scaling and customization of the infrastructure.
The general purpose of an IaaS environment is to provide cloud consumers with a high level of control and
responsibility over its configuration and utilization. The IT resources provided by IaaS are generally not pre-
configured, placing the administrative responsibility directly upon the cloud consumer. This model is
therefore used by cloud consumers that require a high level of control over the cloud-based environment
they intend to create.
Sometimes cloud providers will contract IaaS offerings from other cloud providers in order to scale their
own cloud environments. The types and brands of the IT resources provided by IaaS products offered by
different cloud providers can vary. IT resources available through IaaS environments are generally offered as
freshly initialized virtual instances. A central and primary IT resource within a typical IaaS environment is
the virtual server. Virtual servers are leased by specifying server hardware requirements, such as processor
capacity, memory, and local storage space.
Cloud Ecosystem: A cloud ecosystem is a complex system of interdependent components that all work
together to enable cloud services. In nature, an ecosystem is composed of living and nonliving things that are
connected and work together. In cloud computing, the ecosystem consists of hardware and software as well
as cloud customers, cloud engineers, consultants, integrators and partners.
The center of a cloud ecosystem is a public cloud provider. It might be an IaaS provider such as Amazon
Web Services (AWS) or a SaaS vendor such as Salesforce. Radiating out from the center of the cloud are
software companies that use the provider’s anchor platform, as well as consultants and companies that have
formed strategic alliances with the anchor provider. There is no vendor lock-in because these companies
overlap, making the ecosystem more complex. For example, AWS is the center of its own ecosystem, but it's
also a part of the Salesforce ecosystem. Salesforce runs a number of its services on AWS's infrastructure, and
Salesforce customers can gain access, through devices called connectors, to pieces of AWS, such as its
Simple Storage Service (S3).
Cloud Computing-Technologies:
There are certain technologies that are working behind the cloud computing platforms making cloud
computing flexible, reliable, usable. These technologies are listed below:
Virtualization
Service-Oriented Architecture (SOA)
Grid Computing
Utility Computing
Virtualization: Virtualization is a technique, which allows to share single physical instance of an application
or resource among multiple organizations or tenants (customers). It does so by assigning a logical name to a
physical resource and providing a pointer to that physical resource when demanded. The Multitenant
architecture offers virtual isolation among the multiple tenants and therefore the organizations can use and
customize the application as though they each have its own instance running.
Service-Oriented Architecture(SOA): Service-Oriented Architecture helps to use applications as a service
for other applications regardless the type of vendor, product or technology. Therefore, it is possible to
exchange of data between applications of different vendors without additional programming or making
changes to services.
Grid Computing: Grid Computing refers to distributed computing in which a group of computers from
multiple locations are connected with each other to achieve common objective. These computer resources
are heterogeneous and geographically dispersed. Grid Computing breaks complex task into smaller pieces.
These smaller pieces are distributed to CPUs that reside within the grid.
Utility Computing: Utility computing is based on Pay per Use model. It offers computational resources on
demand as a metered service. Cloud computing, grid computing, and managed IT services are based on the
concept of Utility computing.