cloud computing computation as utility. computer utilities leonard kleinrock, arpanet, 1969: ”we...
TRANSCRIPT
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.”
CS@AU Henrik B Christensen 2
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?
CS@AU Henrik B Christensen 3
Utilization problem
• Either you– Waste hardware resources or– Cannot provide service during peaks–
CS@AU Henrik B Christensen 4
Cloud Definitions
CS@AU Henrik B Christensen 5
Ambrust et al.
CS@AU Henrik B Christensen 6
Buyya et al.
CS@AU Henrik 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.
CS@AU Henrik B Christensen 8
Comparing?
• Similarities? Differences?
CS@AU Henrik 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
CS@AU Henrik B Christensen 10
A key enabling technology:Virtualization
CS@AU Henrik B Christensen 11
CS @ AU Henrik Bærbak Christensen 12
Credits
• Some slides from– E6998 - Virtual Machines
Lecture 2CPU Virtualization
• Scott Devine• VMware, Inc.
CS @ AU Henrik Bærbak Christensen 13
What is it?
• vir•tu•al (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!
CS @ AU Henrik Bærbak Christensen 14
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
CS @ AU Henrik Bærbak Christensen 15
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
CS@AU Henrik B Christensen 16
Example: Amazon EC2
CS@AU Henrik Bærbak Christensen 17
Example: DigitalOcean
CS@AU Henrik B Christensen 18
Example: Private Cloud/ESXi
CS@AU Henrik Bærbak Christensen 19
One thing for sure…
• Terminology is victim of branding and trends
– Droplet? Instance? Container?
–
CS@AU Henrik Bærbak Christensen 20
Service Models & Operations
CS@AU Henrik 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
CS@AU Henrik 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
CS@AU Henrik B Christensen 23
Comparing
• Why are some cloud service models much easier to spot than others?
CS@AU Henrik B Christensen 24
Example: NetFlix
• Adrian Cockcroft / GOTO 2012
CS@AU Henrik B Christensen 25
http://gotocon.com/dl/goto-aar-2012/slides/AdrianCockcroft_GloballyDistributedCloudApplicationsAtNetflix.pdf
Deployment models
• Examples– Public cloud: Give me an example– Private cloud: Give me an example
CS@AU Henrik 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!
CS@AU Henrik 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
CS@AU Henrik 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
CS@AU Henrik B Christensen 29
Operations
• Architecture ofcloud provider
CS@AU Henrik B Christensen 30