Cloud Computing Computation as Utility
Computer utilities Leonard Kleinrock, ARPANET, 1969: ”We will probably see the spread of computer utilities, which like electricity will service individual homes and offices.” B Christensen2 Leonard with an Interface Message Processor, the first generation of routers ARPANET was the precursor to the internet
Why Utility? Ok, you have made your Android quizz game, but how many servers do you need to support? –1? 10? 1.000? –Depends on no. of users, and usage patterns And what about resilience of the servers? –Put them under my desk? –Backup? Computation as a utility –Electricity and water I pay per usage –How many spare CPU cycles do you have at home? B Christensen 3
Utilization problem Either you –Waste hardware resources or –Cannot provide service during peaks – B Christensen 4
Cloud Definitions B Christensen 5
Ambrust et al. B Christensen 6
Buyya et al. B Christensen 7
Vaquero et al. Based up review of a lot of definitions: Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs. B Christensen 8
Comparing? Similarities? Differences? B Christensen 9 Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs.
NIST characteristics Comparing B Christensen 10
A key enabling technology: Virtualization B Christensen 11
AUHenrik Bærbak Christensen12 Credits Some slides from –E Virtual Machines Lecture 2 CPU Virtualization Scott Devine VMware, Inc.
AUHenrik Bærbak Christensen13 What is it? virtual (adj): –existing in essence or effect, though not in actual fact Example –ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed!
AUHenrik Bærbak Christensen14 A Physical Machine Hardware – Processors, devices, memory, etc. Software – Built to the given hardware (Instruction Set Architecture, e.g. x86) – Built to given OS (App. Programming Interface, e.g. Win XP) – OS controls hardware
AUHenrik Bærbak Christensen15 A Virtual Machine Hardware Abstraction – Virtual processor, memory, devices, etc. Virtualization Software – Indirection: Decouple hardware and OS – Multiplex physical hardware across guest VMs
Enabling technology Virtualization allows cloud providers to rent you a machine easily and quickly –No buying equipment, no installing OS, no hooking network cables –Just launch a new VM… Typically through a web interface B Christensen16
Example: Amazon EC2 Bærbak Christensen17
Example: DigitalOcean B Christensen18
Example: Private Cloud/ESXi Bærbak Christensen19
One thing for sure… Terminology is victim of branding and trends –Droplet? Instance? Container? – Bærbak Christensen20
Service Models & Operations B Christensen 21
Service Models SaaS: Software as a service –End user applications accessible in the cloud, typically through web browsers or mobile apps –Exercise: Give examples PaaS:Platform as a service –Programming libraries, services, tools allowing applications to be build utilizing cloud features –Exercise:Give examples B Christensen 22
Service Models IaaS: Infrastructure as a Service –Provide virtual processing and storage capacity, i.e. the actual computing infrastructure –Exercise: Give examples B Christensen 23
Comparing Why are some cloud service models much easier to spot than others? B Christensen 24
Example: NetFlix Adrian Cockcroft / GOTO 2012 B Christensen 25
Deployment models Examples –Public cloud:Give me an example –Private cloud:Give me an example B Christensen 26
Obstacles/Opportunities Armbrust et al. –Business Continuity and Service Availability If your cloud provider fails – you fail –Data Lock-in Storage using propriatary API (Amazon S3 etc.) makes ‘getting your data back’ hard –Data Confidentiality/Auditability Who peeks into my data? –Data Transfer Bottlenecks Sending data is costly. Shipping disks are cheaper! B Christensen 27
Obstacles/Opportunities Ambrust et al. –Performance Unpredictability Multiple VMs (one the same physical machine) can limit IO – i.e. cross-VM penalties –Scaleable Storage Storage is not as easily scaled as other resources –? Is this an issue of yesterday? –Bugs in Large Scale Dist. Systems How do you debug? NetFlix:Monkeys and Gorillas B Christensen 28
Obstacles/Opportunities Ambrust et al. –Scaling Quickly What to do with idling machines? Shutting down means longer time to start... –Reputation Fate Sharing Spamming -> black listed IP addresses. Will you overtake these? –Software Licensing Pay as you go licenses for commercial SW B Christensen 29
Operations Architecture of cloud provider B Christensen 30