0% found this document useful (0 votes)
6 views73 pages

Chapter-1 Introduction To Cloud Computing

The document provides an overview of cloud computing, defining it as the delivery of computing services over the Internet, with characteristics such as resource pooling, scalability, and on-demand self-service. It outlines three primary service models: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS), each with distinct functionalities and user control levels. Additionally, it emphasizes the benefits of cloud computing, including cost efficiency, accessibility, and reduced maintenance responsibilities for users.

Uploaded by

mik
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views73 pages

Chapter-1 Introduction To Cloud Computing

The document provides an overview of cloud computing, defining it as the delivery of computing services over the Internet, with characteristics such as resource pooling, scalability, and on-demand self-service. It outlines three primary service models: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS), each with distinct functionalities and user control levels. Additionally, it emphasizes the benefits of cloud computing, including cost efficiency, accessibility, and reduced maintenance responsibilities for users.

Uploaded by

mik
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

4/29/2021

Pervasive and Cloud Computing

Chapter-1 - Introduction

What is Cloud Computing?

“Simply cloud computing is the delivery of computing


services – servers, storage, databases, networking, software,
analytics and more – over the Internet (“the cloud”).
[[Link]

“Cloud computing is a model for enabling 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 “
[NIST] 2

1
4/29/2021

What is Cloud Computing?


 “Cloud computing is an Information technology (IT)
paradigm that enables ubiquitous access to shared
pools of configurable system resources and higher-level
services that can be rapidly provisioned with minimal
management effort, often over the Internet.
 Cloud computing relies on sharing of resources to
achieve coherence and economies of scale, similar to a
public utility.”

[[Link]

What is Cloud Computing?

 Companies offering cloud computing services are called


cloud providers and typically charge for cloud computing
services based on usage
 The resources used for these services can be metered and users
are charged only for the resources used
 Similar to how you’re billed for gas or electricity at home
 Cloud Computing users can access cloud resources via the
internet from anywhere and at any time without worrying
about any maintenance or management of actual resources
and security
 The maintenance and security are operated by service providers
4

2
4/29/2021

What is Cloud Computing?

 Data is stored in the “cloud”, in certain cases closer to the


site where it is used
 Appears to the users as if stored in a location-independent
manner
 The data storage strategy can increase reliability, as well as
security, and can lower communication costs

 The maintenance and security are operated by service


providers

Cloud computing - Characteristics


Resource pooling:
 The provider uses an infrastructure which allows for the
pooling of physical computing resources to service many
consumers
 Cloud uses a shared pool of resources – resources are drawn from a
common pool

o Examples of resources include storage, processing, memory, and


network bandwidth

o The most common technology used to accomplish this is a virtual


machine(s)

o Common resources build economies of scale

o Common infrastructure runs with a high efficiency 6

3
4/29/2021

Cloud computing - Characteristics


Scalable and Elastic:
 The term “elastic computing” refers to the ability of
dynamically and on-demand acquiring of computing
resources and supporting of a variable workload
 Resources can quickly be increased or decreased
depending on the consumer’s needs
 Resources allocated between users and released when needed

 The manner in which this is accomplished is either manually or


automatically

Cloud computing - Characteristics


Measured services:
 Cloud providers typically meter and measure the services they
provide (CPU, memory, storage, etc.).
 The time unit or measurement is typically based on the hour. You
only pay for services used
 Services are metered, like a utility
 Services can be cancelled at any time
 Resource usage can be monitored, controlled, and reported,
providing transparency for both the provider and consumer of
the utilized service

4
4/29/2021

Cloud computing - Characteristics


On-Demand Self-Service:
 The consumer can provision aspects of the service (CPU, storage,
network, etc.) without the need to interact with the cloud
provider
 Completely automated
 This is typically accomplished with the use of user interfaces
and/or APIs
 Users abstracted from the implementation
 Near real-time delivery (seconds or minutes)

Cloud computing - Characteristics


Broad Network Access:
 The cloud infrastructure be accessible via variety of
network-capable devices, e.g. SmartPhones, PCs, laptops,
tablets, and so on.
 Open standards and APIs
 Almost always IP, HTTP, and REST
 Available from anywhere with an internet connection

10

5
4/29/2021

Cloud computing - Characteristics

 There are certain services and models working behind the


scene making the cloud computing feasible and accessible
to end users
 Following are the working models for cloud computing:
 Service Models
 Deployment Models

11

Cloud computing - Delivery Models


There are three major types of cloud services
1. Software as a Service (SaaS) (high level)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS) (low level)

[Source: Wikipedia]

12

6
4/29/2021

Infrastructure-as-a-Service (IaaS)
 IaaS provides basic computing resources, CPU, VMs,
storage, networking resources, etc.
 In other words, IaaS is a virtual data center

 The user is able to deploy and run arbitrary software, which


can include operating systems and applications
 The user does not manage or control the underlying Cloud
infrastructure but has control over operating systems,
storage, deployed applications, and possibly limited control
of some networking components, e.g., host firewalls
 Example: Amazon EC2
13

Platform-as-a-Service (PaaS)
 PaaS provides runtime environments for developing,
testing, and managing applications
 Software developers can deploy applications without
needing all the related infrastructure (servers, databases,
operating systems, development tools, etc).
 The user:
 Has control over the deployed applications and, possibly, application
hosting environment configurations
 Does not manage or control the underlying Cloud infrastructure
including network, servers, operating systems, or storage.

 Examples: Google App Engine, Windows Azure


14

7
4/29/2021

Software-as-a-Service (SaaS)
 Applications are supplied by the service provider
 Allows people to use cloud-based web applications

 The user does not manage or control the underlying Cloud


infrastructure or individual application capabilities
 Services offered include:
 Social media like Facebook, Twitter, YouTube
 Email services such as Gmail and Hotmail are examples of cloud-
based SaaS services

 Enterprise services such as: workflow management, customer


relationship management (CRM), financial management, geo-spatial

 Office tools (Office 365 and Google Docs)

 Not suitable for real-time applications or for those where data is 15


not allowed to be hosted externally

The Three Delivery Models of Cloud Computing

16

8
4/29/2021

The Three Delivery Models of Cloud Computing

17

The Three Delivery Models of Cloud Computing

 On-premises IT infrastructure is like owning a car. When


you buy a car, you’re responsible for its maintenance, and
upgrading means buying a new car.
 IaaS is like leasing a car. When you lease a car, you choose
the car you want and drive it wherever you wish, but the
car isn’t yours. Want an upgrade? Just lease a different
car!
 PaaS is like taking a taxi. You don’t drive a taxi yourself,
but simply tell the driver where you need to go and relax
in the back seat.
 SaaS is like going by bus. Buses have assigned routes, and
you share the ride with other passengers. 18

9
4/29/2021

Cloud computing - Delivery Models


There are three major types of cloud services
1. Software as a Service (SaaS) (high level)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS) (low level)

[Source: Wikipedia]

19

Cloud Service Models

 Cloud Software as a Service (SaaS)


 Cloud Platform as a Service (PaaS)
 Cloud Infrastructure as a Service (IaaS)

10
4/29/2021

Service Model Overview

Cloud Service Models


Software as Platform as a Infrastructure
a Service Service as a Service
(SaaS) (PaaS) (IaaS)

SalesForce
CRM
LotusLive

Googl
e App
Engin
e

Adopted from: Effectively and Securely Using the Cloud Computing


Paradigm by peter Mell, Tim Grance

11
4/29/2021

Cloud Service Models …

Service Model at a glance: Picture From [Link]

Infrastructure as a Service (IaaS)


• The capability provided to the consumer is to provision
processing, storage, networks, and other fundamental
computing resources
• 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)
• Examples: Amazon EC2, GoGrid, iland, Rackspace Cloud
Servers, ReliaCloud.

12
4/29/2021

Infrastructure as a Service …
• System architecture:

Infrastructure as a Service…
• Enabling technique - Virtualization
– Virtualization is an abstraction of logical resources away
from underlying physical resources
• Virtualization technique shift OS onto hypervisor
• Multiple OS share the physical hardware and provide
different services
• Improve utilization, availability, security and convenience

VM1 VM2 VM3

13
4/29/2021

Infrastructure as a Service…
• Properties supported by virtualization technique:
– Manageability and Interoperability
– Availability and Reliability
– Scalability and Elasticity

Infrastructure as a Service…
• Provide service –Resource Management Interface
– Several types of virtualized resource :
• Virtual Machine – As an IaaS provider, we should be able to
provide the basic virtual machine operations, such as creation,
suspension, resumption and termination, …etc.
• Virtual Storage – As an IaaS provider, we should be able to
provide the basic virtual storage operations, such as space
allocation, space release, data writing and data reading, …etc.
• Virtual Network – As an IaaS provider, we should be able to
provide the basic virtual network operations, such as IP
address allocation, domain name register, connection
establishment and bandwidth provision, …etc.

14
4/29/2021

Infrastructure as a Service…
• Provide service – System Monitoring Interface
– Several types of monitoring metrics :
• Virtual Machine – As an IaaS provider, we should be able
to monitor some system states of each virtual machine,
such as CPU loading, memory utilization, IO loading and
internal network loading, …etc.
• Virtual Storage – As an IaaS provider, we should be able to
monitor some storage states of each virtual storage, such as
virtual space utilization, data duplication and storage device
access bandwidth, …etc.
• Virtual Network – As an IaaS provider, we should be able
to monitor some network states of each virtual network,
such as virtual network bandwidth, network connectivity and
network load balancing, …etc.

IaaS - Summary
• IaaS is the deployment platform that abstract the
infrastructure
• IaaS enabling technique
– Virtualization
• Server Virtualization
• Storage Virtualization
• Network Virtualization
• IaaS provided services
– Resource Management Interface
– System Monitoring Interface

15
4/29/2021

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
• Examples: Windows Azure, Google App.

Platform as a Service…
• System architecture :

16
4/29/2021

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

Platform as a Service…
• Provide service – Programming IDE
– Users make use of programming IDE to develop their
service among PaaS.
• This IDE should integrate the full functionalities which
supported from the underling runtime environment.
• This IDE should also provide some development tools, such
as profiler, debugger and testing environment.
– The programming APIs supported from runtime
environment may be various between different cloud
providers, but there are still some common operating
functions.
• Computation, storage and communication resource
operation

17
4/29/2021

Platform as a Service…
• Provide service – System Control Interface
– Police-Based Control
• Typically described as a principle or rule to guide decisions
and achieve rational outcome(s)
• Make the decision according to some requirements
– Workflow Control
• Describe the flow of installation and configuration of
resources
• Workflow processing daemon delivers speedy and efficient
construction and management of cloud resources

PaaS – Summary…
• PaaS is the development platform that abstract
the infrastructure, OS, and middleware to drive
developer productivity

• PaaS enabling technique


– Runtime Environment
• PaaS provide services
– Programming IDE
• Programming APIs
• Development tools
– System Control Interface
• Policy based approach
• Workflow based approach

18
4/29/2021

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
• Examples: Caspio, Google Apps, Salesforce, Nivio,
[Link]

Software as a Service…

19
4/29/2021

Software as a Service…
• Enabling Technique – Web Service
– Web 2.0 is the trend of using the full potential of the web
• 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…
• Provide service – Web-based Applications
– Conventional applications should translate their access interface
onto web-based platform.
– Applications in different domains
• General Applications – Applications which are designed for general
propose, such as office suit, multimedia and instant message, …etc.
• Business Applications – Application which are designed for
business propose, such as ERP, CRM and market trading system,
…etc.
• Scientific Applications – Application which are designed for
scientific propose, such as aerospace simulation and biochemistry
simulation, …etc.
• Government Applications – Applications which are designed for
government propose, such as national medical system and public
transportation system service, …etc.

20
4/29/2021

Software as a Service…
• Provide service – Web Portal
– Apart from the standard search engine feature, web
portals offer other services such as e-mail, news, stock
prices, information, databases and entertainment
– Portals provide a way for enterprises to provide a
consistent look and feel with access control and
procedures for multiple applications and databases, which
otherwise would have been different entities altogether
– Some examples :
• iGoogle
• MSNBC
• Netvibes
• Yahoo!

SaaS – Summary…
• SaaS is the finished applications that you rent and
customize
• SaaS enabling technique
– Web Service
• SaaS provide services
– Web-based Applications
• General applications
• Business applications
• Scientific applications
• Government applications
– Web Portal

21
4/29/2021

Cloud Deployment Model


• There are four primary cloud deployment models :
• Public Cloud
• Private Cloud
• Community Cloud
• Hybrid Cloud
• Their differences lie primarily in the scope and
access of published cloud services, as they are made
available to service consumers

Deployment Models
Public Cloud - the infrastructure is made available to the general
public or a large industry group and is owned by the organization
selling cloud services
 Public cloud may be less secure because of its openness
Private Cloud – the infrastructure is operated solely for an
organization - A single individual, group, or organization
 It offers increased security because of its private nature
Community/Federated Cloud - the infrastructure is shared by
several organizations and supports a community that has shared
concerns - A restricted community of consumers

Hybrid Cloud - composition of two or more Clouds (public, private,


or community) as unique entities but bound by a standardized
44
technology that enables data and application portability

22
4/29/2021

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 :
• Homogeneous infrastructure
• Common policies
• Shared resources and multi-tenant
• Leased or rented infrastructure
• Economies of scale

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 :
• Heterogeneous infrastructure
• Customized and tailored policies
• Dedicated resources
• In-house infrastructure
• End-to-end control

23
4/29/2021

Public vs. Private

Comparison :

Public Cloud Private Cloud


Infrastructure Homogeneous Heterogeneous
Policy Model Common defined Customized & Tailored
Resource Model Shared & Multi-tenant Dedicated
Cost Model Operational expenditure Capital expenditure
Economy Model Large economy of scale End-to-end control

Private VS Public Cloud

24
4/29/2021

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)
– It may be managed by the organizations or a third party
and may exist on-premises or off-premises

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)

25
4/29/2021

Hybrid Cloud

Service Provisioning Model


 Basic reasoning: information and data processing can be done
more efficiently on large farms of computing and storage systems
accessible via the Internet.
 Two early models:
1. Grid computing – initiated by the National Labs in the early
1990s; targeted primarily at scientific computing.
 “Grid computing is the collection of computer resources from
multiple locations to reach a common goal. The grid can be thought
of as a distributed system with non-interactive workloads that
involve a large number of files.” from Wikipedia
2. Utility computing – initiated in 2005-2006 by IT companies
and targeted at enterprise computing
 “Utility computing is a service provisioning model in which a service
provider makes computing resources and infrastructure
management available to the customer as needed, and charges
them for specific usage rather than a flat rate.” from Wikipedia
52

26
4/29/2021

Central Idea of Cloud computing

Central Ideas
• Perspective from user :
– Users do not care about how the works are done
• Instead, they only concern about what they can get
– Users do not care about what the provider actually did
• Instead, they only concern about their quality of service
– Users do not want to own the physical infrastructure
• Instead, they only want to pay as many as they used

• What dose user really care ?


– They only care about their “Service”

27
4/29/2021

Utility Computing
• provides service provisioning model
– Service provider makes computing resources and
infrastructure management available to the customer as
needed, and charges them for specific usage rather than a
flat rate
– Like other types of on-demand computing, the utility model
seeks to maximize the efficient use of resources and/or
minimize associated costs

Discussion Point

• What does Service mean?

28
4/29/2021

Same fact about Service industry


 In Year 2010 of the US economy,
– Service industry 80%
– Manufacturing only 15% , and
– Agriculture 5%
 From the Cloud computing the Service industry
benefits primarily and advance the business computing
to a new paradigm
 Global revenue in cloud computing
– In 2009 reported $ 59 billion
– by 2013 was been forecasted about $ 150 billion

What Is Service?
• Service is what you connect together using Web Services
• Service is the endpoint of a connection
• Functionalities of service :
– A service should be well-defined
– A service should be self-contained
– A service should not depend on the context or state of other
services

29
4/29/2021

What Is Web Service?


• Definition :
– Web service is self-describing and stateless modules that
perform discrete units of work and are available over the
network
– Web service providers offer APIs that enable developers to
exploit functionality over the Internet, rather than delivering
full-blown applications
• Web Services Description Language (WSDL):
– Expressed in XML which include both data type and
messages
– Four types of operations :
• One-way - Messages sent without a reply required
• Request & response - Sending and replying messages
• Solicit response - A request for a response
• Notification - Messages sent to multiple receivers

Service Oriented Architecture


• Definition
– Service Oriented Architecture (SOA) is essentially a
collection of services which communicate with each other
– Contain a flexible set of design principles used during the
phases of systems development and integration
– Provide a loosely-integrated suite of services that can be
used within multiple business domains

• Approach
– Usually implemented by Web Service model

30
4/29/2021

Quality Of Service
• Original definition
– Quality of Service (QoS) is a set of technologies for
managing network traffic in a cost effective manner to
enhance user experiences for home and enterprise
environments
• QoS becomes to a broad term that is used following
areas:
– Customer care evaluations
– Technological evaluations

Quality Of Service
• Customer care evaluations
– QoS is usually measured in terms of issues that have a direct
impact on the experience of the customer
– Only issues that produce a negative effect on the goods and
services received by the customer come under scrutiny
• Technological evaluations
– QoS has to do with the efficient operation of various systems
– This can lead to adjusting procedures or adapting software
programs and code to achieve the desired effect while making a
more efficient use of available resources

31
4/29/2021

Utility
Computi
ng
SOA +
Service Level Agreement
SLA

• Definition
– A service-level agreement (SLA) is a contract between a
network service provider and a customer that specifies,
usually in measurable terms (QoS), what services the
network service provider will furnish
• Common content in contract
– Performance guarantee metrics
• Up-time and down-time ratio
• System throughput
• Response time
– Problem management detail
– Penalties for non-performance
– Documented security capabilities

Properties of Cloud Computing

32
4/29/2021

Scalability & Elasticity


• What is scalability ?
– A desirable property of a system, a network, or a process, which
indicates its ability to either handle growing amounts of work in a
graceful manner or its potential to be readily enlarged in order to
accommodate that growth
– Cloud scalability refers to how well your system can react and adapt to
changing demands
• What is elasticity?
– A system’s ability to shrink or expand infrastructure resources
potentially as required to adjust to workload variations in an
autonomic way, ensuring resource efficiencies
– Cloud services are able to add and remove resources on demand
– Cloud elasticity should be automatic and seamless
• People accessing cloud services should not be able to notice that resources are added or
dropped

Scalability & Elasticity


Difference Between Cloud Elasticity and Scalability :
Cloud Elasticity Cloud Scalability

Elasticity is used just to meet the


Scalability is used to meet the static
1 sudden up and down in the
increase in the workload.
workload for a small period of time.

Elasticity is used to meet dynamic Scalability is always used to address


2 changes, where the resources need the increase in workload in an
can increase or decrease. organization.

Elasticity is commonly used by Scalability is used by giant companies


small companies whose workload whose customer circle persistently
3
and demand increases only for a grows in order to do the operations
specific period of time. efficiently.

It is a short term planning and


Scalability is a long term planning and
adopted just to deal with an
4 adopted just to deal with an expected
unexpected increase in demand or
increase in demand.
seasonal demands.

33
4/29/2021

Scalability & Elasticity


Types of scalability
• Vertical scaling - scaling up
– Upgrading a single resource. For example, installing more
memory or storage capacity to a server
– In a physical, on-premises setup, you would need to shut down
the server to install the updates
• Horizontal scaling – scaling out
– Used to describe “building out” a system with additional
components
– For example, you can add processing power or more memory to
a server by linking it with other servers

Scalability & Elasticity


• But how to achieve these properties ?
– Dynamic provisioning
– Multi-tenant design

34
4/29/2021

Dynamic Provisioning
• What is dynamic provisioning ?
– A simplified way to explain a complex networked server
computing environment where server computing
instances are provisioned or deployed from a
administrative console or client application by the
• Server administrator
• Network administrator
• Any other enabled user

Dynamic Provisioning
• In traditional computing model, two common problems:
– Underestimate system utilization which result in under
provision

Loss Revenue
Resources

Capacity
Resources

Demand
Capacity
1 2 3

Demand Loss Users


Resources

1 2 3 Capacity
Time (days)

Demand
1 2 3

35
4/29/2021

Dynamic Provisioning

• Overestimate system utilization which result in low


utilization

Resources Capacity

Unused resources

Demand
Time

• How to solve this problem ??


– Dynamically provision resources

Dynamic Provisioning
• Cloud resources should be provisioned dynamically
– Meet seasonal demand variations
– Meet demand variations between different industries
– Meet burst demand for some extraordinary events
Resources

Capacity
Resources

Capacity
Demand Demand
Time Time

36
4/29/2021

Multi-tenant Design
What is multi-tenant design? The classical definition
• Multi-tenant refers to a principle in software architecture where a
single instance of the software runs on a server, serving multiple
client organizations
– A software instance is a copy of a running program loaded into random
access memory (RAM)

• With a multi-tenant architecture, a software application is designed


to virtually partition its data and configuration thus each client
organization works with a customized virtual application instance
– Multi-tenant applications are typically required to provide a high degree of
customization to support each target organization's needs
– Multi-tenant applications are expected to provide adequate levels of
security and robustness

Multi-tenant Design
What is multi-tenant design ?
• However, in modern cloud computing, the term has taken on
a broader meaning, referring to shared cloud infrastructure
instead of just a shared software instance
• In cloud computing, multitenancy means that multiple
customers of a cloud vendor are using the same computing
resources
– Despite the fact that they share resources, cloud customers aren't
aware of each other, and their data is kept totally separate
– To understand multitenancy, think of how banking works. Multiple
people can store their money in one bank, and their assets are
completely separate even though they're stored in the same place.

37
4/29/2021

Multi-tenant Design
What is multi-tenant design?

Availability & Reliability


What is availability?
• The percentage of time a system or a service is accessible
• How much time the service provider guarantees that your data and
services are available
• Cloud system usually require high availability
– Example 99.999% (or Five Nines) uptime means the system would
statistically provide 99.999% availability

• High availability is the ultimate goal of moving to the cloud


– Make products, services, and tools available to customers at any
time from anywhere using any device with an internet connection

38
4/29/2021

Availability & Reliability

What is reliability?
• The ability of a system or component to perform its required
functions under stated conditions for a specified period of time
• When you access an app or service in the cloud, you can
reasonably expect that:
• The app or service is up and running
• You can access what you need from any device at any time from any
location
• There will be no interruptions or downtime
• Your connection is secure
• You will be able to perform the tasks you need to get your job done

Availability & Reliability


How to achieve these properties ?
– Fault tolerance system
– Require system resilience
– Reliable system security

39
4/29/2021

Fault Tolerance
What is fault tolerant system?
• Fault-tolerance is the property that enables a system to continue
operating properly in the event of the failure of some of its
components
• If its operating quality decreases at all, the decrease is proportional
to the severity of the failure, as compared to a naively-designed
system in which even a small failure can cause total breakdown
Four basic characteristics:
• No single point of failure
• Fault detection and isolation to the failing component
• Fault containment to prevent propagation of the failure
• Availability of reversion modes

Fault Tolerance
Single point of failure
• A part of a system which, if it fails, will stop the entire system
from working
– The assessment of a potentially single location of failure identifies
the critical components of a complex system that would provoke a
total systems failure in case of malfunction
• Preventing single point of failure
– If a system experiences a failure, it must continue to operate
without interruption during the repair process

40
4/29/2021

Fault Tolerance
Fault detection and isolation
• Monitoring a system, identifying when a fault has occurred and
pinpoint the type of fault and its location

Isolate failing component


• When a failure occurs, the system must be able to isolate the
failure to the offending component

Fault Tolerance
Fault Containment
• Some failure mechanisms can cause a system to fail by propagating
the failure to the rest of the system
• Mechanisms that isolate a failing component to protect the system
are required
Available of reversion modes
• System should be able to maintain some check points which can be
used in managing the state changes

41
4/29/2021

System Resilience
What is Resilience ?
• Resilience is the ability to provide and maintain an acceptable level
of service in the face of faults and challenges to normal operation
• Resiliency pertains to the system's ability to return to its original
state after encountering trouble
– Fault Tolerance to mean that any user of the service does not observe
any fault (other than possibly a longer delay that is normal)

– Fault Resilience to mean that a fault may be observed, but only


in uncommitted data (i.e. the database may respond with an error to
the attempt to commit a transaction, etc.)

System Resilience
Disaster Recovery
• Disaster recovery is the process, policies and procedures related
to preparing for recovery or continuation of technology
infrastructure critical to an organization after a natural or human-
induced disaster
• Some common strategies :
– Backup
• Replicate data to an off-site location
• Replicate whole system
• Two ways
– Physical transfer :- data are copied from disk to disk or onto a
removable hard drive and storing it elsewhere
– Remote backup – a copy of your files, applications, virtual
machines or servers and store them safely on a remote
network of computing resources that you access via the
internet

42
4/29/2021

System Security
• Security issue in Cloud Computing :
– Cloud security refers to a broad set of policies, technologies,
and controls deployed to protect data, applications, and the
associated infrastructure of cloud computing

System Security
Important security and privacy issues related to cloud computing:
• Data Protection
– To be considered protected, data from one customer must be
properly segregated from that of another
• Identity Management
– Every enterprise will have its own identity management system to
control access to information and computing resources
• Application Security
– Cloud providers should ensure that applications available as a service
via the cloud are secure
• Privacy
– Providers ensure that all critical data are masked and that only
authorized users have access to data in its entirety

43
4/29/2021

Manageability & Interoperability


• What is manageability?
– Enterprise-wide administration of cloud computing systems
– Systems manageability is strongly influenced by network
management initiatives in telecommunications and offered
services management
• What is interoperability?
– Is the ability of different systems, devices, applications or products
to connect and communicate in a coordinated way, even if they
were developed by widely different manufacturers in different
industries, without effort from the end user
• Being able to exchange information between applications,
databases, and other computer systems is crucial

Manageability & Interoperability


• Methods of achieving Manageability and Interoperability?
– System control automation
– System state monitoring
– Automatic billing

44
4/29/2021

Control Automation
• What is Autonomic Computing?
– Refers to the self-managing characteristics of distributed
computing resources, adapting to unpredictable changes while
hiding intrinsic complexity to operators and users
– Its ultimate aim is to develop computer systems capable of self-
management, to overcome the rapidly growing complexity of
computing systems management
• Architectural framework:
– Composed by Autonomic Components (AC) which will interact
with each other
• An AC can be modeled in terms of two main control loops (local
and global) with sensors (for self-monitoring), effectors (for self-
adjustment), knowledge and planer/adapter for exploiting
policies based on self- and environment awareness

Control Automation
• Four functional areas of control automation:
– Self-Configuration
• Automatic configuration of components
– Self-Healing
• Automatic discovery, and correction of faults
– Self-Optimization
• Automatic monitoring and control of resources to ensure the
optimal functioning with respect to the defined requirements
– Self-Protection
• Proactive identification and protection from arbitrary attacks

45
4/29/2021

System Monitoring
• What is system monitor?
– A distributed system for collecting and storing state data in cloud
computing
• What should be monitored in the Cloud?
– Physical and virtual hardware state
– Resource performance metrics
– Network access patterns
– System logs
– … etc

Billing System
• Billing System in Cloud
– Users pay as many as they used
– Cloud provider must first determine the list of service usage price
– Cloud provider have to record the resource or service usage of
each user, and then charge users by these records
• How can Cloud provider know users’ usage?
– Get those information by means of monitoring system
– Automatically calculate the total amount of money which user
should pay
– And automatically request money from user’s banking
account

46
4/29/2021

Performance & Optimization


• Performance guarantees?
– As the great computing power in cloud, application performance
should be guaranteed
– Cloud providers make use of powerful infrastructure or other
underlining resources to build up a highly performed and highly
optimized environment, and then deliver the complete services
to cloud users
• Methods for achieving Performance and optimization ?
– Parallel computing
– Load balancing
– Job scheduling

Parallel Processing
• Parallel Processing
– Parallel processing is a form of computation in which many
calculations are carried out simultaneously, operating on the
principle that large problems can often be divided into
smaller ones, which are then solved concurrently
• Parallelism in different levels:
– Bit level parallelism
– Instruction level parallelism
– Data level parallelism
– Task level parallelism

47
4/29/2021

Parallel Processing
• Hardware approaches
– Multi-core computer
– Symmetric multi-processor
– General purpose graphic processing unit
– Vector processor
– Distributed computing
• Cluster computing
• Grid computing
• Software approaches
– Parallel programming language
– Automatic parallelization

Load Balancing
• What is load balancing?
– A technique to distribute workload evenly across two or more
computers, network links, CPUs, hard drives, or other
resources, in order to get optimal resource utilization,
maximize throughput, minimize response time, and avoid
overload
• Why should be load balanced?
– Improve resource utilization
– Improve system performance
– Improve energy efficiency

Unbalanced

48
4/29/2021

Job Scheduling
• What is job scheduler?
– A software application that is in charge of unattended
background executions, commonly known for historical
reasons as batch processing
• What should be scheduled in Cloud?
– Computation intensive tasks
– Dynamic growing and shrinking tasks
– Tasks with complex processing dependency

Accessibility & Portability


• What is accessibility?
– Accessibility is a general term used to describe the degree
to which a product, device, service, or environment is
accessible by as many people as possible
• What is service portability?
– Service portability is the ability to access services using any
devices, anywhere, continuously with mobility support and
dynamic adaptation to resource variations
• Methods for achieving accessibility and portability
– Uniform access
– Thin client

49
4/29/2021

Uniform Access
• How do users access Cloud services?
– Cloud provider should provide their cloud service by means
of widespread accessing media
– In other word, users from different operating systems or other
accessing platforms should be able to directly be served
– Nowadays, web browser technique is one of the most
widespread platform in almost any intelligent electronic
devices.
• Cloud service take this into concern, and delivery their
services with web-based interface through the Internet

Thin Client
• What is thin client?
– Thin client is a computer or a computer program which depends
heavily on some other computer to fulfill its traditional
computational roles. This stands in contrast to the traditional fat
client, a computer designed to take on these roles by itself
• Characteristics:
– Cheap client hardware
• While the cloud providers handle several client sessions at once,
the clients can be made out of much cheaper hardware
– Diversity of end devices
• End user can access cloud service via plenty of various electronic
devices, which include mobile phones and smart TV
– Client simplicity
• Client local system do not need complete operational functionalities

50
4/29/2021

Benefits From Cloud

Benefits From Cloud


• Cloud computing brings many benefits :
For the market and enterprises
– Reduce initial investment
– Reduce capital expenditure
– Improve industrial specialization
– Improve resource utilization
For the end user and individuals
– Reduce local computing power
– Reduce local storage power
– Variety of thin client devices in daily life

51
4/29/2021

Reduce Initial Investment


• Traditional process of enterprises to initiate business :
o Survey and analysis the industry and market
o Estimate the quantity of supply and demand
o Purchase and deploy IT infrastructure
o Install and test the Software system
o Design and develop enterprise specific business service
o Announce the business service to clients
Some drawbacks :
o The survey, analysis and estimation may not 100% correct
o Infrastructure deployment is time consuming
o Enterprises should take the risk of wrong investment

52
4/29/2021

Reduce Initial Investment


• Initiate business with Cloud Computing services :
o Survey and analysis the industry and market
o Chose one cloud provider for enterprise deployment
o Design and develop business service upon cloud environment
o Announce the business service to clients

Some benefits :
o Enterprise do not need to own the infrastructure
o Enterprise can develop and deploy business service in short time
o Enterprise can reduce the business loss of wrong investment

Reduce Initial Investment

What does cloud computing achieve ?

Metrics Traditional With Cloud Computing


Investment Risk Enterprise takes the risk Cloud reduces the risk
Enterprise owns the Cloud provider owns the
Infrastructure
infrastructure infrastructure
Time duration Long deployment time Fast

53
4/29/2021

Reduce Capital Expenditure


• Traditional capital expenditure of enterprises :
o Each enterprise should establish its own IT department
o IT department should handle the list of jobs
• Manage and administrate hardware and software
• Apply regular data backup and check point process
• Purchase new infrastructure and eliminate outdated one
• Always standby for any unexpected IT problems
• Some drawbacks :
o Enterprise pays for IT investment which is not its business focus
o Enterprise should take the risk of hardware/software malfunction
o Replacing and updating infrastructure is time consuming and risky

Reduce Capital Expenditure


• Capital expenditure with Cloud Computing service
o Enterprise can almost dismiss its IT department
o The jobs of IT department can be achieved by cloud provider
• Dynamically update and upgrade hardware or software
• Dynamically provision and deploy infrastructure for enterprise
• Automatically backup data and check consistency
• Self-recover from disaster or system malfunction

• Some benefits :
o Enterprise can shift effort to its business focus
o Enterprise can reconfigure its IT services in short time
o Enterprise pays to cloud provider as many as the service used

54
4/29/2021

Reduce Capital Expenditure

What does cloud computing achieve ?


Metrics Traditional With Cloud Computing
Cloud provider takes care
Business focus Need to own its IT department
everything
Pay for all investment and Enterprise pays as the
Payment
human resource service used
Time duration Long establish time Fast

Improve Industrial Specialization


• Traditional industry and market :
o Every enterprise has to own its IT department
o IT resource is managed by enterprise themselves
o IT complexity should be well taken care by enterprise
themselves

• Some drawbacks :
o IT department is not the business focus of enterprise
o Most of enterprises do not well maintain their IT resources
o Enterprise not often optimizes their IT resource usage

55
4/29/2021

Improve Industrial Specialization


• Collaboration with Cloud providers :
o Cloud providers centrally maintain IT infrastructure for clients
o Cloud providers employ experts for management and
administration
o Cloud providers focus on providing reliable IT services
o Enterprises only rent the service they need and care
• Some benefits :
o Industrial specialization will be improved
o IT service performance will be optimized
o Enterprise business focus will be enhanced
o IT resource waste will be reduced

Improve Industrial Specialization

What does Cloud computing achieve ?

Metrics Traditional With Cloud Computing


Enterprise needs to take Enterprise focuses on its own
Collaboration
care everything business
Enterprise works with poor Cloud provider applies
Management
manageability professional control
Relationship Stand alone enterprise Win-Win partnership

56
4/29/2021

Improve Resource Utilization


• Traditional industry and market :
o Enterprise seldom takes care about IT resource utilization
o Enterprise owns their IT resource without well management
o IT resource usually over invested for peak demand

• Some drawbacks :
o Power and space utilization among enterprises are wasted
o IT resources across enterprises cannot be shared

Improve Resource Utilization


• Collaboration with Cloud providers :
o IT resources are centrically managed and optimized
 Cloud provider builds performance optimized hardware
 Cloud provider builds consolidated cooling system
 Cloud provider will consider the geographic issues
 Cloud provider will consider legal policy issues

• Some benefits :
o IT infrastructure can be shared among enterprises
o IT infrastructure performance and utilization can be optimized
o Large-scale integrated optimization can be applied

57
4/29/2021

Improve Resource Utilization

What does cloud computing achieve ?

Metrics Traditional With Cloud Computing


IT Resource IT resource under Share to improve utilization
Utilization utilized most of time of IT resource
Waste power and Cloud system should be
Power Consumption
cooling system global optimized

58
4/29/2021

Reduce Local Computing Power


• Traditional local computing power requirement :
o One need to buy your own personal computer
o Buy powerful processor if you need intensive computing
o Buy large memory to meet application requirement
o Install plenty of applications in need

• Some drawbacks :
o One can hardly replicate the same system environment
o One needs to regularly update or upgrade software and
hardware
o One needs to reinstall all applications if you reinstall the OS

Reduce Local Computing Power


• Using Cloud Computing services :
o One can utilize the remote computing power in the cloud
o One needs only basic computing power to connect to internet
o Application in the cloud will automatically upgrade

• Some benefits :
o One can access his/her applications anywhere through the
Internet
o One can dynamically request for computing power on demand
o Application may need not to be reinstalled even reinstall the OS

59
4/29/2021

Reduce Local Computing Power


What does cloud computing achieve ?

Metrics Traditional With Cloud Computing


Hardware User needs to buy powerful Only basic hardware to
Requirement hardware connect to internet
Software Install application in local No local installation
Requirement computer requirement
Portability Hard to be portable Natively portable

Reduce Local Storage Power


• Traditional local storage power requirement :
o User programs and data files are stored in local devices
o User has to backup data regularly preventing hardware
damage

• Some drawbacks :
o Storage space may not enough for burst data requirement
o Storage space may be over needed which result in resource
waste
o Data consistency is hard to maintain between computers
o Need to sacrifice part of storage space for data backup

60
4/29/2021

Reduce Local Storage Power


• Using Cloud Computing services :
o User programs and data files are stored in the cloud
o Cloud service provider will guarantee the data availability

• Some benefits :
o One can dynamically allocate storage space on demand
o One can access data anywhere through the Internet
o No need to care about data consistency between
computers
o No need to care about data loss due to hardware damage

Reduce Local Storage Power

What does cloud computing achieve ?

Metrics Traditional With Cloud Computing


Limited to local disk, may Dynamically allocated on
Storage Space
be under utilized demand
Storage Data Difficult to maintain data Data consistency
Consistency consistency maintained by cloud
Availability Regular user backup Cloud service guarantee

61
4/29/2021

Variety of End Devices


• Traditional computing resource :
o One can connect to the Internet by personal computer
o Only personal computer can deliver reasonable computing
power
o Small devices cannot perform incentive computation due to
their power and hardware limitation

• Some drawbacks :
o Computing power is not portable
o Small devices can only perform simplified works

Variety of End Devices


• Devices collaborate with Cloud services :
o Device connects to the Internet through wireless network
o Device accesses cloud services through web service interface
o Device sends computing incentive jobs into cloud and wait for
results

• Some benefits :
o User can easily access cloud service through small devices
o User can access almost unlimited computing power anywhere
o Small devices can be intelligently managed through Cloud
(IoT)

62
4/29/2021

Variety of End Devices

What does Cloud computing achieve ?

Metrics Traditional With Cloud Computing


Only accessed through Accessed through small
Computing Power
desktop computer smart devices
Functionalities was Shift computing incentive
Small Device
limited due to their jobs into cloud, and then
Intelligence
power consumption wait for results

Advantages of Cloud Computing


Lower computer costs:
 You do not need a high-powered and high-priced computer to
run cloud computing's web-based applications
 Since applications run in the cloud, not on the desktop PC, your
desktop PC does not need the processing power or hard disk
space demanded by traditional desktop software
 When you are using web-based applications, your PC can be
less expensive, with a smaller hard disk, less memory, more
efficient processor...
 In fact, your PC in this scenario does not even need a CD or DVD
drive, as no software programs have to be loaded and no
document files need to be saved

63
4/29/2021

Advantages of Cloud Computing


Improved performance:
 With few large programs hogging your computer's memory, you will
see better performance from your PC
 Computers in a cloud computing system boot and run faster because
they have fewer programs and processes loaded into memory…

Reduced software costs:


 Instead of purchasing expensive software applications, you can get
most of what you need for free
oMost cloud computing applications today, such as the Google Docs suite.

 Better than paying for similar commercial software

64
4/29/2021

Advantages of Cloud Computing


Instant software updates:
 Another advantage to cloud computing is that you are no longer faced
with choosing between obsolete software and high upgrade costs
 Updates happen automatically
o Available the next time you log into the cloud

Improved document format compatibility:


 You do not have to worry about the documents you create on your
machine being compatible with other users' applications or OSes
 There are potentially no format incompatibilities when everyone is
sharing documents and applications in the cloud

Advantages of Cloud Computing


Unlimited storage capacity:
 Cloud computing offers virtually limitless storage
 Your computer's current 1 Tbyte hard drive is small compared
to the hundreds of Pbytes available in the cloud
Increased data reliability:
 Unlike desktop computing, in which if a hard disk crashes and
destroy all your valuable data, a computer crashing in the cloud
should not affect the storage of your data
 In a world where few individual desktop PC users back up their
data on a regular basis, cloud computing is a data-safe
computing platform!

65
4/29/2021

Advantages of Cloud Computing


Universal document access:
 That is not a problem with cloud computing, because you do
not take your documents with you
 Instead, they stay in the cloud, and you can access them
whenever you have a computer and an Internet connection
 Documents are instantly available from wherever you are
Latest version availability:
 When you edit a document at home, that edited version is
what you see when you access the document at work
 The cloud always hosts the latest version of your documents
o As long as you are connected, you are not in danger of having an outdated
version

Advantages of Cloud Computing


Easier group collaboration:
 Sharing documents leads directly to better collaboration
 Many users do this as it is an important advantages of cloud
computing
o Multiple users can collaborate easily on documents and projects

Device independence:
 You are no longer tied to a single computer or network
 Changes to computers, applications and documents follow you
through the cloud
 Move to a portable device, and your applications and documents
are still available

66
4/29/2021

Disadvantages of Cloud Computing


Requires a constant Internet connection:
 Cloud computing is impossible if you cannot connect to the
Internet
 Since you use the Internet to connect to both your applications
and documents, if you do not have an Internet connection you
cannot access anything, even your own documents
 A dead Internet connection means no work and in areas where
Internet connections are few or inherently unreliable, this could
be a deal-breaker

Disadvantages of Cloud Computing


Does not work well with low-speed connections:
 Similarly, a low-speed Internet connection, such as that found with
dial-up services, makes cloud computing painful at best and often
impossible
 Web-based applications require a lot of bandwidth to download,
as do large documents
Features might be limited:
 This situation is bound to change, but today many web-based
applications simply are not as full-featured as their desktop-based
applications
For example, you can do a lot more with Microsoft PowerPoint than
with Google Presentation's web-based offering

67
4/29/2021

Disadvantages of Cloud Computing


Can be slow:
 Even with a fast connection, web-based applications can
sometimes be slower than accessing a similar software
program on your desktop PC
 Everything about the program, from the interface to the
current document, has to be sent back and forth from your
computer to the computers in the cloud
 If the cloud servers happen to be backed up at that moment, or
if the Internet is having a slow day, you would not get the
instantaneous access you might expect from desktop
applications

Disadvantages of Cloud Computing


Stored data might not be secure:
 With cloud computing, all your data is stored on the cloud
o The questions is How secure is the cloud?

 Can unauthorized users gain access to your confidential data?

Stored data can be lost:


 Theoretically, data stored in the cloud is safe, replicated across
multiple machines
 But on the off chance that your data goes missing, you have no
physical or local backup
o Put simply, relying on the cloud puts you at risk if the cloud lets you
down

68
4/29/2021

Disadvantages of Cloud Computing


General Concerns:
 Each cloud systems uses different protocols and different APIs
May not be possible to run applications between cloud based systems
 Amazon has created its own DB system (not SQL 92), and workflow
system (many popular workflow systems out there)
So your normal applications will have to be adapted to execute on these
platforms

Opportunities and Challenges


The use of the Cloud provides a number of opportunities:
 It enables services to be used without any understanding of their
infrastructure
 Cloud computing works using economies of scale:
o It potentially lowers the outlay expense for start up companies, as they
would no longer need to buy their own software or servers
o Cost would be by on-demand pricing
 Data and services are stored remotely but accessible from
“anywhere”

69
4/29/2021

Opportunities and Challenges


In parallel there has been backlash against cloud computing:
 Use of cloud computing means dependence on others and
that could possibly limit flexibility and innovation:
o The others are likely become the bigger Internet companies like
Google and IBM, who may monopolise the market
o Some argue that this use of supercomputers is a return to the time of
mainframe computing that the PC was a reaction against
 Security could prove to be a big issue:
o It is still unclear how safe out-sourced data is and when using these
services ownership of data is not always clear

Opportunities and Challenges


In parallel there has been backlash against cloud computing:
 There are also issues relating to policy and access:
o If your data is stored abroad whose policy do you adhere to?
o What happens if the remote server goes down?
o How will you then access files?
o There have been cases of users being locked out of accounts and
losing access to data

70
4/29/2021

The Future
 Many of the activities loosely grouped together under cloud
computing have already been happening and centralised computing
activity is not a new phenomena
 Grid Computing was the last research-led centralised approach
 However there are concerns that the mainstream adoption of
cloud computing could cause many problems for users
 Many new open source systems appearing that you can install
and run on your local cluster
o Should be able to run a variety of applications on these systems

Cloud activities

 Service management and provisioning including:


 Virtualization
 Service provisioning
 Call center
 Operations management
 Systems management
 QoS management
 Billing and accounting, asset management
 SLA management
 Technical support and backups

142

71
4/29/2021

Cloud activities

 Security management including:


 ID and authentication.
 Certification and accreditation.
 Intrusion prevention.
 Intrusion detection.
 Virus protection.
 Cryptography.
 Physical security, incident response.
 Access control, audit and trails, and firewalls.

143

Cloud activities

 Customer services such as:


 Customer assistance and on-line help
 Subscriptions
 Business intelligence
 Reporting
 Customer preferences
 Personalization
 Integration services including:
 Data management
 Development

144

72
4/29/2021

Ethical issues

 Paradigm shift with implications on computing ethics:


 The control is relinquished to third party services
 Data is stored on multiple sites administered by several
organizations
 Multiple services interoperate across the network
 Implications:
 Unauthorised access
 Data corruption
 Infrastructure failure, and service unavailability

145

73

You might also like