200 likes | 215 Views
Understand the concepts and benefits of virtualization for test optimization, including different approaches and product options. Reduce costs, energy consumption, testing complexity, and rack space requirements. Open source and commercial solutions available.
E N D
Test Optimization UsingSoftware Virtualization Frank Pacelli
Agenda • Problem illustration • Virtualization defined • 4 virtualization approaches • Virtualized test platforms • Virtualization product options • Other options
What is Virtualization? • Multiple OS or "Virtual Machines" installed on one physical machine. • VMs run in parallel to one another • VMs don't realized they are virtualized • Each VM is isolated from the others • The host simulates a hardware environment for each VM • 'Guest' OS may vary in type • Limited only by hardware
Virtualization Approaches • Full system virtualization • Paravirtualization • Native virtualization • OS level virtualization
Full-System Virtualization • Virtualization is transparent to virtual machine • Sophisticated software simulates hardware • 3 levels above hardware
Paravirtualization • Underlying virtualization software exposes API • 'Guest' OS must be modified significantly to use this API instead of actual hardware • 3 levels above hardware
Native Virtualization • Virtualization is transparent to virtual machine • Hardware handles routing of instructions to/from virtual machine • 1 level above hardware
OS-level Virtualization • Only 1 OS actually installed • OS is capable of partitioning itself so it looks as if there are multiple instances • 1 level above hardware
Virtualized Test Platforms • Virtualization can be used in countless configurations to optimized testing • Host OS is irrelevent
Other Options • Simulation • Attempt to model real behavior/data • Can only be used for unit testing • Partially real test setup • hybrid approach • partial real hardware/software • partial simulators • partial stubs
Summary • Virtualization is multiple OS sharing the resources of one machine • 4 approaches • Full system virtualization • Paravirtualization • Native virtualization • OS level virtualization • Many different configurations can be used to create the optimum test environment • Open source and commercial solutions available • Virtualizatiion reduces costs, energy consumption, testing complexity, and required rack space
References • Swaminathan Seetharaman, Krishna Murthy B.V.S., "Test Optimization Using Software Virtualization" IEEE Software. Sep/Oct, 2008. Page(s) 66-69 • http://www.vmware.com/virtualization/ • http://wiki.openvz.org/Introduction_to_virtualization