The Impact of Virtualization on Modern Computing Environments
Mendel Rosenblum
1 Talk Outline
• The Problem: Computers work poorly – Operating Systems get blamed • Virtualization: A level of indirection – Use data center hardware more efficiently – Help improve operating systems • Software distribution and service delivery models
2 2 Modern Computer Environments
App1 App2 App3 Apps: Oracle, SAP, Microsoft, ...
OS: Microsoft, Linux, … Operating System • Manage hardware • Export better abstractions
Hardware: IBM, HP, Dell, ....
3 3 Operating System Market Dynamics
• Chicken & egg problem: – Need applications to get users – Need users for applications and drivers • Incentive: Try to be everything to everybody • Results: – Bloated – Unreliable – Insecure – High management cost – Barrier to innovation
4 4 Problem: Failure to multiplex hardware
• Common: One service/user per computer – Encoded in best practices • Modular design, security, Windows NT – More services equals more computers • Moore’s law effect: – Cheaper computer – More idle time per computer • Result: Highly inefficient computing
5 5 Virtualization – A level of indirection
Application
Operating System Operating System Virtualization
Compatibility and High Performance 6 6 Virtualization layer attributes
• Tractable complexity Application – Interface & Implementation Operating System • Strong Isolation Operating System – High reliability & Virtualization Security • Innovation possible – The Game Multiplex
7 7 Server Consolidation
Hypervisor Hypervisor
8 8 Add Live Virtual Machine Migration
Hypervisor Hypervisor
9 9 Add Distributed Resource Scheduling
Optimize – Utilization – Power – Service Level Agreements Hypervisor Hypervisor
CPU MEM CPU MEM
10 10 Data center wide virtualization layer
Same Logical View
HypervisorVirtualization LayerHypervisor
Hardware Pool
11 11 Treat Hardware as a Pool of Resources
Virtualization Layer
12 12 Effect of Virtualization on Data Center
• Much higher hardware utilization – Scheduler tries to drive utilization up to 100% • Saves much power – Dynamic placement is superior to static • A data center wide distributed system – A foothold for innovation – What more can we do? Monitor software
13 13 Automatic Restart on failures
Virtualization Layer
14 14 Site Disaster Recovery
Virtualization Layer Virtualization Layer
15 15 Add Record/Replay to the virtualization
• Record – Input to the virtual machine – Asynchronous external events (e.g. interrupts) • Relatively compact encoding • Enable logging and replay of execution
16 16 PRIMARY SECONDARY
17 17 Mask Hardware Failures
Virtualization Layer
18 18 Discussion
• Compelling for enterprise data centers – Less so for HPC and portable devices • Functionality versus assurance – Hopefully we learned from our mistakes • Software runs the same in VMs – Crappy software is still crappy
19 19 Virtualization Impact on Software
Virtualization has done a few things: • Monitor and report software behavior • Treat VM images as first class objects – Version control, etc. • Some security enhancements
20 20 Package Software Deployment
– Procure hardware App – Install operating App Patches system Patch – Install OS patches Network OS and remove Configuration OS Patches services – Install application – Install application patches – Apply configuration
21 21 Virtual Appliances
App App Patches Virtual Appliance OS Configuration Configuration OS Patches
22 22 Virtual Appliances for software deployment
Virtual Virtualization Layer Appliance
23 23 Virtual Appliances vs. Package Software
• Virtual appliance advantages: – No more user assembly – Better security • Virtual appliances issues: – Difficult to integrate multiple appliances – Heavy weight – Different software licensing model
24 24 Virtual Appliance Operating System
Don’t need complex hardware management Application Application Don’t need broad application support
Operating System Application-specific operating system Application Support Look at hardware appliance operating VirtualizationHardware Mgmt. Layer systems for examples
25 25 OSes for Virtual Appliances
• OS selected by application developer – Criteria: • Match needs of application • Reliability, security, etc. • License fees • Likely features of a virtual appliance OS – Highly customizable – Support appliance infrastructure • Opportunity for new OSes
26 26 Roles in software service delivery
• Computing Hardware • Software Development • Software Configuration • Management/maintenance • Users
27 27 Two Extremes: Package Software & SaaS
• Package Software – Example: Windows + Exchange + Outlook – Users does all except software development • Software as a Service (SaaS) – Example: Gmail – All roles (hardware, software, management) except users done by service provider • Virtualization lets us access other points in the space
28 28 Cloud Computing with Virtualization
ForCRM user, model supports Emaildifferent: Web •Virtual Appliance builder VPN Firewall•Virtual Appliance maintainer Virtualization Layer •Execution platform
Cloud Data Center
Virtualization Layer
29 29 Local Data Center Virtualization and Cloud Computing
• Key advantage of leveraging existing software – Compatible migration vs. new paradigm – Can existing package software convert to a service? • Hardware virtualization vs. PaaS – Advantage: Ultimate software flexibility, Strong isolation – Disadvantage: Need infrastructure, Weight
30 30 Summary
Level of indirection trick still works More manageable, more available, more reliable, more secure, …
New options for software services Not just better hardware management
31 31