Cloud Service Models and Performance Ang Li 09/13/2010.

Slides:



Advertisements
Similar presentations
Running Your Startup on Amazon Web Services Alex Iskold Founder/CEO AdaptiveBlue Feature Writer ReadWriteWeb.
Advertisements

Creating HIPAA-Compliant Medical Data Applications with Amazon Web Services Presented by, Tulika Srivastava Purdue University.
Cloud Computing Development. Shallow Introduction.
Ivan Pleština Amazon Simple Storage Service (S3) Amazon Elastic Block Storage (EBS) Amazon Elastic Compute Cloud (EC2)
Cloud Computing at GES DISC Presented by: Long Pham Contributors: Aijun Chen, Bruce Vollmer, Ed Esfandiari and Mike Theobald GES DISC UWG May 11, 2011.
1 Cloud Computing with Amazon and Oracle Lewis Cunningham TUSC, Sr Datawarehouse Consultant
Amazon Web Services Justin DeBrabant CIS Advanced Systems - Fall 2013.
Cloud Computing Brandon Hixon Jonathan Moore. Cloud Computing Brandon Hixon What is Cloud Computing? How does it work? Jonathan Moore What are the key.
An Approach to Secure Cloud Computing Architectures By Y. Serge Joseph FAU security Group February 24th, 2011.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
Ken Birman. Massive data centers We’ve discussed the emergence of massive data centers associated with web applications and cloud computing Generally.
Public cloud definition Public cloud is a cloud in which Cloud infrastructure is available to the general public. Public cloud define cloud computing.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
Cloud Computing (101).
Modeling Public Pensions with Mathematica and Python II
B UILDING M ULTI - TIER W EB A PPLICATIONS IN V IRTUAL E NVIRONMENTS.
Cloud: a New Paradigm for Developers Svetlin Nakov Telerik Software Academy academy.telerik.com.
Inside Windows Azure Virtual Machines Vijay Rajagopalan Microsoft Corporation.
Engineering the Cloud Andrew McCombs March 10th, 2011.
Bandwidth Measurements for VMs in Cloud Amit Gupta and Rohit Ranchal Ref. Cloud Monitoring Framework by H. Khandelwal, R. Kompella and R. Ramasubramanian.
CloudCmp: Shopping for a Cloud Made Easy Ang Li Xiaowei Yang Duke University Srikanth Kandula Ming Zhang Microsoft Research 6/22/2010HotCloud 2010, Boston1.
Cloud Don McGregor Research Associate MOVES Institute
An Introduction to Cloud Computing. The challenge Add new services for your users quickly and cost effectively.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Comparison of Cloud Providers Presented by Mi Wang.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Osama Shahid ( ) Vishal ( ) BSCS-5B
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
What is Cloud Computing? Cloud computing is the delivery of computing capabilities as a service, making access to IT resources like compute power, networking.
Cloud Computing Saneel Bidaye uni-slb2181. What is Cloud Computing? Cloud Computing refers to both the applications delivered as services over the Internet.
Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over the Internet. Cloud is the metaphor for.
A MAZON W EB S ERVICES Reza Yousefzadeh 12/9/2014.
Cloud Computing Kwangyun Cho v=8AXk25TUSRQ.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 2.
Introduction to Cloud Computing
EXPOSE GOOGLE APP ENGINE AS TASKTRACKER NODES AND DATA NODES.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Microsoft Azure SoftUni Team Technical Trainers Software University
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
AWS Amazon Web Services Georges Akpoly CS252. Overview of AWS Amazon Elastic Compute Cloud (EC2) Amazon Simple Storage Service (S3) Amazon Simple Queue.
Enterprise Cloud Computing
Windows Azure. Azure Application platform for the public cloud. Windows Azure is an operating system You can: – build a web application that runs.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
Web Technologies Lecture 13 Introduction to cloud computing.
Vignesh Ravindran Sankarbala Manoharan. Infrastructure As A Service (IAAS) is a model that is used to deliver a platform virtualization environment with.
Information Systems in Organizations 5.2 Cloud Computing.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
© 2012 Eucalyptus Systems, Inc. Cloud Computing Introduction Eucalyptus Education Services 2.
What is Cloud Computing 1. Cloud computing is a service that helps you to perform the tasks over the Internet. The users can access resources as they.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Guide to Operating Systems, 5th Edition
Chapter 6: Securing the Cloud
Deploying Web Application
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Google App Engine Mandeep Singh (37926)
StratusLab Final Periodic Review
StratusLab Final Periodic Review
Andrew McCombs March 10th, 2011
Cloud Computing Dr. Sharad Saxena.
CloudSimplified.IO.
Outline Virtualization Cloud Computing Microsoft Azure Platform
Guide to Operating Systems, 5th Edition
Brandon Hixon Jonathan Moore
Cloud Computing: Concepts
MS AZURE By Sauras Pandey.
Presentation transcript:

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 Cloud provider: hardware and software infrastructure that supports the cloud applications Benefits of cloud computing Pay-as-you-go On-demand scaling

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

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!

Demo time! Amazon AWS

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!

Demo time! AppEngine

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

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

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

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

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) PaaS providers

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

Access the storage services Storage APIs HTTP-based GET ?Action=PutAttributes &Attribute.1.Name=data &Attribute.1.Value=haha &AWSAccessKeyId=[valid access key id] &DomainName=table &ItemName=k… Library call DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Key k = KeyFactory.createKey(table, key); Entity e = new Entity(k); e.setProperty("data", haha"); datastore.put(e);

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

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

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?

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

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?

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

Choose the providers to compare AWS, Rackspace, Azure, and AppEngine

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

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

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

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?

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?

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

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

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

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

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

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