02 - Concepts and Models
02 - Concepts and Models
02 - Concepts and Models
Cloud Computing
Chapter 02
2
2010 China IT Leadership Summit
• Robin Li (Founder of Baidu):
— “Cloud is old wine in a new bottle.”
— “Moving traditional software (e.g. Microsoft Office or Oracle) to
cloud is a thankless task.”
• Pony Ma (Founder of Tencent):
— “Cloud computing looks like it is too early.”
— “(Computing power) can be a public resource as readily
accessible as water or electricity. I think it needs hundreds to
thousands of years, maybe humans can do that when Avatar
comes to reality.”
4
Origins and Influences
• Concept of utility computing (1960’s)
—…computing may someday be organized as a public
utility just as the telephone system is a public utility
—Computer networks are still in their infancy, but as
they grow up and become sophisticated, we will
probably see the spread of computer utilities
• Since 1990s, general public has been leveraging
forms of Internet-based computer utilities
—Consumer-centric: Yahoo! Google Hotmail Facebook
YouTube Twitter LinkedIn
—Enterprise-oriented: (con’t next page)
5
Origins and Influences
• Enterprise-oriented:
—1990s Salesforce.com pioneered the concept of
remotely provisioned services for enterprise
—2002 Amazon launched AWS for remote storage,
computing and business functionality
• The terms “cloud computing”:
—About 2006 when Amazon launched Elastic Compute
Cloud EC2
—Google Apps provide browser based enterprise
application, and later Google App Engine for web API.
6
Definitions
• National Institute of Standards and Technology
(NIST):
• “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 models.”
Short definition: Out-sourcing
7
NIST Definition
• 5 Essential Characteristics
— On-demand self-service.
— Broad network access.
— Resource pooling.
— Rapid elasticity.
— Measured Service.
• 3 Service Models:
— Software as a Service (SaaS)
— Platform as a Service (PaaS)
— Infrastructure as a Service (IaaS)
• 4 Deploy Models:
— Private/Community/Public/Hybrid clouds
8
Business drivers of cloud computing: E-
Commercial Example
• Imaging an e-commercial startup.
9
E-Commerce Example (Cont.)
• Students are likely to buy things at school: more
traffic to your website at daytime while no
traffic at night.
10
Business drivers of cloud
computing
• Capacity planning
— Capacity planning is the process of determining and fulfilling future
demands of an organization’s IT resources, products, and services.
— Capacity is the maximum amount of work that an IT resource is
capable of delivering in a given period of time.
— Discrepancy between capacity of an IT resource and its demand
• Over-provisioning – inefficiency
• Under-provisioning – unable to fulfill user needs; transaction losses
— Different capacity planning strategies
• Lead strategy - Adding capacity to an IT resource in anticipation of demand.
• Lag strategy - Adding capacity when the IT resource reaches its full
capacity.
• Match strategy – Adding IT resource capacity in small increments, as
demand increases.
— Difficulty – there is a constant need to balance peak usage
requirements without unnecessary over-expenditure on
infrastructure.
11
E-Commerce Example (Cont.)
• Later, you are planning to extend your business
to other Universities like CityU or PolyU.
12
Business drivers of cloud
computing
• Cost reduction
—Acquiring new infrastructure: Computers, servers,
networks, software applications, etc.
—Operational overhead:
• Technical personnel to keep the environment operational;
• Updates and patches that leads more testing and
development
• Utility bills
• Security and access control measures
• Admins and accounts staff
13
Business drivers of cloud
computing
• Organizational Agility
— Organizational agility is the measure of an organization’s
responsiveness to changes or usage fluctuations, especially to
customers or users of services.
— Freed from maintaining physical infrastructure, the team focuses on
innovation. They roll out new features faster, thanks to the agility
provided by cloud services.
• Example: consider the Apps
Server tested and
Buy new servers installed
New server
that scale up to 50 arrives. Should
we install the
server?
15
BASIC CONCEPTS
AND TERMINOLOGIES
16
Basic concepts and
terminologies
• A cloud refers to a distinct IT environment
designed for the purpose of remotely
provisioning scalable and measured IT
resources.
• Prior to cloud computing becoming its own
formalized IT industry segment, the symbol of a
cloud was commonly used to represent the
Internet.
• This same symbol is now used to specifically
represent the boundary of a cloud environment.
17
Basic concepts and
terminologies
Difference Between Cloud and Internet
• Internet is an interconnection of networks providing
remote access to a set of decentralized IT resources.
• A cloud is a specific environment used to remotely
provision IT resources.
• Clouds are dedicated to supplying back-end processing
capabilities and user-based access to these capabilities.
• A cloud has a finite boundary.
• Many individual clouds are accessible via the Internet.
• A cloud is typically privately owned and offers access to
IT resources that is metered (i.e., somehow paid for).
• It is not necessary for clouds to be Web-based even if
they are commonly based on Internet protocols.
18
Basic concepts and
terminology
IT Resources
• An IT resource is a physical or virtual IT-related
artifact.
—Software-based: virtualized server, program,…
—Hardware-based: network device, storage,…
19
Basic concepts and
terminology
On-premise
• An IT resource that is hosted in a conventional IT
enterprise within an organizational boundary is said
to be on-premise.
• On-premise should not be treated as cloud-based
• An on-premise IT resource can access and interact
with a cloud-based IT resource.
• An on-premise IT resource can be moved to a cloud
and becomes a cloud-based IT resource.
• Redundant deployments of an IT resource can exist
in both on-premise and cloud-based environments.
20
Basic concepts and
terminology
Scaling
• Horizontal Scaling – scaling out and scaling in
• Vertical Scaling – scaling up and scaling down;
less common.
21
Basic concepts and
terminology
22
Basic concepts and
terminology
Cloud service
• Not all IT resources residing 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. For example,
—A simple Web-based software program with a
published technical interface invoked via a messaging
protocol (e.g., HTTP).
—A remote access point for administrative tools or
larger environments.
—Search engine services (Google, Baidu, Bing, etc.)
23
Basic concepts and
terminology
Service-level agreement (SLA)
• Cloud service usage conditions are typically expressed in a
service-level agreement that is the human-readable part of a
service contract between a cloud provider and cloud
consumer.
• The contract describes Quality of Service (QoS) features,
behaviors, and limitations of a cloud-based service.
• An SLA provides details of various measurable characteristics
related to IT outcomes, such as
— Uptime, security characteristics, and other specific QoS features,
including availability, reliability, and performance.
— Example: automatic scaling out if loading of virtual server is larger
than 70% for 3 continuous minutes.
• Since the implementation of a service is hidden from the
cloud consumer, an SLA becomes a critical agreement.
24
Cloud Computing Reference
Architecture
• NIST Cloud Computing Reference Architecture defines
five major actors in terms of roles and responsibilities.
25
Roles and Boundaries
Cloud provider
• Organization providing cloud-based IT resources
• Responsible for providing cloud services to cloud
consumers according to SLA guarantees
• Management and administrative duties of cloud
infrastructure
• Normally owner of IT resources in cloud; may
resell IT resources leased from other cloud
providers
26
Roles and boundaries
Cloud consumer
• Organization or human with a formal contract with cloud
provider to use IT resources in cloud
• Uses cloud service consumer to access a cloud service
27
Roles and boundaries
28
Roles and boundaries
Cloud Service Owner
• The person or organization that legally owns a
cloud service is called a cloud service owner.
A cloud consumer can be a cloud service owner when it A cloud provider becomes a cloud service owner if it
deploys its own service in a cloud. deploys its own cloud service, typically for other cloud
consumers to use.
29
Roles and boundaries
Cloud resource administrator
• The person or organization responsible for
administering a cloud-based IT resource,
including cloud services.
30
Roles and boundaries
• Cloud Auditor – A third-party (often accredited)
that conducts independent assessments of cloud
environments
• Cloud Broker – This role is assumed by a party
that assumes the responsibility of managing and
negotiating the usage of cloud services between
cloud consumers and cloud providers.
• Cloud Carrier – The party responsible for
providing the wire-level connectivity between
cloud consumers and cloud providers assumes
the role of the cloud carrier.
31
Roles and boundaries
Organizational boundary
• Physical perimeter that surrounds a set of IT
resources that are owned and governed by an
organization.
32
Roles and boundaries
Trust boundary
• A logical perimeter that typically spans beyond
physical boundaries to represent the extent to
which IT resources are trusted
33
CLOUD DELIVERY MODELS
34
Cloud Delivery Models
Three most common delivery models
• Infrastructure-as-a-Service (IaaS)
• Platform-as-a-Service (PaaS)
• Software-as-a-Service (SaaS)
Others:
• Storage-as-a-Service
• Database-as-a-Service
• Security-as-a-Service
• Communication-as-a-Service
• Integration-as-a-Service
• Testing-as-a-Service
• Process-as-a-Service
35
A pizza eating example
• Imaging you want to • Table
eat pizza, what do • Chair
you need? • Flower
• Meats
• Cooking tools
• Water
36
Making Pizza from sketch (On-premise)
• You are in control all materials:
—Table
—Chair
—Flower
—Meats
—Cooking tools
—Water
37
Heating pizza (IaaS)
• You buy the frozen pizza and outsourced
—Flower
—Meat
• You still need to be in control of
—Table
—Chair
—Cooking tools
—Water
38
IaaS
• A self-contained IT environment comprised of
infrastructure-centric IT resources that can be accessed
and managed via cloud service-based interfaces and
tools.
— hardware, network, connectivity, operating systems, and other
“raw” IT resources
— IT resources are typically virtualized and packaged into bundles
to simplify up-front runtime scaling and customization.
• IaaS provides cloud consumers with a high level of
control and responsibility over the configuration and
utilization of the IT resources.
— Most common: a freshly initialized virtual server (EC2, Heroku)
• Note that in the example, the SLA guarantees the
uptime/availability of the virtual server, but nothing for
failover.
39
IaaS
41
PaaS
• This model is a pre-defined “ready-to-use” environment comprised of
already deployed and configured IT resources. E.g.
— A server with Database Management System (DBMS)
— A front end web server
• Rationale behind a PaaS model
— The cloud consumer wants to extend on-premise environments into the cloud for
scalability and economic purposes.
— The cloud consumer wants to entirely substitute an on-premise environment.
— The cloud consumer wants to become a cloud provider and resells cloud services to
other cloud consumers.
• No set-up and maintenance burden of IT resources on cloud consumer
• Cloud consumer has a lower level of control over the IT resources.
• Note that the SLA in the example guarantees availability of the virtual
machine, plus auto-scaling if there is a sudden surge in demand. The
pricing is also based on hours or number of requests, whichever is
higher for the cloud provider.
42
PaaS
44
SaaS
• A software program as a shared cloud service
— Examples: Google Map, Search Engines, Language translation
software, etc.
• Cloud consumer has very limited administrative control.
• Service can be provisioned by cloud provider, or another
cloud service owner.
— Example: an organization acting as a cloud consumer while
working with a PaaS environment can build a cloud service and
offer it in the same cloud as an SaaS.
• Note that in the example, the SLA guarantees the
response time to user request. This implicitly guarantees
server availability and auto-scaling.
• The pricing is also based on number of requests.
45
SaaS
46
Comparison
47
Comparison
48
Combining Cloud Delivery
Models
49
Combining Cloud Delivery
Models
An example of a contract
between Cloud Providers X and
Y, in which services offered by
Cloud Provider X are physically
hosted on virtual servers
belonging to Cloud Provider Y.
Sensitive data that is legally
required to stay in a specific
region is physically kept in Cloud
B, which is physically located in
that region.
50
Combining Cloud Delivery
51
CLOUD DEPLOYMENT
MODELS
52
Cloud Deployment Models
Public Cloud
• Publicly accessible
• Owned by a third-party
• IT resources provision
via IaaS, PaaS or SaaS
• Paid or free or ads
53
Cloud Deployment Models
Community Cloud
• Accessible to a specific
community
• The cloud may be
jointly owned by the
community members
or by a 3rd party
provider
• Member consumers
share responsibility of
defining and refining
the cloud
54
Cloud Deployment Models
Private Cloud
• Owned by a single organization
• Centralizing access to IT resources by different
parts/locations/departments
• A separate department typically assumes the
responsibility for cloud provider role.
• IT resources in the cloud are still considered “cloud-
based” as they are remotely accessed by cloud
consumers.
• IT resources hosted outside of the private cloud by
other departments acting as cloud consumers are
considered “on-premise”.
55
Cloud Deployment Models
57
Cloud Deployment Models
58
Cloud Deployment Models
• 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.
59
Lab Session:
• Practice Python and Git
• Download PDF from Moodle
60