cloud service models and performance ang li 09/13/2010
TRANSCRIPT
![Page 1: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/1.jpg)
Cloud Service Modelsand PerformanceAng Li09/13/2010
![Page 2: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/2.jpg)
RoadmapRe-cap on cloud computing
Classes of cloud providers
Common services offered by cloud providers
Cloud performance comparison
![Page 3: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/3.jpg)
Re-cap on cloud computingWhat is cloud computing?
◦Cloud application: software-as-a-service
◦Cloud provider: hardware and software infrastructure that supports the cloud applications
Benefits of cloud computing◦Pay-as-you-go◦On-demand scaling
![Page 4: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/4.jpg)
Classes of cloud providers
Platform as a Service(PaaS)
Infrastructure as a Service (IaaS)
![Page 5: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/5.jpg)
Infrastructure-as-a-Service providersOffer near bare-metal virtual
machines◦You can ssh, get root privilege, install
new software, do whatever you want◦Can use the APIs provided by the OS◦Highly flexible and customizable
Charge by machine-hour◦ (How many machines you use) X
(how long you use them)◦You can afford it!
![Page 6: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/6.jpg)
Demo time!Amazon AWS
![Page 7: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/7.jpg)
Platform-as-a-Service providersOffer a sandbox
environment◦Upload a program, they run it
for you◦Can only use the APIs provided
by the environment
Charged by CPU utilization◦Pay only how much resource
you use◦A few free hours per day!
![Page 8: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/8.jpg)
Demo time!AppEngine
![Page 9: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/9.jpg)
Windows Azure: a combination of bothOffer a sand-box environment of
C# (PaaS)Charge by machine-hour (IaaS)
Demo time!
![Page 10: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/10.jpg)
DiscussionWhat are the pros and cons of
IaaS and PaaS?
Which one do you prefer?◦Your homepage◦E-business application◦Video processing
![Page 11: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/11.jpg)
Services offered by a cloudElastic compute cluster
Persistent storage
Intra-cloud and wide-area network
and others…◦MapReduce service◦CDN service
![Page 12: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/12.jpg)
Elastic compute clusterWhere your application is running
◦VM or sandbox environmentWhy cluster?
◦Multiple “instances” can be running your application simultaneously
Why elastic?◦You can add new instances or
remove existing ones with very short latency
![Page 13: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/13.jpg)
Scaling the compute clusterOpaque scaling
◦User can manually increase/decrease the number of instances
◦Alternatively, she can set up a scaling policy
◦IaaS providers (including Azure)
Transparent scaling◦Scaling happens automatically
(magically)◦PaaS providers
![Page 14: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/14.jpg)
Persistent storageWhere to store your application’s
dataWhy persistent?
◦Local storage (VM disk) is not reliableDifferent types of storage service
◦Table, blob, queue, etc.◦Highly scalable and available
![Page 15: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/15.jpg)
Access the storage services
Storage APIs◦HTTP-based
GET https://sdb.amazonaws.com/?Action=PutAttributes&Attribute.1.Name=data&Attribute.1.Value=haha&AWSAccessKeyId=[valid access key id]&DomainName=table&ItemName=k…
◦Library callDatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Key k = KeyFactory.createKey(table, key);Entity e = new Entity(k);e.setProperty("data", “haha");datastore.put(e);
![Page 16: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/16.jpg)
Networking serviceIntra-cloud network: between two
instances or between an instance and the storage service
Wide-area network: between a cloud instance and the end user
![Page 17: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/17.jpg)
Intra-cloud networkWithin a data center
◦High bandwidth, low latency
![Page 18: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/18.jpg)
Wide-area networkEvery provider has multiple locations to host
cloud applications
Application content can be served from the closest location◦ Why is this a good thing?
![Page 19: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/19.jpg)
Re-cap: cloud services
Intra-cloud network
Storage service
Computation service
Wide-area network
Web application
![Page 20: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/20.jpg)
CloudCmp: comparing cloud providersMotivation
◦Provide shopping advice Analogy: should I buy an IBM or a Dell or
a Mac?
◦Identify performance problems
Challenges◦What to compare?
Each provider is unique in some way…
◦How do we measure?
![Page 21: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/21.jpg)
MethodologyIdentify the common services
◦We just did thisPick a few metrics for each
service relevant to application performance
Develop benchmarking task for each metric
Run the tasks on different providers and compare
![Page 22: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/22.jpg)
Choose the providers to compareAWS, Rackspace, Azure, and
AppEngine
![Page 23: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/23.jpg)
Metrics: elastic compute clusterBenchmark finishing time
◦Java-based benchmark tasksCost per benchmark
◦From per-hour price and billing APIScaling latency
◦Periodically allocate new instances
![Page 24: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/24.jpg)
Metrics: persistent storageOperation latency
◦Client mattersCost per operationTime to consistency
◦Read-after-write test
![Page 25: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/25.jpg)
Metrics: networking serviceIntra-cloud network
◦Bandwidth (iperf)◦Latency (ping)
Wide-area network◦Use PlanetLab nodes to simulate a
diverse user base◦Let each node ping each data center
of a cloud provider◦Optimal wide-area latency
![Page 26: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/26.jpg)
Result: computation performance
What can we learn from the figure?◦ How do the performance differ across different clouds?◦ Within a provider, how do performance differ across different
instance types? Is this enough information to choose provider/instance?
◦ How about cost?
![Page 27: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/27.jpg)
Result: computation cost
What can we learn from this figure?◦Is some provider particularly cost-
effective?◦Which instance type should I choose
within a provider?
![Page 28: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/28.jpg)
Result: scaling efficiency
How is the scaling latency (high/low)?
Linux vs Windows?
![Page 29: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/29.jpg)
Result: storage (table)
The storage services show high variation◦Median – 30ms, 90 percentile – 60ms
Is it good or bad? Why?
![Page 30: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/30.jpg)
Result: intra-cloud network
Intra-cloud bandwidth varies across different providers◦From 200Mbps to 800Mbps
What might be the cause?
![Page 31: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/31.jpg)
Result: wide-area network
Wide-area network latency also varies a lot◦C3 is much better than the others◦What might be the reason?
![Page 32: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/32.jpg)
Result summaryNo provider stands out
◦C1 has the highest network bandwidth, while its instance is not the most cost-effective
◦C2 has the most powerful instances, while its network bandwidth is low
◦C3 has the lowest wide-area network latency, while its storage is slower than others
It is not trivial to shop for a cloud provider!◦Many research challenges in developing a
sound mechanism to select the best provider for an application
![Page 33: Cloud Service Models and Performance Ang Li 09/13/2010](https://reader036.vdocuments.us/reader036/viewer/2022062312/5518ccbb550346a61f8b5ad4/html5/thumbnails/33.jpg)
SummaryTwo main classes of cloud providers
◦IaaS: bare-metal virtual machines◦PaaS: sand-box environment
Four common services◦Elastic compute cluster◦Persistent storage◦Intra-cloud network◦Wide-area network
No provider has the best performance over all services