Chapter-1 Introduction To Cloud Computing
Chapter-1 Introduction To Cloud Computing
Chapter-1 - Introduction
1
4/29/2021
[[Link]
2
4/29/2021
3
4/29/2021
4
4/29/2021
10
5
4/29/2021
11
[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
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.
7
4/29/2021
Software-as-a-Service (SaaS)
Applications are supplied by the service provider
Allows people to use cloud-based web applications
16
8
4/29/2021
17
9
4/29/2021
[Source: Wikipedia]
19
10
4/29/2021
SalesForce
CRM
LotusLive
Googl
e App
Engin
e
11
4/29/2021
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
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…
• 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
18
4/29/2021
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
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
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
Comparison :
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
26
4/29/2021
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
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
28
4/29/2021
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
• 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
32
4/29/2021
33
4/29/2021
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
1 2 3 Capacity
Time (days)
Demand
1 2 3
35
4/29/2021
Dynamic Provisioning
Resources Capacity
Unused resources
Demand
Time
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)
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?
38
4/29/2021
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
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
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)
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
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
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
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
51
4/29/2021
52
4/29/2021
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
53
4/29/2021
• 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
• 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
56
4/29/2021
• Some drawbacks :
o Power and space utilization among enterprises are wasted
o IT resources across enterprises cannot be shared
• 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
58
4/29/2021
• 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
• 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
• 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
• 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
61
4/29/2021
• Some drawbacks :
o Computing power is not portable
o Small devices can only perform simplified works
• 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
63
4/29/2021
64
4/29/2021
65
4/29/2021
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
67
4/29/2021
68
4/29/2021
69
4/29/2021
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
142
71
4/29/2021
Cloud activities
143
Cloud activities
144
72
4/29/2021
Ethical issues
145
73