Cloud Concepts,
Service Models,
Deployment
Models
M A RYA M K H A L I D
D E PA RT M E N T O F C O M P U T E R S C I E N C E ,
B A H R I A U N I V E R S I T Y, I S L A M A B A D
Cloud Service Delivery
Models
Cloud Delivery Models
A cloud delivery model represents a Note:
specific, pre-packaged combination of IT Many specialized variations of the three base
resources offered by a cloud provider. cloud delivery models have emerged, each
comprised of a distinct combination of IT
Three common cloud delivery models resources. Some examples include:
have become widely established and • Storage-as-a-Service
formalized: • Database-as-a-Service
1. Infrastructure-as-a-Service (IaaS) • Security-as-a-Service
• Communication-as-a-Service
2. Platform-as-a-Service (PaaS)
• Integration-as-a-Service
3. Software-as-a-Service (SaaS) • Testing-as-a-Service
• Process-as-a-Service
Cloud service models
IaaS PaaS SaaS
(infrastructure as a (platform as a (software as a
service) service) service)
More control Less control
over IT resources over IT resources
© 2019 AMAZON WEB SERVICES, INC. OR ITS AFFILIATES. ALL
RIGHTS RESERVED. 4
A Simple Analogy
Say, you just moved to a
city and you are looking
for a place to live.
What is your choice ?
Build a new house?
Buy an empty house?
Live in a hotel?
Let’s build a new house !!
You can fully control
everything you like
your new house to
have. But that is hard
work …
If you buy an empty house ?
You can customize some part of
your house. But never change the
original architecture.
How about living in a hotel ?
Live in a hotel will be a good idea if
the only thing you care is enjoying
your life!! There is nothing you can do
with the house except living in it.
Let’s translate to
Cloud Computing !!
•What if you want to have an IT department ?
1. Similar to build a new house in previous analogy
◦ You can rent some virtualized infrastructure and build up your own
IT system among those resources, which may be fully controlled.
◦ Technical speaking, use the Infrastructure as a Service (IaaS)
solution.
2. Similar to buy an empty house in previous analogy
Service Models ◦ You can directly develop your IT system through one cloud
platform, and do not care about any lower level resource
Overview management.
◦ Technical speaking, use the Platform as a Service (PaaS) solution.
3. Similar to live in a hotel in previous analogy
◦ You can directly use some existing IT system solutions, which were
provided by some cloud application service provider, without
knowing any detailed technique about how these service was
achieved.
◦ Technical speaking, use the Software as a Service (SaaS) solution.
Service Model
Overview
Infrastructure as a Service
Platform as a Service
Software as a Service
•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.
Infrastructure • The consumer does not manage or control the
underlying cloud infrastructure but has control over
operating systems, storage, deployed applications,
as a Service and possibly limited control of select networking
components .
•Examples :
• Amazon EC2
• Eucalyptus
• OpenNebula
• … etc
Infrastructure
as a Service
SYSTEM ARCHITECTURE :
Infrastructure as a Service
•Enabling technique -
Virtualization VM1 VM2 VM3
• Virtualization is an abstraction of
logical resources away from
underlying physical resources.
• Virtualization technique shifts OS onto
hypervisor.
• Multiple OS share the physical
hardware and provide different
services.
• Improve utilization, availability,
security and convenience.
Infrastructure as a Service
•Properties supported by virtualization
technique :
• Manageability and Interoperability
• Availability and Reliability
• Scalability and Elasticity
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.
Can include hardware, network, connectivity, operating systems, and other
“raw” IT resources.
Are typically virtualized and packaged into bundles that simplify up-front
runtime scaling and customization of the infrastructure.
Infrastructure- General purpose of an IaaS environment is to provide cloud consumers
as-a-Service with a high level of control and responsibility over its configuration and
utilization.
(IaaS) Used by cloud consumers that require a high level of control over the
cloud-based environment they intend to create.
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.
Figure 4.11 A cloud consumer is using a virtual server
Infrastructure-as-a- within an IaaS environment. Cloud consumers are provided
with a range of contractual guarantees by the cloud
Service (IaaS) provider, pertaining to characteristics such as capacity,
performance, and availability.
Infrastructure as a Service
Platform as a Service
Software as a Service
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
Platform as a the underlying cloud infrastructure including
network, servers, operating systems, or
Service storage, but has control over the deployed
applications and possibly application
hosting environment configurations.
Examples :
• Microsoft Azure
• Google App Engine
• Hadoop
• … etc
Platform as a
Service
SYSTEM ARCHITECTURE :
Platform as a Service
•Enabling technique – Runtime Environment Design
• Runtime environment refers to collection of software services
available. Usually implemented by a collection of program
libraries.
•Common properties in Runtime Environment :
• Manageability and Interoperability
• Performance and Optimization
• Availability and Reliability
• Scalability and Elasticity
•PaaS delivery model represents a pre-defined “ready-to-use” environment
typically comprised of already deployed and configured IT resources.
•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.
Platform-as-a- 3. The cloud consumer wants to become a cloud provider and deploys
its own cloud services to be made available to other external cloud
Service (PaaS) 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.
•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, Google App Engine offers a Java and Python-based environment.
Platform-as-a-Service Figure 4.12 A cloud consumer is accessing a ready-made
PaaS environment. The question mark indicates that the
(PaaS) cloud consumer is intentionally shielded from the
implementation details of the platform.
Infrastructure as a Service
Platform as a Service
Software as a Service
•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,
Software as a servers, operating systems, storage, or even individual
application capabilities, with the possible exception of
Service limited user-specific application configuration
settings.
•Examples :
• Google Apps (e.g., Gmail, Google Docs, Google sites,
etc.)
• SalesForce.com
• EyeOS
• … etc
Software as a
Service
Software as a Service
•Enabling Technique – Web Service
• Viewing the Internet as a computing platform
• Running interactive applications through a web browser
• Leveraging interconnectivity and mobility of devices
• Enhanced effectiveness with greater human participation
•Properties provided by Internet :
• Accessibility and Portability
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.
A cloud consumer is generally granted very limited administrative control over a SaaS
implementation.
Software-as-a-Service Figure 4.13 The cloud service consumer is given access the
cloud service contract, but not to any underlying IT
(SaaS) resources or implementation details.
Comparing
Cloud
Delivery
Models
Comparing
Cloud
Delivery
Models
Combining
Cloud Delivery
Models
Figure 4.14 A PaaS environment IaaS +
based on the IT resources
provided by an underlying IaaS PaaS
environment.
Combining
Cloud Delivery
Models IaaS + PaaS
Figure 4.15 An example of a
Cloud provider
contract between Cloud
offering the PaaS
Providers X and Y, in which
environment chose to
services offered by Cloud
lease an IaaS
Provider X are physically hosted
environment from a
on virtual servers belonging to
different cloud
Cloud Provider Y. Sensitive data
provider.
that is legally required to stay in
a specific region is physically
kept in Cloud B, which is
physically located in that region.
Combining
Cloud Delivery IaaS + PaaS + SaaS
Models
Ready-made environment
Figure 4.16 A simple layered provided by the PaaS
view of an architecture environment can be used by
comprised of IaaS and PaaS the cloud consumer
environments hosting three organization to develop and
SaaS cloud service deploy its own SaaS cloud
implementations. services that it can then make
available as commercial
products
Similarities between AWS and traditional IT
Traditional, on-premises IT space AWS
Security
Security groups
Firewalls ACLs Administrators Network ACLs IAM
Networking
Router Network pipeline Switch Elastic Load Balancing Amazon VPC
On-premises Compute
servers Amazon EC2
AMI
instances
Storage and
DAS SAN NAS RDBMS
database Amazon EBS Amazon Amazon Amazon
EFS S3 RDS
© 2019 AMAZON WEB SERVICES, INC. OR ITS AFFILIATES. ALL
RIGHTS RESERVED. 38
Cloud Deployment
Models
Deployment
models
HOW TO DEPLOY A CLOUD
SYSTEM ?
Cloud Deployment Models
A cloud deployment model represents a specific type of cloud environment, primarily
distinguished by ownership, size, and access.
There are four common cloud deployment models:
1. Public cloud
2. Community cloud
3. Private cloud
4. Hybrid cloud
Each can exhibit the previously discussed characteristics; their differences lie primarily in the
scope and access of published cloud services, as they are made available to service consumers.
Public Cloud
Public cloud definition
The cloud infrastructure is made available to the general public or
a large industry group and is owned by an organization selling
cloud services.
• Also known as external cloud or multi-tenant cloud, this model
essentially represents a cloud environment that is openly
accessible.
• Basic characteristics :
1. Homogeneous infrastructure
2. Common policies
3. Shared resources and multi-tenant
4. Leased or rented infrastructure
5. Economies of scale
Public Clouds
A public cloud is a publicly accessible cloud
environment owned by a third-party cloud
provider.
Figure 4.17
Organizations
act as cloud The IT resources on public clouds are usually
consumers
when provisioned via the previously described cloud
accessing delivery models and are generally offered to
cloud services cloud consumers at a cost or are commercialized
and IT
resources
via other avenues (such as advertisement).
made available
by different
cloud
providers.
Private Cloud
Private cloud definition
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.
• Also referred to as internal cloud or on-premise cloud, a private cloud
intentionally limits access to its resources to service consumers that
belong to the same organization that owns the cloud.
• Basic characteristics :
1. Heterogeneous infrastructure
2. Customized and tailored policies
3. Dedicated resources
4. In-house infrastructure
5. End-to-end control
Private Clouds
A private cloud is owned by a single
organization.
Private clouds enable an organization to use
Figure 4.19 A cloud service cloud computing technology as a means of
consumer in the organization’s
centralizing access to IT resources by different
on-premise environment
accesses a cloud service
parts, locations, or departments of the
hosted on the same organization.
organization’s private cloud via
a virtual private network.
Community
Cloud
Community cloud definition
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).
Community Clouds
A community cloud is similar to a public cloud
except that its access is limited to a specific
community of cloud consumers.
Figure 4.18 An example of a
“community” of
organizations accessing IT
resources from a community
cloud.
Hybrid Cloud
Hybrid cloud definition
• 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).
Hybrid Clouds
A hybrid cloud is a cloud environment
comprised of two or more different cloud
deployment models.
Figure 4.20 An organization using a
hybrid cloud architecture that utilizes
both a private and public cloud.
Other Cloud Deployment Models
Additional variations of the four base cloud deployment models can exist.
Examples include:
• Virtual Private Cloud – Also known as a “dedicated cloud” or “hosted cloud,” this model
results in a self-contained cloud environment hosted and managed by a public cloud provider
and made available to a cloud consumer.
• Inter-Cloud – This model is based on an architecture comprised of two or more inter-
connected clouds.
Cloud computing deployment models
Cloud Hybrid On-premises
(private cloud)
© 2019 AMAZON WEB SERVICES, INC. OR ITS AFFILIATES. ALL
RIGHTS RESERVED. 51
Cloud
Ecosystem
Common roles associated with cloud-based interaction and
relationships include the cloud provider, cloud consumer, cloud
service owner, and cloud resource administrator.
An organizational boundary represents the physical scope of IT
resources owned and governed by an organization. A trust boundary
is the logical perimeter that encompasses the IT resources trusted by
Summary
an organization.
On-demand usage is the ability of a cloud consumer to self-provision
(Cloud and use necessary cloud-based services without requiring cloud
provider interaction. This characteristic is related to measured usage,
Terminologies which represents the ability of a cloud to measure the usage of its IT
resources.
and Roles) Ubiquitous access allows cloud-based services to be accessed by
diverse cloud service consumers, while multitenancy is the ability of a
single instance of an IT resource to transparently serve multiple cloud
consumers simultaneously.
The elasticity characteristic represents the ability of a cloud to
transparently and automatically scale IT resources out or in. Resiliency
pertains to a cloud’s inherent failover features.
Summary (cont..) Cloud Delivery Models
The IaaS cloud delivery model offers cloud consumers a high level of administrative control over “raw”
infrastructure-based IT resources.
The PaaS cloud delivery model enables a cloud provider to offer a pre-configured environment that cloud
consumers can use to build and deploy cloud services and solutions, albeit with decreased administrative
control.
SaaS is a cloud delivery model for shared cloud services that can be positioned as commercialized
products hosted by clouds.
Different combinations of IaaS, PaaS, and SaaS are possible, depending on how cloud consumers and
cloud providers choose to leverage the natural hierarchy established by these base cloud delivery models.
Summary (cont..) Cloud Deployment
Models
A public cloud is owned by a third party and generally offers commercialized cloud services and
IT resources to cloud consumer organizations.
A private cloud is owned by an individual organization and resides within the organization’s
premises.
A community cloud is normally limited for access by a group of cloud consumers that may also
share responsibility in its ownership.
A hybrid cloud is a combination of two or more other cloud deployment models.
Credits
Thomas Erl, Cloud Computing: Concepts, Technology & Architecture
Dr. Ehtesham Zahoor (FAST-NUCES)
AWS Academy
Questions?