CS 695 Topics in Virtualization and Cloud Computing Introduction
This class What does virtualization and cloud computing mean? 2
Cloud Computing The in-vogue term Everyone including his/her dog want something to do with cloud computing! 3
Source: http://geekandpoke.typepad.com/ 4
'cloud computing' on Google 5
What is cloud computing? What is the cloud? Where is it? Why the hoopla? Definition?... 6
scale your infrastructure on demand within minutes or even seconds, instead of days or weeks, thereby avoiding under-utilization (idle servers) and over-utilization 'internet centric software.'... shift from the traditional single tenant approach to software development to that of a scalable, multi-tenant, multi-platform, multi-network, and global a broad array of web-based services aimed at allowing users to obtain a wide range of functional capabilities on a 'pay-as-you-go' basis basically the broad concept of using the internet to allow people to access technologyenabled services... services must be 'massively scalable' to qualify as true 'cloud computing' The 'cloud' model initially has focused on making the hardware layer consumable as ondemand compute and storage capacity. Cloud computing really is accessing resources and services needed to perform functions with dynamically changing needs.... The cloud is a virtualization of resources that maintains and manages itself. outsourced, pay-as-you-go, on-demand, somewhere in the Internet, etc. Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand 7
Cloud Characteristics On-demand service User not worried about maintenance and setup issues etc. Shared Resources Large capacity distributed/multiplexed over several users Flexible Provisioning Dynamically scale resources Fine-grained metering pay-as-you-use model 8
Is the 'Cloud' brand new? NO! 60s-70s, large centralized servers carved up for individual access Cluster computing Grid computing Utility computing Peaking now Decreasing cost of powerful hardware Virtualization Economics 9
Cloud Service Models IaaS Infrastructure as a Service Amazon EC2, Ubuntu One, IBM Test Cloud PaaS Platform as a service Google Appengine, Windows Azure SaaS Software as a service Gmail, Google online services *aas 10
Cloud Deployments 11
Cloud Deployment Options Private cloud Infrastructure for a single organization Public cloud Internal hosting, testing environment Infrastructure for general use Cloud provider owns service Hybrid cloud Composition of private+public Secure/non-secure or QoS/best-effort traffic, Cloud bursting 12
Cloud Views User view Provider view 13
User-view of the Cloud On-demand provisioning Resource, software, services Quick deployment Security and isolation SLA requirements Service-level agreement Availability, isolation, performance metrics... Pay-on-use model Minimize cost for service 14
Providers-view of the Cloud Support on-demand provisioning Resource accounting and provisioning Efficient provisioning Reactive and quick High multiplexing desired Meet SLA requirements of users Allocate minimum to maximize profit/#users Power! 15
Cloud Problem Areas Capacity planning and placement Shifting to the Cloud Dynamic Resource Provisioning Energy-aware operations Performance analysis and modeling Monitoring and accounting Developing cloud platforms 16
Virtualization Didn't you mention virtualization in the course title? What's the deal? 17
Begin from the beginning Computer systems are incredibly complex silicon, transistors, disks, processors, network cards, buses... device drivers, operating systems, compilers, application libraries... But still, Systems evolving and flourishing Why? 18
Abtractions and Interfaces abstraction: concept or idea (w/o implementation specifics) interface: operations/process related to abstraction Complex systems organized as a hierarchy of abstractions Well-defined interfaces allow independent evolution of subsystems 19
Abstraction+Interface Examples 20
Abstraction+Interface Examples 1.Storage Physical disk: tracks, sectors, disk head... User view: file (abstraction) File operations (interface): OS + device driver 2.Network 3.ISA (Instruction Set Architecture) 4.WiFi x86 architecture (8086 based, 16-bit) Intel, AMD, VIA... manufacturers Software runs on all x86 hardware 21
Are we ready for world peace then? What is the issue with abstraction oriented development? 22
Are we ready for world peace then? What's the issue with abstraction oriented development? Interoperability Sub-systems designed for one interface will not work for other e.g., binary incompatibility 23
Virtualization virtual: not real, illisionary, perception of reality virtualize a component/resource Map visible interface/resources onto those of underlying physical system real system appears virtual 24
Abstraction vs. Virtualization Applications Applications Operating System Hardware Operating System Virtualization Layer Hardware 25
Types of Virtual Machines Process view of machine System view of machine memory, user-level instr., system calls for OS functions OS interface to hardware defines view of process Process VM environment to support multilple processes sharing resources hardware characteristics defines system view System VM 26
Process VM and System VM Application Guest Application Virtualization Software Operating System Runtime Operating System Virtualization Software Hardware Host Hardware 27
Process VM Examples 28
Process VM Examples Multi-processing systems Emulators Fetch, decode, interpret e.g., WINE, QEMU High-level Language VMs Compile for virtual architecture Translate/execute on native platform JAVA,.Net 29
System VM Characteristics Provide machine-view (virtual machines) to multiple operating systems Resource allocations cpu, memory, network, disk Control/arbitrate VMs access to physical hardware Isolation and Security 30
System VMs Native VMs (type 1) a.k.a Bare-metal VMs Hypervisor/VMM on hardware, controls guests directly Guest unaware of VM translation Hosted VMs (type 2) Hypervisor/VMM hosted on OS Guests co-ordinated by VMM Para-virtualized or Fully-virtualized VMs Guest aware of underlying hypervisor? 31
Type of System VMs Native VMs (Bare-metal) VMware ESX Hosted VMs Xen Kvm VMware GSX VirtualBox 32
Virtualization Benefits Flexible resource provisioning Increased Inter-operability Standard virtualized interface Isolation Secure multiplexing, Local impact of crashes/bugs Resource usage isolation Machine State Capture VM is a file Snapshots, cloning, migration Content distribution Virtual appliances Vital building block of a Cloud! 33
Problem Areas Virtualization technolgies Physical to virtual (p2v) Capacity planning and profiling Resource Management Network I/O optimizations in virtual machines Migration and Consolidation management Placement and Provisioning Storage Issues with virtualization Energy, Energy, Energy Hot topics Security Measurements and Modeling 34
Next Class No class on 6/1/12 Review due Operating System Support for Virtual Machines, S. King, G. Dunlap, and P. Chen, USENIX ATC 2003 35