The Impact of on Modern Computing Environments

Mendel Rosenblum

1 Talk Outline

• The Problem: work poorly – Operating Systems get blamed • Virtualization: A level of indirection – Use hardware more efficiently – Help improve operating systems • Software distribution and service delivery models

2 2 Modern Environments

App1 App2 App3 Apps: Oracle, SAP, , ...

OS: Microsoft, Linux, … • 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

8 8 Add Live 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

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 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 (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 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

• 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