2.1 Cloud Introduction
2.1 Cloud Introduction
com
1
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
shared
pool
pool
of of
configurable
configurable
computing
computing
resources (e.g., networks, servers, storage, applications, and
services) that can be rapidly
rapidlyprovisioned
provisionedand
and
released
released
with
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.
Cloud Definitions
Definition from Wikipedia
Cloud computing is Internet-based
Internet-basedcomputing,
computing,
whereby
whereby
shared
shared
resources, software,
resources,
software,and
and
information
information
areare
provided
provided
to 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
resources
areare
provided
provided
as as
a service
a
over theover
service
Internet.
the Internet.
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
delivering
hostedservices
services
over
over
thethe
Internet.
Internet.
Cloud Definitions
Definition from Berkeley
Cloud Computing refers to both the applications delivered
deliveredas
as
services over
services
overthe
theInternet
Internet
and
and
the
the
hardware
hardware
and
and
systems
systems
software
in the datacenters
software
in the datacenters
that provide
thatthose
provide
services.
those services.
The services themselves have long been referred to as Software
Softwareas
asa
Service
a
Service
(SaaS),
(SaaS),
so we
so we
useuse
that
that
term.
term.
TheThe
datacenter
datacenter
hardware
hardware
and
software
and
software
is what
is what
we will
we call
will acall a
Cloud.
When a Cloud is made available
in a pay-as-you-go
pay-as-you-gomanner
mannertotothe
the
public The service being sold is
Utility Computing.
Utility
Computing.
10
Cloud Definitions
Definition from Buyya
A Cloud is a type of parallel
paralleland
anddistributed
distributed
system
system
consisting
consisting
of aof
acollection
collectionofofinterconnected
interconnectedand
andvirtualized
virtualized
computers
computers
thatthat
are are
dynamically provisioned
dynamically
provisioned
and
and
presented
presented
asas
one
one
oror
more
more
unified
unified
computing resources based on service-level
service-levelagreements
agreements
established through negotiation between the service provider and
consumers.
11
12
13
: ...
14
Web 2.0 Interface
Software as a Service
Programming API
Scripting & Programming
Languages
Platform as a Service
QoS Metering
Google AppEngine
Microsoft Azure
Manjrasoft Aneka
Infrastructure as a Service
Community Cloud
Hybrid Cloud
Virtualization
SLA Negotiation
Private Cloud
Public Cloud
Accounting
Salesforce.com
Admission Control
Clusters
Other
Grids/Clouds
Storage
16
:
.
:
OneDrive Google Drive, DropBox Box.
:
.
(
) .
:
.
( ) (
) .
Rajaraman (2014).
:
.
.
18
19
20
Platform as a
Service (PaaS)
Infrastructure as a
Service (IaaS)
SalesForce CRM
LotusLive
Google
App
Engine
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim
Grance
21
Massive Scale
Resilient Computing
Homogeneity
Geographic Distribution
Virtualization
Service Orientation
Advanced Security
Essential Characteristics:
On Demand Self-Service
Broad Network Access
Rapid Elasticity
Resource Pooling
Measured Service
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim
Grance
22
Comparison
CRM/ERP/HR
Industry
Applications
Software as a Service
Middleware
High Volume
Transactions
Database
Java
Runtime
Platform as a Service
Servers
Networking
Data Center
Fabric
Infrastructure as a Service
25
Storage
Cloud Architecture
26
27
28
29
30
Office
Software
EMail
Desktop
Finance
Database
CRM
Test
Business
Intelligence
Integration
Development
31
32
34
( )
35
36
37
38
39
40
41
ISO/IEC 17826: Cloud Data Management Interface
ISO/IEC 17788: Cloud Overview and vocabulary
ISO/IEC 17789: Cloud Reference Architecture
42
()Front End
()Back End
:
:
43
Web
)(BI
44
) (FEA
)(Word Processing
:
45
)(HIS
...
Carnegie-Mellon
Florida International
MIT
California-San Diego
Supercomputer Center
California-Santa Barbara
Maryland-College Park
Virginia
Washington
46
47
48
Utility
Computing
SOA + SLA
.
()pay as you go
()quality of service
()Utility Computing
( )service provisioning
49
Utility
Computing
SOA + SLA
() service
web
()well-defined
()self-contained
API
( )full-blown
50
Utility
Computing
SOA + SLA
() SOA
Service Oriented Architecture (SOA) is essentially a
collection of services which communicate with each other
51
Utility
Computing
SOA + SLA
()
52
53
54
)Dynamic Provisioning(
)Underestimat( ) 1
Resources
Resources
Loss Revenue
Capacity
2
1
Time (days)
Demand
1
Resources
Demand
Capacity
Loss Users
Capacity
Demand
1
3
55
(Dynamic provisioning)
)Overestimate() 2
Resources
Capacity
Unused resources
Demand
Time
:
56
( )
(
)
() (
)
Resources
Demand
Time
57
Resources
Capacity
Demand
Capacity
Time
58
()scalling
59
Reactive
Proactive
()
.
.
.
( )
.
.
()Multi-tenant
client
client
60
:Customization
:Quality of service ( )robustness
:2
:3
Multi-Tenant-Efficient
:4
Source: Frederick Chong and Gianpaolo Carraro, Architectures Strategies for Catching the Long Tail
61
62
63
()Fault Tolerance
64
( )resilience
( :)resilience
:
( :)Disaster Recovery
65
:
: mirror
)Uninterruptible Power Supply (UPS
System Security
Security issue in Cloud Computing :
Cloud security is an evolving sub-domain of computer
security, network security, and, more broadly,
information security.
It refers to a broad set of policies, technologies, and
controls deployed to protect data, applications, and the
associated infrastructure of cloud computing.
66
System Security
Important security and privacy issues :
Data Protection
Identity Management
Application Security
Privacy
Providers ensure that all critical data are masked and that only
authorized users have access to data in its entirety.
67
68
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
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 ?
Load balancing is 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
Job Scheduling
What is job scheduler ?
A job scheduler is 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
How to approach ?
Use pre-defined workflow
System automatic configuration
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.
Client simplicity
Client local system do not need complete operational functionalities.
86
Cloud-onomics
CLOUD COMPUTING
VIRTUALIZATION
ENERGY
EFFICIENCY
STANDARDIZATION
AUTOMATION
Reduced
Cost
AGILITY
BUSINESS &
IT
ALIGNMENT
SERVICE
FLEXIBILITY
INDUSTRY
STANDARDS
OPTIMIZED
BUSINESS