Cloud Computing Infrastructure: Take A Seat & Prepare To Fly
Cloud Computing Infrastructure: Take A Seat & Prepare To Fly
2
What is cloud computing?
I don’t understand what we would do differently
in the light of Cloud Computing other than change
the wordings of some of our ads
Larry Ellision, Oracle’s CEO
3
Software as a service (SaaS)
Application is used as an on demand service. Often
provided via the Internet
Think on-demand TV programs
Example: Google App (online office)
Benefits to users
Reduce expenses: multiple computers, multiple
users
Ease of usage: easy installation, access everywhere
Benefits to providers
Easier to maintain
Control usage (no illegal copies) 4
Utility Computing (UC)
Computing resources (cpu hour, memory, network)
and platform to run software are provided as on
demand service
Think electricity service
6
Utility Computing – Mitigate risks
Capacity
Real world utilization 5%-20%
Animoto demand surge:
Resources
from 50 servers to 3500
servers in 3 days
Black Friday sales
Demand
Over-provisioning t
Resources
Resources
Capacity Capacity
Demand Demand
t 1 2 3 t 7
On demand, scalable
Under-provisioning
Utility Computing – Benefit to providers
Make money
Economies of scale
Resource Cost for medium scale Cost for large scale Ratio
Network $95 / Mbps / month $13 / Mbps / month ~7x
Storage $2.20 / GB / month $0.40 / GB / month ~6x
Administration ≈140 servers/admin >1000 servers/admin ~7x
8
Utility Computing – Amazon EC2
Elastic Compute Cloud
Rent virtual machine instances to run your
software. Monitor and increase / decrease the
number of VMs as demand changes
How to use:
Create an Amazon Machine Image (AMI):
applications, libraries, data and associated
settings
Upload AMI to Amazon S3 (simple storage service)
Use Amazon EC2 web service to configure security
and network access
Choose OS, start AMI instances
Monitor & control via web interface or APIs 9
Amazon EC2
Characteristics:
Elastic: increase or decrease capacity within minutes
Registerfor an application id
Submit your application to Google
11
Google AppEngine – Hello world
Creating a Simple Request Handler
Create a file helloworld.py:
print 'Content-Type: text/plain'
print ''
print 'Hello, world!‘
Map url to handler
Edit configuration file app.yaml
application: helloworld
version: 1
handlers:
- url: /.*
script: helloworld.py
Data storage:
Distributed file system
Store using AppEngine API, retrieve using GQL
Debug: http://localhost:8080/
12
Google AppEngine
Register for an application ID
http://appengine.google.com
Verification code sent to your mobile
Google AppEngine
Characteristics
Easy to start, little administration
Scale automatically
Reliable
Integrate with Google user service: get user nickname,
request login…
Cost:
Can set daily quota
CPU hour: 1.2 GHz Intel x86 processor
Free quotas going to be reduced soon
Resource
Outgoing
Incoming
CPU
Stored
Time
Data
Bandwidth Unit hoursper month
CPU
gigabytes Unit cost
$0.12
$0.10
$0.15 Free
10GB
46
1GBhours
(all)
(daily)
14
Spectrum of Abstractions
Different levels of abstraction
Instruction
Set VM: Amazon EC2
Framework VM: Google AppEngine
Similar to languages
Higher level abstractions can be built on top of lower
ones
Lower-level, Higher-level,
More flexibility, Less flexibility,
More management Less management
Not scalable by default Automatically scalable
15
EC2 Azure AppEngine
Force.com
Detailed comparison
Amazon Google AppEngine
Computation x86 Instruction Set Architecture Predefined 3-tiers Web app
model Not scalable by default. Can use structure
Storage model Scaling varies from none (EBS) Fixed API: BigTable
rd party service such as Fixed language: Python
3
to fully automatic (SimpleDB, S3) Automatic scaling
Networking Define network access policies
RightScale Fixed topology
Automatic to forup3-tier
scaling and
model Choose availability zones, Web
downapp structure
independent network failure Automatic scaling
routable name
Automatic scaling
16
What is a cloud?
Software and hardware to operate datacenters
Public cloud: cloud used to provide utility computing
Amazon EC2: Amazon datacenters, Xen, EC2 APIs
and administrative interface
Google AppEngine: Google data center, GFS,
AppEngine APIs, administrative interface…
Batch processing softwares: MapReduce, Hadoop,
Pig, Dryad
Private cloud: datacenters, not available for rental
18
Cloud computing
Cloud Computing = SaaS + PaaS (utility computing)
Electricity
Cloud TV Video On Demand
(Cloud Computing) (SaaS) On Demand
(PaaS)
19
What is new in Cloud Computing
The illusion of infinite computing resources
The elimination of an up-front commitment by users
The ability to use and pay on demand
21
Should I move into a cloud
Does it really save money?
Costcloud > Costdatacenter , balance by Utilization
UserHourscloud > UserHoursdatacenter (under-provisioning)
Other factors
Re-implement programs
Move data into cloud
What else?
Example:
Upload rate 20Mbits / s. 500GB takes 55 hours
If can process locally in less than 55 hours moving into a
cloud would not save time 22
Adoption Challenges
Challenge Opportunity
Availability Multiple providers
Data lock-in Standardization
Data Confidentiality and Encryption, VLANs, Firewalls
Auditability
23
Adoption Challenges
24
Challenge Opportunity
25
Growth Challenges
Data transfer bottle neck
WAN cost reduces slowest:
2003 2008: WAN 2.7x, CPU 16x, storage 10x
Fastest way to transfer large data: send the disks
Performance unpredictability
Large variation in I/O operations
Inefficiency in I/O virtualization
26
Policy and business challenge
Challenge Opportunity
27
The future?
Application software:
Cloud & client parts, disconnection tolerance
Infrastructure software:
Resource accounting, VM awareness
Hardware systems:
Containers, energy proportionality
28
Discussion
Is their definition correct?
What applications of cloud computing in your
research area that you can think of?
Which service would you choose, EC2 or
GoogApp?
Can you predict the future of cloud computing?
29
references
Above the Clouds: A Berkeley View of Cloud Computing, Michael
Armbrust et al, Feb 2009 (white paper and presentation)
Google AppEngine: http://code.google.com/appengine/
Amazon EC2: http://aws.amazon.com/ec2/
Lessons From The Demise Of A Cloud Startup, John Foley, Feb 2009
Cloud Control, InformationWeek Reports, 2009
30
Are you ready for a ride?
31
Backup Slides
32
Rightscale
$2500 initial fee
$500 monthly
33