Vous êtes sur la page 1sur 67

Prof. S. S.

Department of Information Technology
Sanjivani College of Engineering, Kopargaon
The idea of computing in a "cloud" traces back to the origins of
utility computing, a concept that computer scientist John McCarthy
publicly proposed in 1961.
Public has been using various Internet-based computer utilities since
the mid-1990s through various search engines (Yahoo!, Google), e-
mail services (Hotmail, Gmail), open publishing platforms (MySpace,
Facebook, YouTube), and other types of social media (Twitter,
In 2002, Amazon.com launched the Amazon Web Services (AWS)
platform, a suite of enterprise-oriented services that provide remot
storage, computing resources, and business functionality.

In 2006 the term “Cloud Computing" emerged in the commercial

During this time Amazon launched its Elastic Compute Cloud (EC2)
services that enabled organizations to "lease" computing capacity and
processing power to run their enterprise applications.
Google Apps also began providing browser-based enterprise
applications in the same year, and three years later, the Google App
Engine became another historic milestone.

"...a style of computing in which scalable and elastic IT-enabled
capabilities are delivered as a service to external customers using Internet
Forrester Research: "...a standardized IT capability (services, software, or
infrastructure) delivered via Internet technologies in a pay-per-use, self-
service way.“
"Cloud computing is a specialized form of distributed computing that
introduces utilization models for remotely provisioning scalable and
measured resources."

The National Institute of Standards and Technology (NIST) published

definition that received industry-wide acceptance in September of
"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 model is composed of five
essential characteristics, three service models, and four deployment
The pre-existing technologies which primarily influences on cloud
computing are:
1. Clustering: A cluster is a group of independent IT resources that are
interconnected and work as a single system. System failure rates are
reduced while availability and reliability are increased. Component
devices are in synchronization through dedicated, high-speed
communication links.
2. Grid Computing: A computing grid provides a platform in which
computing resources are organized into one or more logical pools.
These pools collectively coordinated to provide a high performance
distributed grid, sometimes referred to as a "super virtual

2. Grid systems are loosely coupled and distributed. Hence, grid

computing systems can use computing resources that are
heterogeneous and geographically dispersed.
3. Virtualization: It is a technology platform used for creation of
virtual instances of IT resources. A layer of virtualization software
allows physical IT resources to provide multiple virtual images of
themselves. So their processing capabilities can be shared by multiple

Several other areas of technology that continue to contribute to

modern-day cloud-based platforms:
1. Broadband Networks and Internet Architecture
2. Data Center Technology
3. (Modern) Virtualization Technology
4. Web Technology
5. Multitenant Technology
6. Service Technology

A cloud refers to a distinct IT environment that is designed for the

purpose of remotely provisioning scalable and measured IT resources.
Prior to cloud computing, the symbol of a cloud was used to represent
the Internet and documentation of Web-based architectures.
This same symbol is now used to specifically represent the boundary
of a cloud environment.
Internet is dedicated to content-based IT resources published via the
World Wide Web whereas it is not necessary for clouds to be Web-

IT resource is a physical or virtual IT-related object that can be either

software based, such as a virtual server or hardware-based, such as a
physical server or a network device.
Cloud symbol can be used to define a boundary for a cloud-based
environment that hosts and provisions a
set of IT resources. The displayed IT
resources are considered to be
cloud-based IT resources.
The term "on-premise" means "on the premises of a controlled IT
environment that is not cloud-based.“
This term is used to specify an IT resource as an alternative to "cloud-
An IT resource that is on-premise cannot be cloud-based, and vice-
1. An on-premise IT resource can access and interact with a cloud-based
IT resource.
2. An on-premise IT resource can be moved to a cloud, thereby changing
it to a cloud-based IT resource
Scaling, from an IT resource perspective is “the ability of the IT
resource to handle increased or decreased usage demands.”
1. Horizontal Scaling - scaling out and scaling in: The allocating or releasing
of IT resources that are of the same type is referred to as horizontal
The horizontal allocation of resources is referred to as scaling out and the
horizontal releasing of resources is referred to as scaling in

1. Vertical Scaling - scaling up and scaling down: When an existing IT

resource is upgraded or replaced by another with higher or lower capacity
then it is called vertical scaling.
Upgrading or replacing of an IT resource with
higher capacity is scaling up and downgrading
or replacing an IT resource with a lower
capacity is scaling down.
Horizontal Scaling Vertical Scaling
less expensive (through more expensive (specialized
commodity hardware servers)
IT resources instantly available IT resources normally instantly
resource replication and additional setup is normally
automated scaling needed
additional IT resources needed no additional IT resources
not limited by hardware limited by maximum hardware
capacity capacity

Cloud is a remotely accessible environment, but not all IT resources

within a cloud can be made available for remote access.
A cloud service is any IT resource that is made remotely accessible via a cloud.
The term "service" within the context of cloud computing is especially
broad. It can be Web-based software program interfaced via messaging
protocol, or as a remote access point for administrative tools or larger
environments and other IT resources.

The motivation behind cloud computing is to provide IT resources as

services that encapsulate other IT resources, while offering functions for
clients to use and control remotely.

The cloud service consumer is a temporary runtime role assumed by a

software program when it accesses a cloud service.
Common types of cloud service consumers can be software programs and
services capable of remotely accessing cloud services, as well as
workstations, laptops and mobile devices running software capable of
remotely accessing other IT resources.
Like wholesaler, public cloud providers provides business model on
the mass-acquisition of IT resources that are available to cloud
consumers via attractively priced leasing packages.
So organizations gain access to powerful infrastructure without
having to purchase it.
Data centers are commonly located in destinations where real estate,
IT professionals, and network bandwidth can be obtained at lower
costs, resulting in both capital and operational savings.
Pooled IT resources are made available to and shared by multiple
cloud consumers, resulting in increased or even maximum possible

Operational costs and inefficiencies can be reduced by applying

proven practices and patterns for optimizing cloud architectures, their
management and governance.
Benefits to cloud consumers include:
1. On-demand access to pay-as-you-go computing resources on a short-term basis
(such as processors by the hour), and ability to release these at any time.
2. The awareness of having unlimited computing resources that are available on
demand, thereby reducing the need to prepare for provisioning.
3. The ability to add or remove IT resources, such as modifying available storage disk
space by single gigabyte increments.

Benefits to cloud consumers include:

4. Abstraction of infrastructure so applications are not locked into devices or
locations and can be easily moved if needed.
For example, a company with variable batch-centric tasks can
complete them as quickly as their application software can scale.
Using 100 servers for one hour costs the same as using one server for
100 hours.
This "elasticity" of IT resources, achieved without requiring large
initial investments.

Cloud provides pools of IT resources, along with tools and

technologies designed to control them collectively.
Clouds can instantly and dynamically allocate IT resources to cloud
consumers, on-demand or via the cloud consumer's direct confi
This allows consumers to scale their cloud-based IT resources to
accommodate processing fluctuations and peaks automatically or
Similarly, cloud-based IT resources can be released (automatically or
manually) as processing demands decrease.
An example of an
organization's changing
dem a nd for a n I T
resource over the course
of a day…

The availability and reliability of IT resources are directly associated

with tangible business benefits.
Outages limit the time an IT resource can be "open for business" for
its customers.
This limits its usage and revenue generating potential.
Runtime failures that are not immediately corrected can have a more
significant impact during high-volume usage periods.
Its unexpected failure can decrease overall customer confidence.

A characteristic of the cloud environment is its built-in ability to

provide extensive support for increasing the availability of a cloud-
based IT resource.
An IT resource with increased availability is accessible for longer
periods of time (for example, 22 hours out of a 24 hour day).
Cloud providers generally offer "flexible" IT resources for which they
are able to guarantee high levels of availability.
The modular architecture of cloud environments provides extensive
failover support that increases reliability

Moving business data to cloud shares security of data with cloud

Remote usage of IT resources requires an expansion of trust
boundaries by the cloud consumer to include the external cloud.
Cloud consumers and cloud providers has to support the same or
compatible security frameworks.
Cloud provider has privileged access to cloud consumer data.
Data security is limited to security controls and policies applied by
both the cloud consumer and cloud provider.

Cloud-based IT
resources are
commonly shared.
The shaded area
with diagonal lines
indicates the
overlap of two
organizations' trust
Cl oud consumers are allotted a level of governance control that is
lower than that over on-premise IT resources.
This can introduce risks associated with how the cloud provider
operates its cloud, as well as the external connections.
For examples:
An unreliable cloud provider may not maintain the guarantees it makes in the
Longer geographic distances can require additional network hops that
introduce fluctuating latency and potential bandwidth constraints
Legal contracts, when combined with SLAs, technology inspections, and
monitoring, can reduce governance risks and issues

An unreliable
n e t w o r k
compromises the
qu a l it y o f
com mu n icat ion
between cloud
consumer and
cloud provider

Due to a lack of industry standards within cloud computing industry,

public clouds are commonly proprietary.
For cloud consumers that have custom-built solutions with
dependencies, it can be challenging to move from one cloud provider to
A cloud consumer's application has a decreased level of portability
when assessing a potential migration from Cloud A to Cloud B,
because the cloud provider of Cloud B does not support the same
security technologies as Cloud A.

Third-party cloud providers will frequently establish data centers in

affordable or convenient geographical locations.
Cloud consumers will often not aware of the physical location of their
IT resources and data when hosted by public clouds.
For some organizations, this can be a serious legal concerns regarding
government regulations that specify data privacy and storage policies.
For example, some US laws require personal data belonging to US
citizens to be kept within the United States.

Another potential legal issue pertains to the accessibility and

disclosure of data.
Countries have laws that require some types of data to be disclosed to
certain government agencies or to the subject of the data.
For example, a European cloud consumer's data located in the U.S.
can be easily accessed by government agencies when compared to data
located in European Union countries.

Organizations and humans can assume different types of pre-defi ned roles
depending on how they relate to and/or interact with a cloud and its hosted IT

Cloud provider is organization that provides cloud-based IT resources.

So an organization is responsible for making cloud services available
to cloud consumers, as per agreed upon SLA guarantees.
The cloud provider is further tasked with any required management
and administrative duties to ensure the on-going operation of the
overall cloud infrastructure.
Cloud providers normally own the IT resources; however, some cloud
providers also "resell" IT resources leased from other cloud providers.
A cloud consumer is an organization (or a human) that has a formal
contract or arrangement with a cloud provider to use IT resources
made available by the cloud provider.

The person or organization that legally owns a cloud service is called a

cloud service owner.
The cloud service owner can be the cloud consumer, or the cloud
provider that owns the cloud within which the cloud service resides.
A cloud consumer that owns a cloud service hosted by a third-party
cloud does not necessarily need to be the user (or consumer) of the
cloud service.
The reason a cloud service owner is not called a cloud resource owner
is because the cloud service owner role only applies to cloud services.

A cloud consumer can

be a cloud service owner
when it deploys its own
service in a cloud.

A cloud provider
becomes a cloud service
owner if it deploys its
own cloud service,
typically for other cloud
consumers to use.

These characteristics need to exist to a meaningful extent for the IT

Cloud providers and cloud consumers can assess these characteristics
individually and collectively to measure the value offering of a given
cloud platform
1. On-Demand Usage
A cloud consumer can individually access cloud-based IT resources .
This allows consumer to self-provision these IT resources.
Once configured, usage of these IT resources can be automated, requiring no
further human involvement by the cloud consumer or cloud provider.
This results in an on-demand usage environment. Also known as "on-demand
self-service usage.
2. Ubiquitous Access
Ubiquitous Access is ability for a cloud service to be widely accessible.
To do so it require support for a range of devices, transport protocols, interfaces,
and security technologies.
To enable this level of access generally requires that the cloud service
architecture be personalized.
3. Multi-tenancy (Resourcing Pooling)
The characteristic of a software program that enables an instance of the
program to serve different consumers (tenants) whereby each is isolated from the
other, is referred to as multitenancy.
This multitenancy model rely on the use of virtualization technologies
Through the use of multitenancy technology, IT resources can be dynamically
assigned and reassigned, according to cloud service consumer demands.
Resource pooling allows cloud providers to pool large-scale IT resources.
Resource pooling is commonly achieved through multitenancy technology, and
therefore encompassed by this multitenancy characteristic.

4. Elasticity (and Scalability)

Elasticity is the automated ability of a cloud to scale IT resources, as per
requirement of cloud consumer or cloud provider.
Cloud providers with vast IT resources can offer the greatest range of elasticity.
5. Measured Usage
It is the ability of a cloud platform to keep track of the usage of its IT resources,
primarily by cloud consumers.
Based on what is measured, the cloud provider can charge a cloud consumer only
for the IT resources actually used or for timeframe during which access to the IT
resources was granted.

A cloud delivery model represents a specific, pre-packaged combination of IT

resources offered by a cloud provider.
Three common cloud delivery models that are widely used are:
1. Infrastructure-as-a-Service (IaaS)
2. Platform-as-a-Service (PaaS)
3. Software-as-a-Service (SaaS)

Specialized variations of three base cloud delivery models are:

1. Storage-as-a-Service
2. Database-as-a-Service
3. Security-as-a-Service
4. Communication-as-a-Service
5. Integration-as-a-Service
6. Testing-as-a-Service
7. Process-as-a-Service

The IaaS delivery model represents a self-contained IT environment

consisting infrastructure-centric IT resources like virtual-machine disk
image library, block and file-based storage, firewalls, load balancers, IP
addresses, virtual local area networks etc.
These resources 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.
IT resources are typically virtualized and packaged into bundles that
simplify runtime scaling and customization of the infrastructure.
Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine.

It provide cloud consumers a high level of control and responsibility

over its configuration and utilization.
IT resources are not pre-configured.
Administrative responsibility is directly upon 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.
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.
It represents a pre-defined "ready-to-use" environment typically
consist of already deployed and configured IT resources including
operating system, programming language execution environment,
database, web server etc.
PaaS relies on the usage of a ready-made environment.
This 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:
1. The cloud consumer wants to extend on-premise environments into the
cloud for scalability and economic purposes.

2. The cloud consumer uses the ready-made environment to entirely substitute

an on-premise environment.
3. The cloud consumer wants to become a cloud provider and deploys its own
cloud services to be made available to other external cloud consumers.
Cloud consumer has less administrative burden of setting up and
maintaining the infrastructure provided via the IaaS model.
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.
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com,
Google App Engine, Apache Stratos

Software program is shared as a cloud service and made available as a

"product" or generic utility to the users.
A cloud consumer has very limited administrative control over a SaaS
It is most often provisioned by the cloud provider.
In the SaaS model, the application is provided to the client through a
thin client interface (a browser, usually), and the customer’s
responsibility begins and ends with entering and managing its data
and user interaction.

A public cloud is a publicly accessible cloud environment owned by a

third-party cloud provider.
The IT resources on public clouds are usually provisioned via the
previously cloud delivery models and are generally offered to cloud
consumers at a cost or are commercialized via other avenues.
The cloud provider is responsible for the creation and on-going
maintenance of the public cloud and its IT resources

A community cloud is similar to a public cloud except that its access is

limited to a specific community of cloud consumers.
The community cloud may be jointly owned by the community
members or by a third-party cloud provider that provisions a public
cloud with limited access.
The member of the community takes the responsibility for defining
and evolving the community cloud.

A private cloud is owned by a single organization.

Private clouds enable an organization to use cloud computing
technology as a means of centralizing access to IT resources.
These resources may be parts, locations, or departments of the
The actual administration of a private cloud environment may be
carried out by internal or outsourced staff.

It is important to use the terms "on-premise" and "cloud-based"

correctly within the context of a private cloud.
Even though the private cloud may physically reside on the
organization's premises, IT resources it hosts are still considered
"cloud-based" as long as they are made remotely accessible to cloud
IT resources hosted outside of the private cloud by the departments
acting as cloud consumers are therefore considered "on-premise".

A hybrid cloud is a cloud environment having two or more different

cloud deployment models.
Hybrid deployment architectures can be complex and challenging to
create and maintain due to the potential disparity in cloud
environments also management responsibilities are typically split
between the private cloud provider organization and the public cloud