The Cloud Tutorial - PowerPoint PPT Presentation

the cloud tutorial l.
Skip this Video
Loading SlideShow in 5 Seconds..
The Cloud Tutorial PowerPoint Presentation
The Cloud Tutorial

play fullscreen
1 / 114
Download
Download Presentation

The Cloud Tutorial

Presentation Transcript

  1. The Cloud Tutorial Dan Reed, Roger Barga, Dennis Gannon Microsoft Research eXtreme Computing Group Rich WolskiEucalyptus.com

  2. Tutorial Outline • Part 1. Introduction. • Basic concepts. • Data center and cloud architectures. • Part 2. Building Infrastructure as a Service. • The Amazon EC2 and Eucalyptus model. • Part 3. Programming Platforms and Applications. • The Azure platform. • Programming and data architecture. • Data analysis with MapReduce and more. • Application Examples. • Part 4. More Programming Models & Services. • Google App Engine. • Cloudera, SalesForce and more • HPC and the Cloud

  3. Part 1. Outline • Science in 2020 • Our research challenges and impact of changing economics • A new architecture for scientific discovery • Defining the Cloud • A scalable, persistent outsourced infrastructure • An framework for massive data analysis • An amplifier of our desktop experience • The Origins • Modern data center architecture • The Cloud Software Models • Infrastructure as a Service • Platform as a Service • Software as a Service

  4. Science 2020 “In the last two decades advances in computing technology, from processing speed to network capacity and the Internet, have revolutionized the way scientists work. From sequencing genomes to monitoring the Earth's climate, many recent scientific advances would not have been possible without a parallel increase in computing power - and with revolutionary technologies such as the quantum computer edging towards reality, what will the relationship between computing and science bring us over the next 15 years?” http://research.microsoft.com/towards2020science

  5. Sapir–Whorf: Context and Research • Sapir–Whorf Hypothesis (SWH) • Language influences the habitual thought of its speakers • Scientific computing analog • Available systems shape research agendas • Consider some past examples • Cray-1 and vector computing • VAX 11/780 and UNIX • Workstations and Ethernet • PCs and web • Inexpensive clusters and Grids • Today’s examples • multicore, sensors, clouds and services … • What lessons can we draw?

  6. Our Decadal Research Changes • Commodity clusters • Proliferation of inexpensive hardware • “Attack of the Killer Micros” • Race for MachoFLOPS • Low level programming challenges • Rise of data • Scientific instruments and surveys • Storage, management and provenance • Data fusion and analysis • Distributed services • Multidisciplinary collaborations • Interoperability and scalability • Multi-organizational social engineering

  7. Today’s Truisms (2009) • Bulk computing is almost free • … but applications and power are not • Inexpensive sensors are ubiquitous • … but data fusion remains difficult • Moving lots of data is {still} hard • … because we’re missing trans-terabit/second networks • People are really expensive! • … and robust software remains extremely labor intensive • Application challenges are increasingly complex • … and social engineering is not our forte • Our political/technical approaches must change • … or we risk solving irrelevant problems

  8. The Pull of Economics … • Moore’s “Law” favored consumer commodities • Economics drove enormous improvements • Specialized processors and mainframes faltered • The commodity software industry was born • Today’s economics • Manycore processors/accelerators • Software as a service/cloud computing • Multidisciplinary data analysis and fusion • They is driving change in technical computing • Just as did “killer micros” and inexpensive clusters LPIA LPIA DRAM DRAM OoO x86 x86 ctlr ctlr x86 LPIA LPIA 1 MB 1 MB x86 x86 cache cache LPIA LPIA 1 MB GPU GPU x86 x86 cache 1 MB 1 MB PCIe PCIe NoC NoC ctlr ctlr cache cache LPIA LPIA 1 MB GPU GPU x86 x86 cache LPIA LPIA 1 MB 1 MB x86 x86 cache cache LPIA LPIA DRAM DRAM OoO x86 x86 ctlr ctlr x86

  9. Cloud Economics • When applications are hosted • Even sequential ones are embarrassingly parallel • Few dependencies among users • Moore’s benefits accrue to platform owner • 2x processors → • ½ servers (+ ½ power, space, cooling …) • Or 2X service at the same cost • Tradeoffs not entirely one-sided due to • Latency, bandwidth, privacy, off-line considerations • Capital investment, security, programming problems

  10. New Software Architecture GlobalServices

  11. Insights: Not Just FLOPS Or Bytes Software + Data + Services = Insights

  12. The Computing Research Pyramid Data, data, data Petascale/Exascale/… National infrastructure University infrastructure Cloud Opportunity Laboratory clusters Desktop computing Data, data, data

  13. Defining the Cloud • A model of computation and data storage based on “pay as you go” access to unlimited remote data center capabilities. • A cloud infrastructure provides a framework to manage scalable, reliable, on-demand access to applications. • Examples: • Search, email, social networks • File storage (Live Mesh, MobileMe, Flicker, …) • A way for a start-up to build a scalable web presence withoutpurchasing hardware.

  14. The Cloud as a Data Analysis Platform Experiments Simulations Archives Literature Instruments • Deriving knowledge from vast data streams and online archives • Tools for massively parallel data reduction • Making the deep web searchable cloud

  15. The Cloud as an extension of your desktop and other client devices • Today • Cloud storage for your data files synchronized across all your machines (mobile me, live mesh, flicker, etc.) • Your collaboration space (Sakai, SharePoint) • Cloud-enabled apps (Google Apps, Office Live) • Tomorrow (or even sooner) • The lens that magnifies the power of desktop • Operate on a table with a billion rows in excel • Matlab analysis of a thousand images in parallel

  16. The Clients+Cloud Platform • At one time the “client” was a PC + browser. • Now the cloud is an integration point for • The Phone • The laptop/tablet • The TV/Surface/Media wall • And the future • The instrumented room • Aware and active surfaces • Voice and gesture recognition • Knowledge of where we are • Knowledge of our health

  17. The Multi-Client Session • Consider an application you open on one device. • You want to open a second device • And a third • The state should be consistent across all the devices • Replicate as much as possibleon each device and in the cloud • Update messages can maintainconsistency. Shared Session State

  18. The History of the Cloud • In the beginning … • There was search, email, messaging, web hosting • The challenge: How do you • Support email for 375 million users? • Store and index 6.75 trillion photos? • Support 10 billion web search queries/month? • Build an index for the entire web? And do it over and over again… • And • deliver deliver a quality response in 0.15 seconds to millions of simultaneous users? • never go down. • Solution: build big data centers

  19. The Physical Architecture of Clouds The contemporary data center

  20. Clouds are built on Data Centers • Range in size from “edge” facilities to megascale. • Economies of scale • Approximate costs for a small size center (1000 servers) and a larger, 100K server center. Each data center is 11.5 times the size of a football field

  21. Advances in DC deployment • Conquering complexity. • Building racks of servers & complex cooling systems all separately is not efficient. • Package and deploy into bigger units: Generation 4 data center video

  22. Containers: Separating Concers

  23. Data Center vs Supercomputers Fat tree network • Scale • Blue Waters = 40K 8-core “servers” • Road Runner = 13K cell + 6K AMD servers • MS Chicago Data Center = 50 containers = 100K 8-core servers. • Network Architecture • Supercomputers: CLOS “Fat Tree” infiniband • Low latency – high bandwidth • protocols • Data Center: IP based • Optimized for Internet Access • Data Storage • Supers: separate data farm • GPFS or other parallel file system • DCs: use disk on node + memcache Standard Data Center Network

  24. Next Gen Data Center Networks • Monsoon • Work by Albert Greenberg, ParantapLahiri, David A. Maltz, Parveen Patel, SudiptaSengupta. • Designed to scale to 100K+ data centers. • Flat server address space instead of dozens of VLANS. • Valiant Load Balancing. • Allows a mix of apps and dynamic scaling. • Strong fault tolerance characteristics.

  25. The Challenge of Data Centers & Apps • The impact on the environment • In 2006 data centers used 61 Terawatt-hours of power • 1.5 to 3% of US electrical energy consumption today • Great advances are underway in power reduction • With 100K+ servers and apps that must run 24x7 constant failure must be an axiom of hardware and software design. • Huge implication for the application design model. • How can hardware be designed to degrade gracefully? • Two dimensions of parallelism • Scaling apps from 1 to 1,000,000 simultaneous users • Some apps require massive parallelism to satisfy a single request in less than a second.

  26. Cloud Software Models

  27. Cloud Software Concepts • The data center systems have a scale that makes failure a constant reality. • all data is replicated at least three times. • Many applications are stateless. • Example: If a web search fails, user or system retries. • Applications with state. • Divide computation into repeatable stateless transactions on saved state. • Each transaction must complete successfully before the state is modified. If a step fails, repeat it. • Parallelism should always be dynamic • Elastic resource allocation to meet SLAs

  28. Three Levels of Cloud Arcitecture • Infrastructure as a Service (IaaS) • Provide App builders a way to configure a Virtual Machine and deploy one or more instances on the data center • Each VM has access to local and shared data storage • The VM has an IP Address visible to the world • A Fabric controller manages VM instances • Failure and restart, dynamic scale out and scale back. Fabric Controller VM VM VM VM VM VM VM Sever 1 Sever 2 Sever 3 Sever 4 Sever m Sever n

  29. IaaSexamples we will look at • Eucalyptus.com • A software framework to support Amazon EC2 compatible services on private or public clusters • Amazon EC2 + S3 • The most widely known IaaS platform. • Other IaaS platforms not described here • Flexiscale – UK based data centers • Rackspace – international data center hosting • GoGrid - cloud hosting division of ServePath • SliceHost – • Nimbus – Open Source EC2 from Argonne National Labs.

  30. Platform as a Service • An application development, deployment and management fabric. • User programs web service front end and computational & Data Services • Framework manages deployment and scale out • No need to manage VM images App User Internet App Developer Web Access Layer PaaS Dev/Deploy Fabric Fabric Controller Data & Compute Layer VM VM VM VM VM VM VM Sever 1 Sever n Sever m Sever 4 Sever 3 Sever 2

  31. Sample PaaS platforms • Microsoft Azure • Later in Tutorial • Google App Engine • Later in Tutorial • Others not covered in depth here • RightScale – cloud management via “cloud ready server templates”. Uses multiple IaaS providers. • SalesForce – Force: a cloud toolkit for CRM • Rollbase – customize prebuilt apps such as CRM • Bungee Connect – mashup cloud apps for CRM, etc. • Cloudera - Hadoop platform provider

  32. Software as a Service • Online delivery of applications • Via Browser • Microsoft Office Live Workspace • Google Docs, etc. • File synchronization in the cloud – Live Mesh, Mobile Me • Social Networks, Photo sharing, Facebook, wikipedia etc. • Via Rich Apps • Science tools with cloud back-ends • Matlab, Mathematica • Mapping • MS Virtual Earth, Google Earth • Much more to come.

  33. Others • IaaS • Flexiscale – UK based data centers • Rackspace – international data center hosting • GoGrid - cloud hosting division of ServePath • SliceHost • PaaS • RightScale – cloud management via “cloud ready server templates”. Uses multiple IaaS providers. • SalesForce – Force: a cloud toolkit for CRM • Rollbase – customize prebuilt apps such as CRM • Bungee Connect – mashup cloud apps for CRM, etc. • Cloudera - Hadoop platform provider.

  34. Infrastructure as a Service: Seeing the (Amazon) Forest Through the (Eucalyptus) Trees Rich Wolski Eucalyptus Systems Inc. www.eucalyptus.com

  35. What is a cloud? SLAs Web Services Virtualization

  36. Public IaaS • Large scale infrastructure available on a rental basis • Operating System virtualization (e.g. Xen, KVM) provides CPU isolation • “Roll-your-own” network provisioning provides network isolation • Locally specific storage abstractions • Fully customer self-service • Customer-facing Service Level Agreements (SLAs) are advertized • Requests are accepted and resources granted via web services • Customers access resources remotely via the Internet • Accountability is e-commerce based • Web-based transaction • “Pay-as-you-go” and flat-rate subscription • Customer service, refunds, etc.

  37. Public, Private, and Premise • Public Cloud • Large scale infrastructure available on a rental basis • Virtualized compute, network and storage • Underlying infrastructure is shared but tenants are isolated • Interface is transactional • Accounting is e-commerce based • Private Cloud • Dedicated resources either as a rental or on-premise • On-premise Cloud • Like public clouds but • Isolation must be controllable • Accounting is organizational

  38. Amazon AWS Cloud Platform Cloud Services • Compute • Elastic Compute Cloud (EC2) • Virtual Machines for rent • Storage • Simple Storage Service (S3) and Elastic Block Store (EBS) • Different levels of scalability • SimpleDB • Attribute-value pair database • Simple Queue Service (SQS) • Persistent message queues • Elastic MapReduce • Hadoop • CloudFront • Content distribution network

  39. EC2 • Create and terminate virtual machines • Create == provision and not boot • Terminate == destroy and not halt • Image • initial root file system • Instance • Image + kernel + ramdisk + ephemeral disk + private IP + public IP • Create an image: upload a root file system • Run an instance: launch a VM with a specific • Image that has been uploaded (into S3) • Kernel and ramdisk that Amazon provides • Ephemeral disk that gets created and attached

  40. S3 • Bucket store: buckets and objects • Bucket: container for objects • Object: unit of storage/retrieval • Buckets are Created and Destroyed • Object are either Put or Get • Object storage is transactional • Last write prevails • Eventually consistent • Object writes will eventually be propagated • Buckets are access controlled

  41. EBS • Persistent Storage volumes that can be attached by VMs • Raw block devices (must be formatted by owner/user) • Persist across VM creation and termination • Cannot be shared by multiple VMs simultaneously • Not accessible across “availability zones” (virtual data centers) • Persistent virtual local disk

  42. QoS and SLAs • Availability Zone: virtual data center • Local area network performance within an availability zone • Wide area network performance between availability zones • Probability of simultaneous failure of multiple availability zones is very small • VM Type: minimum QoS for each VM • EC2 Compute Unit: 1.0 to 1.2 GHz Xeon circa 2007 • Small: 1 ECU, 1.7GB memory, 160GB ephemeral disk, 32 bit • Large: 4 ECU, 7.5GB memory, 850GB ephemeral disk, 64 bit • XL: 8 ECU, 15GB memory, 1690GB ephemeral disk, 64 bit

  43. What does it look like? • See the availability zones • ec2-describe-availability-zones • Find an image • ec2-describe-images -a • Create a key • ec2-add-keypair mykey > mykey.private • Run an instance • ec2-run-instances emi-E750108E -n2-k mykey • Create a volume • ec2-create-volume --size 20 --availability-zone euca-1 • Attach a volume • ec2-attach-volume –i i-345E0661 –d /dev/sdc vol-2BD7043F

  44. Charging • EC2 charging • On-demand: per hour occupancy charge • VM type determines the rate • Per GB in and Out (not from AWS in same region) • S3 charging • Per TB-month occupancy • Per GB in and Out (not from AWS in same region) • Per request • EBS charging • Per GB-month of occupancy • Per million I/O requests • Per “snapshot” to S3

  45. The Big Picture REST/SOAP -- Public IP -- Security Groups -- Put/Get storage -- Eventual consistency S3 EC2 Availability Zone VM VM EBS EBS VM Availability Zone VM VM

  46. Amazon and Eucalyptus • Public clouds are great but • All data they process must “live” in the cloud • They are opaque • Compute, network, storage interaction is obscured • Data management is obscured • Accountability is e-commerce based • Is a refund really the best response to data loss or outage? • On-premise cloud • Scale, self-service, and tenancy characteristics of public clouds • Transparency, data control, and accounting of on-premise IT • Eucalyptus: an open-source, on-premise cloud computing platform

  47. What’s in a name? • Elastic Utility Computing Architecture Linking Your Programs To Useful Systems • Web services based implementation of elastic/utility/cloud computing infrastructure • Linux image hosting ala Amazon • How do we know if it is a cloud? • Try and emulate an existing cloud: Amazon AWS • Functions as a software overlay • Existing installation should not be violated (too much) • Focus on portability, installation, and maintenance • “System Administrators are people too.” • Built entirely from open-source web-service (and related) technologies

  48. Open-source Cloud Infrastructure • Idea: Develop an open-source, freely available cloud platform for commodity hardware and software environments • Stimulate interest and build community knowledge • Quickly identify useful innovations • Act to dampen the “hype” • Linux or Anti-Linux? • Linux: open-source platform supporting all cloud applications changes the software stack in the data center • Anti-Linux: transparency of the platform makes it clear that clouds do not belong in the data center

  49. Requirements for Open-source Cloud • Simple • Must be transparent and easy to understand • Scalable • Interesting effects are observed at scale (e.g. not an SDK) • Extensible • Must promote experimentation • Non-invasive • Must not violate local control policies • System Portable • Must not mandate a system software stack change • Configurable • Must be able to run in the maximal number of settings • Easy • To distribute, install, secure, and maintain • Free

  50. Open-source Eucalyptus • Is… • Fostering greater understanding and uptake of cloud computing • Providing an experimentation vehicle prior to buying commercial cloud services • Homogenizing the local IT environment with Public Clouds (e.g. used as a hybrid cloud) • The cloud computing platform for the open source community • Is not… • Designed as a replacement technology for AWS or any other Public Cloud service • AWS can’t be downloaded as a Linux package