Virtualization: The Good, The Bad, and The Ugly S. Keshav University of Waterloo January 14th, 2010 Mysore Cloud Workshop
Overview Virtualization An example The good, the bad, and the ugly
Virtualization Creates virtual servers that mimic real servers and hide underlying hardware
Ideal virtualization Lets unmodified services run on virtual servers
Ideal virtualization Allows arbitrary mapping from virtual to physical servers
Ideal virtualization Allows virtual server configuration and location to be arbitrarily modified
Why virtualization for clouds? Scaling is otherwise impossible
WiFi access network Proxy 3G access network AP Internet Data center P Ideally, want one per device Mobile device
My prediction Every cloud infrastructure will be virtualized But…
Experience shows that Overall, virtualization is good But has some bad points And some downright ugliness
The Good Reduces need for servers, power and space Creates hardware-independent homogeneous infrastructure Capacity can be changed on demand State capture and rollback for rapid deployment and disaster recovery Sandboxing prevents application interaction and increases security
The Bad Slow New source of bugs New attack surface Adds complexity
The Ugly Correlated failures Unpredictable loss of emulation Introduces hardware dependencies Rapid spread of attacks More configuration parameters Encourages sloppiness
Conclusion Virtualization is inescapable But needs care