1-Introduction To Cloud Computing
1-Introduction To Cloud Computing
Computing
Birhanu G.
[email protected]
1
Outline
• What is Cloud Computing ?
Different perspectives
Properties and characteristics
Benefits from cloud computing
2
CLOUD COMPUTING
3
Cloud Definitions
• Definition from NIST (National Institute of Standards and Technology)
Cloud computing is a model for enabling convenient, on-demand
on-demand
network access
network accesstotoaashared
sharedpool
poolof of
configurable
configurable computing
computing
resources (e.g., networks, servers, storage, applications, and
services) that can be rapidly
rapidlyprovisioned
provisionedand andreleased with
released with
minimal management effort or service provider interaction.
This cloud model promotes availability
availabilityand
andisiscomposed
composedofoffive
five
essential characteristics, three service models, and four
deployment models.
4
Cloud Definitions
• Definition from Wikipedia
Cloud computing is Internet-based
Internet-basedcomputing,
computing, whereby
whereby shared
shared
resources, software,
resources, software,and
andinformation
informationareare
provided
providedto computers
to computers
and other devices on demand,
demand,like
likethe
theelectricity
electricitygrid.
grid.
Cloud computing is a style of computing in which dynamically
dynamically
scalable and
scalable andoften
oftenvirtualized
virtualizedresources
resourcesareare
provided
provided as as
a service
a
over theover
service Internet.
the Internet.
5
Cloud Definitions
• Definition from Whatis.com
The name cloud computing was inspired by the cloud symbol that's
often used to represent the Internet in flowcharts and diagrams.
Cloud computing is a general term for anything that involves
delivering hosted services over the Internet.
6
The Back Story
Internal Storage
External Storage
Network
Cloud Storage
• Create an Account –
User name and
password
• Content lives with the
account in the cloud
• Log onto any computer
with Wi-Fi/internet
access to find your
content
Downloads for storage
• Download a cloud based app to a computer you own
• The app lives on your Computer
• Save files to the app
• When connected to the Internet it will sync with the cloud
• The Cloud can be accessed from any Internet connection
Save file as
• Do “save as” to save a file to your computer and the cloud
• The syncing folders makes data retrieval easier
• Box and DropBox require this download to work
Upload Documents
• Log-in to the online storage account
• Click upload a file
• Find the file on hard drive, network, or external storage
• Upload to cloud storage
2 GB
5 GB
5 GB
7 GB
Properties and characteristics
18
In general
• Cloud computing is a paradigm of computing, a new way of
thinking about IT industry but not any specific technology.
Properties and characteristics
• High scalability and elasticity
• High availability and reliability
• High manageability and interoperability
• High accessibility and portability
• High performance and optimization
Enabling techniques
• Hardware virtualization
• Parallelized and distributed computing
• Web service
19
Properties and Characteristics
20
Utility
Computing
SOA + SLA
Central Ideas
22
Utility
Computing
SOA + SLA
Utility Computing
23
Utility
Computing
SOA + SLA
What Is Service?
24
Utility
Computing
SOA + SLA
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
• Approach
Usually implemented by Web Service model
26
Utility
Computing
SOA + SLA
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.
27
Utility
Computing
SOA + SLA
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
28
Utility
Computing
SOA + SLA
Service Level Agreement
• 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
35
Fault Tolerance
• Single Point Of Failure (SPOF)
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.
36
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. In other words, if a risk event
knocks a system offline, a highly resilient system will return back to
work and function as planned as soon as possible.
37
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.
39
System Security
• Important security and privacy issues :
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.
40
Manageability & Interoperability
• What is manageability ?
Enterprise-wide administration of cloud computing systems.
Systems manageability is strongly influenced by network
management initiatives in telecommunications.
• What is interoperability ?
Interoperability is a property of a product or system, whose
interfaces are completely understood, to work with other products
or systems, present or future, without any restricted access or
implementation.
• But how to achieve these properties ?
System control automation
System state monitoring
42
Control Automation
• What is Autonomic Computing ?
Its ultimate aim is to develop computer systems capable of self-
management, to overcome the rapidly growing complexity of
computing systems management, and to reduce the barrier that
complexity poses to further growth.
• 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.
43
Control Automation
44
System Monitoring
• What is system monitor ?
A System Monitor in systems engineering is a process
within a distributed system for collecting and storing
state data.
• What should be monitored in the Cloud ?
Physical and virtual hardware state
Resource performance metrics
Network access patterns
System logs
… etc
• Anything more ?
Billing system 45
Billing System
Performance
Improvement
47
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 performing and highly
optimized environment, and then deliver the complete services to
cloud users.
48
Load Balancing
• What is load balancing ?
Load balancing is a technique to distribute workload evenly across
two or more computers, network links, CPUs, hard drives, or other
resources,
The purpose is to get optimal resource utilization, maximize
throughput, minimize response time, and avoid overload.
Unbalanced
49
Job Scheduling
• What is job scheduler ?
A job scheduler is a software application that is in charge of
unattended background executions,
It is commonly known for historical reasons as batch processing.
• How to approach ?
Use pre-defined workflow
System automatic configuration
50
Accessibility & Portability
Any device !
Anytime !
Anywhere !
51
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.
52
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 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.
53
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, i-pads, and smart TV.
Client simplicity
• Client local system do not need complete operational functionalities. 54
BENEFITS FROM CLOUD
55
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
• Use of variety of thin client devices
56
Benefits for Market and
Enterprises
57
Reduce Initial Investment
• Traditional process of enterprises to initiate business :
Survey and analysis the industry and market
Estimate the quantity of supply and demand
Purchase and deploy IT infrastructure
Install and test the software system
Design and develop enterprise specific business service
Announce the business service to clients
• Some drawbacks :
The survey, analysis and estimation may not be 100% correct
Infrastructure deployment is time consuming
Enterprises should take the risk of wrong investment
58
Reduce Initial Investment
• Initiate business with Cloud Computing services :
Survey and analysis the industry and market
Chose one cloud provider for enterprise deployment
Design and develop business service upon cloud environment
Announce the business service to clients
• Some benefits :
Enterprises do not need to own the infrastructure
Enterprises can develop and deploy business service in short time
Enterprises can reduce the business loss of wrong investment
59
Reduce Initial Investment
• What dose cloud computing achieve ?
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 to business ready
60
Reduce Capital Expenditure
• Traditional capital expenditure of enterprises :
Each enterprise should establish its own IT department
IT department should handle the following jobs
• Manage and administrate hardware and software
• Apply regular data backup and check point process
• Purchase new infrastructure and eliminate outdated ones
• Always standby for any unexpected IT problems
• Some drawbacks :
Enterprise pays for IT investment which is not its business focus
Enterprise should take the risk of hardware/software malfunction
Replacing and updating infrastructure is time consuming, costly, and
risky
61
Reduce Capital Expenditure
• Capital expenditure with Cloud Computing service :
Enterprise can almost dismiss its IT department
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 :
Enterprise can shift effort to its business focus
Enterprise can reconfigure its IT services in short time
Enterprise pays to cloud provider based on the service used
62
Reduce Capital Expenditure
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Need to own its IT Cloud provider takes
Business focus
department care everything
Pay for all investment Enterprise pays as the
Payment
and human resource service used
Time duration Long establish time Fast to business ready
63
Improve Industrial Specialization
• Traditional industry and market :
Every enterprise has to own its IT department
IT resource is managed by enterprise themselves
IT complexity should be well taken care of by enterprise
themselves
• Some drawbacks :
IT department is not the business focus of enterprise
Most of enterprises do not well maintain their IT
resources
Enterprise seldom optimizes their IT resource usage
64
Improve Industrial Specialization
• Collaboration with Cloud providers :
Cloud providers centrally maintain IT infrastructure for clients
Cloud providers employ experts for management and administration
Cloud providers focus on providing reliable IT services
Enterprises only rent the service they need
• Some benefits :
Industrial specialization will be improved
IT service performance will be optimized
Enterprise business focus will be enhanced
IT resource waste will be reduced
65
Improve Industrial Specialization
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Enterprise needs to take Enterprise focuses on its
Collaboration
care everything own business
Enterprise works with Cloud provider applies
Management
poor manageability professional control
Relationship Stand alone enterprise Win-Win partnership
66
Improve Resource Utilization
• Traditional industry and market :
Enterprises seldom care about IT resource utilization
Enterprises own their IT resource without proper
management
IT resource is usually over invested for peak demand
• Some drawbacks :
Poor power and space utilization among enterprises
IT resources across enterprises cannot be shared
67
Improve Resource Utilization
• Collaboration with Cloud providers :
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 :
IT infrastructure can be shared among enterprises
IT infrastructure performance and utilization can be optimized
Large-scale integrated optimization can be applied
68
Improve Resource Utilization
• What dose cloud computing achieve ?
Traditional With Cloud Computing
IT Resource IT resource under Share to improve
Utilization utilized most of time utilization of IT resource
Power Waste power and Cloud system should be
Consumption cooling system global optimized
69
Benefits for End Users and
Individuals
70
Reduce Local Computing Power
• Traditional local computing power requirement :
One need to buy his/her own personal computer
Buy powerful processor if you need intensive computing
Buy large memory to meet application requirement
Install plenty of applications you may need
• Some drawbacks :
One can hardly replicate the same system environment
One needs to regularly update or upgrade software and hardware
One needs to reinstall all applications if you reinstall the OS
71
Reduce Local Computing Power
• Using Cloud Computing services :
One can utilize the remote computing power in the cloud
One needs only basic computing power to connect to internet
Application in the cloud will automatically upgrade
• Some benefits :
One can access his/her applications anywhere through the Internet
One can dynamically request for computing power on demand
Application may not need to be reinstalled even when reinstalling
the OS
72
Reduce Local Computing Power
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Hardware User needs to buy Only basic hardware to
Requirement powerful hardware connect to internet
Software Install application in No local installation
Requirement local computer requirement
Portability Hard to be portable Natively portable
73
Reduce Local Storage Power
• Traditional local storage power requirement :
User programs and data files are stored in local devices
User has to backup data regularly preventing hardware damage
• Some drawbacks :
Storage space may not be enough for burst data requirement
Storage space may be over needed which result in resource waste
Data consistency is hard to maintain between computers
Need to sacrifice part of storage space for data backup
74
Reduce Local Storage Power
• Using Cloud Computing services :
User programs and data files are stored in the cloud
Cloud service provider will guarantee the data availability
• Some benefits :
One can dynamically allocate storage space on demand
One can access data anywhere through the Internet
No need to care about data consistency between computers
No need to care about data loss due to hardware damage
75
Reduce Local Storage Power
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Limited to local disk, Dynamically allocated
Storage Space
may be under utilized on demand
Storage Data Difficult to maintain Data consistency
Consistency data consistency maintained by cloud
Availability Regular user backup Cloud service guarantee
76
Variety of End Devices
• Traditional computing resource :
One can connect to the Internet by personal computer
Only personal computer can deliver reasonable computing power
Small devices cannot perform intensive computation due to their
power and hardware limitation
• Some drawbacks :
Computing power is not portable
Small devices can only perform simplified works
77
Variety of End Devices
• Devices collaborate with Cloud services :
Device connects to the Internet
Device accesses cloud services through web service interface
Device sends computing intensive jobs into cloud and wait for results
• Some benefits :
User can easily access cloud service through small devices
User can access almost unlimited computing power anywhere
Small devices can be intelligently managed through cloud
78
Variety of End Devices
• What dose cloud computing achieve ?
Traditional With Cloud Computing
Computing Only accessed through Accessed through small
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
79
Agenda
• What is Cloud Computing ?
Different perspectives
Properties and characteristics
Benefits from cloud computing
80
Choose the service you need.
81
Service Models Overview
• What if you want to have an IT department ?
Similar to building a new house
• You can rent some virtualized infrastructure and build up your own IT
system among those resources, which may be fully controlled.
• Technical speaking, use the Infrastructure as a Service (IaaS) solution.
Similar to buying an empty house
• You can directly develop your IT system through one cloud platform,
and do not care about any lower level resource management.
• Technical speaking, use the Platform as a Service (PaaS) solution.
Similar to living in a hotel
• You can directly use some existing IT system solutions, which were
provided by some cloud application service provider, without knowing
any detail technique about how these service was achieved.
• Technical speaking, use the Software as a Service (SaaS) solution.
82
Service Model Overview
83
Infrastructure as a Service
Platform as a Service
Software as a Service
84
Infrastructure as a Service
• Infrastructure as a Service - IaaS
The capability provided to the consumer is to provision processing,
storage, networks, and other fundamental computing resources
The 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 .
• Examples :
Amazon EC2
Eucalyputs
OpenNebula
… etc
85
Infrastructure as a Service
• System architecture :
86
Infrastructure as a Service
• Enabling technique - Virtualization
Virtualization is an abstraction of logical resources away from
underlying physical resources.
• Virtualization technique shifts OS onto hypervisor.
• Multiple OS share the physical hardware and provide different services.
• Improve utilization, availability, security and convenience.
87
Infrastructure as a Service
88
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.
89
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.
90
IaaS - Summary
• IaaS is the deployment platform that abstract the infrastructure.
91
Infrastructure as a Service
Platform as a Service
Software as a Service
SERVICE MODELS
92
Platform as a Service
• Platform as a Service - PaaS
The capability provided to the consumer is to deploy onto the
cloud infrastructure consumer-created or acquired applications
created using programming languages and tools supported by the
provider.
The consumer does not manage or control 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 :
Microsoft Windows Azure
Google App Engine
Hadoop
… etc
93
Platform as a Service
• System architecture :
94
Platform as a Service
• Enabling technique – Runtime Environment Design
Runtime environment refers to collection of software services
available.
This is 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
95
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
96
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
97
PaaS - Summary
• PaaS is the development platform that abstract the infrastructure,
OS, and middleware to drive developer productivity.
98
Infrastructure as a Service
Platform as a Service
Software as a Service
SERVICE MODELS
99
Software as a Service
• Software as a Service - SaaS
The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure.
The applications are accessible from various client devices through
a thin client interface such as a web browser (e.g., web-based
email).
The consumer does not manage or control the underlying cloud
infrastructure including network, servers, operating systems,
storage, or even individual application capabilities, with the
possible exception of limited user-specific application
configuration settings.
• Examples :
Google Apps (e.g., Gmail, Google Docs, Google sites, …etc)
SalesForce.com
… etc
100
Software as a Service
101
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
102
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
purpose, 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 purpose, such as national medical system and public
transportation system service, …etc.
103
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!
104
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
105
How to deploy a cloud system ?
106
Deployment Model
• There are four primary cloud deployment models :
Public Cloud
Private Cloud
Community Cloud
Hybrid Cloud
107
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-tenancy
• Leased or rented infrastructure
• Economies of scale
108
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
109
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).
111
Hybrid Cloud
• Hybrid cloud definition
The cloud infrastructure is a
composition of two or more clouds
(private, community, or public)
that remain unique entities
However, they are bound together
by standardized or proprietary
technology that enables data and
application
portability
• (e.g., cloud bursting
for load-balancing between
clouds).
112
Cloud Ecosystem
113
Thank You
114