1
Getting Started with Virtualization
Bill Kalarness
ASQ-CMQ/OE, ASQ-CSQE
2
Overview
This presentation will explain the concept of Virtualization and will focus on Virtual Machines.
How they can be leveraged to create efficient testing environments.
Points to consider as you begin preparing your plan to introduce virtual machines into your testing strategy.
This presentation is best suited for Software QA and Test managers, QA engineers, or others who have heard about Virtualization and want to know more about it.
3
What is Virtualization?
Virtualization refers to the abstraction of computer resources.
Virtualization can be applied to many computing areas:
Applications - encapsulating applications so they can run on different operating systems (e.g., using Wine to run Windows programs on Linux, or Rosetta to run PowerPC programs on Intel Mac systems).
Storage – a pool of storage is created, which is shared across multiple systems.
Memory – the RAM from multiple systems is used to create a pool that is shared among the systems, depending on their need.
Platforms –Virtual Machines (VMs), where system hardware is fully virtualized.
4
Full Virtualization via Virtual Machines
There are many reasons to use fully virtualized VMs.
Each physical machine can host one or more guest machines.
Each guest VM is isolated from any others, this helps to ensure reliability and promotes security for data and the network.
Server Consolidation is a popular technique for reducing hardware costs while increasing utilization of existing resources. Also allows the migration of legacy systems and data to newer, more efficient hardware platforms.
Enterprises are using Server Consolidation to reduce their hardware footprint of their datacenter(s), which can reduce their energy and cooling requirements and simplify IT administration.
5
Virtual Machines
Within Software QA/Testing – Virtual Machines are tremendously useful!
Each VM represents an environment in a known state that can easily be restored during or after testing.
Can use “Snapshot” features to record restore points to easily recover from a system software upgrade or patch.
Can be automated to reduce the time spent tediously installing software or testing installations.
Can be used to quickly assemble testing networks.
6
Virtual Machines – Network example
Example showing virtual machines networked to host machine.
7
Virtual Machines – Network example 2
8
Common Virtualization Platforms
VMware Windows – VMware Workstation, VMware Server, VMware ESXi, and others.
Mac – VMware Fusion
VirtualBox (Sun) Cross-platform, can be run on Windows, Linux, Macintosh, and OpenSolaris
hosts.
Supports BSD, Linux, OpenSolaris, and Windows guest Operating Systems.
Parallels Windows – Parallels Workstation
Mac – Parallels Desktop for Mac
Many others… Microsoft, Virtual Iron, Win4Lin, and Xen.
9
Prepare Your Plan
VM Naming Convention – include a description within the virtual machine.
Storage and Backup of VMs
Sparseimage disks or fully allocated? Need to know this to determine the best storage location. Engage your IT folks!
Networked library of VMs… Where? Who has access? VM Checkin/Checkout? Engage your IT folks! (Not a typo.)
“Standard” software to be installed (Antivirus & security software – to be installed off-line).
Operating Systems (ensure compliance with licensing requirements, also applies to any other installed software.)
10
Prepare Your Plan – Example
Example - Naming convention and storage.
11
Building your VMs
You will have the opportunity to configure the following aspects of each VM:
Number of virtual processors to use. There is typically support for 1, 2,or 4.
System memory (RAM) that the VM will consume during use.
Hard disk settings
Hard disk space that the VM will consume – Sparseimage or allocate all space at once.
Depending on the virtualization platform you are running, you may be able to connect your VM to a physical disk for better performance.
12
Building your VMs - Continued
Network settings – NAT, Bridged, Host-Only, or none. (Can be altered at any time.)
Advanced Settings enable you to define/assign your own MAC address.
13
Building your VMs - Continued
Add/Remove devices – Might want to add/remove a floppy, Serial, or Parallel port. You can add additional Hard Disks, CD/DVD, Network interfaces…
14
Building your VMs – Continued
Create clones to minimize the time required to set up multiple identical or related VMs.
Simply a copy of an existing VM.
Changes made to the clone will not affect the parent and vica-versa.
15
VM Storage and Backup
VMs exist as files on the host systems
Backup can be as simple as making a copy of the VM files to a central location
You could consider backup deduplication.
Hardware based backup/deduplication devices claim to achieve a 200:1 data compression ratio with deduplication.
Most of the VM contents will not change during the normal backup interval – mostly OS files. Deduplication of these backups can save massive amounts of disk space.
16
References
Virtualization Platforms VMware: www.vmware.com
VirtualBox: www.virtualbox.org
Microsoft: www.microsoft.com/virtualization
Xen: www.xen.org
Lists: Platform Virtualization – top 25 providers (hardware, software, combined) http://www.mytestbox.com/miscellaneous/platform-virtualization-software-services-hardware-providers/
Wikipedia: Virtualization http://en.wikipedia.org/wiki/Virtualization
Operating Systems Ubuntu Linux: www.ubuntu.com
Open Solaris: www.opensolaris.com
Redhat Linux: www.redhat.com
Linux: www.linux.org
Lists: Free and open source operating systems http://www.thefreecountry.com/operating-systems/index.shtml
Backup & Deduplication Exagrid: www.exagrid.com
EMC: www.emc.com
Symantec: www.symantec.com
17
Readings
FierceHealthIT: surveyresults_Virtualization_in_Hospitals.pdf
Virtualized Datacenter – Real-World IT Optimization (VMintel_pbk09.pdf) www.vmware.com/go/intel
AMD: Putting Server Virtualization to Work www.amd.com
HP Whitepapers & Case Studies www.hp.com
Microsoft Virtualization Product Portfolio – virtualization white papers: https://partner.microsoft.com/global/productssolutions/40075647#white
ITBusinessEdge: The Benefits of Using Virtualized Testing with SOA http://www.itbusinessedge.com/cm/community/features/interviews/blog/the-benefits-of-using-virtualized-testing-with-soa/?cs=22617
Application Development Trends: Software Testing Gets Virtualized http://adtmag.com/articles/2007/07/11/software-testing-gets--virtualized.aspx
Technometria: Using Virtualization in Software Testing (Jan 2005 Dr. Dobbs Journal) http://www.windley.com/archives/2004/12/using_virtualiz.shtml
Dr. Dobb’s Journal: Q&A: Software Testing in a Virtualized World | November 28, 2009 http://www.ddj.com/hpc-high-performance-computing/221900785