1 / 33

Cloud Service Models and Performance

Cloud Service Models and Performance. Ang Li 09/13/2010. Roadmap. Re-cap on cloud computing Classes of cloud providers Common services offered by cloud providers Cloud performance comparison. Re-cap on cloud computing. What is cloud computing? Cloud application: software-as-a-service

stuart
Download Presentation

Cloud Service Models and Performance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cloud Service Modelsand Performance Ang Li 09/13/2010

  2. Roadmap • Re-cap on cloud computing • Classes of cloud providers • Common services offered by cloud providers • Cloud performance comparison

  3. Re-cap on cloud computing • What 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

  4. Classes of cloud providers Platform as a Service (PaaS) Infrastructure as a Service (IaaS)

  5. Infrastructure-as-a-Service providers • Offer 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!

  6. Demo time! • Amazon AWS

  7. Platform-as-a-Service providers • Offer 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!

  8. Demo time! • AppEngine

  9. Windows Azure: a combination of both • Offer a sand-box environment of C# (PaaS) • Charge by machine-hour (IaaS) • Demo time!

  10. Discussion • What are the pros and cons of IaaS and PaaS? • Which one do you prefer? • Your homepage • E-business application • Video processing

  11. Services offered by a cloud • Elastic compute cluster • Persistent storage • Intra-cloud and wide-area network • and others… • MapReduce service • CDN service

  12. Elastic compute cluster • Where your application is running • VM or sandbox environment • Why cluster? • Multiple “instances” can be running your application simultaneously • Why elastic? • You can add new instances or remove existing ones with very short latency

  13. Scaling the compute cluster • Opaque 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) • PaaSproviders

  14. Persistent storage • Where to store your application’s data • Why persistent? • Local storage (VM disk) is not reliable • Different types of storage service • Table, blob, queue, etc. • Highly scalable and available

  15. 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 call DatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService(); Key k = KeyFactory.createKey(table, key); Entity e = new Entity(k); e.setProperty("data", “haha"); datastore.put(e);

  16. Networking service • Intra-cloud network: between two instances or between an instance and the storage service • Wide-area network: between a cloud instance and the end user

  17. Intra-cloud network • Within a data center • High bandwidth, low latency

  18. Wide-area network • Every provider has multiple locations to host cloud applications • Application content can be served from the closest location • Why is this a good thing?

  19. Re-cap: cloud services Wide-area network Web application Intra-cloud network Computation service Storage service

  20. CloudCmp: comparing cloud providers • Motivation • 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?

  21. Methodology • Identify the common services • We just did this • Pick a few metrics for each service relevant to application performance • Develop benchmarking task for each metric • Run the tasks on different providers and compare

  22. Choose the providers to compare • AWS, Rackspace, Azure, and AppEngine

  23. Metrics: elastic compute cluster • Benchmark finishing time • Java-based benchmark tasks • Cost per benchmark • From per-hour price and billing API • Scaling latency • Periodically allocate new instances

  24. Metrics: persistent storage • Operation latency • Client matters • Cost per operation • Time to consistency • Read-after-write test

  25. Metrics: networking service • Intra-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

  26. 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?

  27. 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?

  28. Result: scaling efficiency • How is the scaling latency (high/low)? • Linux vs Windows?

  29. Result: storage (table) • The storage services show high variation • Median – 30ms, 90 percentile – 60ms • Is it good or bad? Why?

  30. Result: intra-cloud network • Intra-cloud bandwidth varies across different providers • From 200Mbps to 800Mbps • What might be the cause?

  31. Result: wide-area network • Wide-area network latency also varies a lot • C3 is much better than the others • What might be the reason?

  32. Result summary • No 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

  33. Summary • Two 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

More Related