CS 695 Topics in Virtualization and Cloud Computing, Autumn 2012 CS 695 Topics in Virtualization and Cloud Computing Introduction
CS 695 Topics in Virtualization and Cloud Computing, Autumn This class ● What does virtualization and cloud computing mean?
CS 695 Topics in Virtualization and Cloud Computing, Autumn Cloud Computing ● The in-vogue term ● Everyone including his/her dog want something to do with cloud computing!
CS 695 Topics in Virtualization and Cloud Computing, Autumn Source:
CS 695 Topics in Virtualization and Cloud Computing, Autumn 'cloud computing' on Google
CS 695 Topics in Virtualization and Cloud Computing, Autumn What is cloud computing? ● What is the cloud? ● Where is it? ● Why the hoopla? ● Definition? –...
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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 technology- enabled 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 on- demand 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn Cloud Deployments
CS 695 Topics in Virtualization and Cloud Computing, Autumn Cloud Deployment Options ● Private cloud – Infrastructure for a single organization ● Internal hosting, testing environment ● Public cloud – Infrastructure for general use – Cloud provider owns service ● Hybrid cloud – Composition of private+public – Secure/non-secure or QoS/best-effort traffic, Cloud bursting
CS 695 Topics in Virtualization and Cloud Computing, Autumn Cloud Views ● User view ● Provider view
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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!
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn Virtualization ● Didn't you mention “virtualization” in the course title? – What's the deal?
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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?
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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 sub-systems
CS 695 Topics in Virtualization and Cloud Computing, Autumn Abstraction+Interface Examples
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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) ● x86 architecture (8086 based, 16-bit) ● Intel, AMD, VIA... manufacturers ● Software runs on all x86 hardware 4. WiFi
CS 695 Topics in Virtualization and Cloud Computing, Autumn Are we ready for world peace then? ● What is the issue with abstraction oriented development?
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn Abstraction vs. Virtualization Applications Operating System Hardware Virtualization Layer Applications Operating System Hardware
CS 695 Topics in Virtualization and Cloud Computing, Autumn Types of Virtual Machines ● Process view of machine ● memory, user-level instr., system calls for OS functions ● OS interface to hardware defines view of process ● Process VM ● System view of machine ● environment to support multilple processes ● sharing resources ● hardware characteristics defines system view ● System VM
CS 695 Topics in Virtualization and Cloud Computing, Autumn Process VM Examples
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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?
CS 695 Topics in Virtualization and Cloud Computing, Autumn Type of System VMs ● Native VMs (Bare-metal) ● VMware ESX ● Hosted VMs ● Xen ● Kvm ● VMware GSX ● VirtualBox
CS 695 Topics in Virtualization and Cloud Computing, Autumn 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!
CS 695 Topics in Virtualization and Cloud Computing, Autumn Problem Areas Virtualization technolgies Capacity planning and profiling Physical to virtual (p2v) Placement and Provisioning Resource Management Migration and Consolidation management Network I/O optimizations in virtual machines Energy, Energy, Energy Storage Issues with virtualization Measurements and Modeling Hot topics Security
CS 695 Topics in Virtualization and Cloud Computing, Autumn Next Class ● No class on 24/7/12 – Review due before 5 p.m., individual review – Link will be on moodle for upload – Operating System Support for Virtual Machines, S. King, G. Dunlap, and P. Chen, USENIX ATC 2003