Using virtualization to improve testing
Download
1 / 45

Using Virtualization to Improve Testing - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

Using Virtualization to Improve Testing. Anil Desai IEEE Computer Society, Austin Chapter April 18 th , 2007. Speaker Information. Anil Desai Independent consultant (Austin, TX) Author of virtualization books and articles Managing / Scripting Microsoft Virtual Server

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Using Virtualization to Improve Testing' - tracen


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Using virtualization to improve testing

Using Virtualization to Improve Testing

Anil Desai

IEEE Computer Society, Austin Chapter

April 18th, 2007


Speaker information
Speaker Information

  • Anil Desai

    • Independent consultant (Austin, TX)

    • Author of virtualization books and articles

      • Managing / Scripting Microsoft Virtual Server

      • SearchServerVirtualization.com

      • The Definitive Guide to Virtual Platform Management

    • Info: http://AnilDesai.net or [email protected]


Presentation overview
Presentation Overview

  • An Overview of Virtualization Technology

  • Virtualization Features & Scenarios

  • Virtualization Benefits for Dev/Test

  • Comparing Virtualization Approaches

  • Using Virtualization Features for Dev/ Test

  • Managing and Optimizing Virtualization



What is virtualization
What is Virtualization?

  • Virtualization abstracts the underlying physical structure of various technologies

    • Examples:

      • Storage virtualization

      • Network virtualization

  • Server virtualization

    • Creates multiple isolated environments

    • Allows multiple OS’s and workloads to run on the same physical hardware

    • Solves the problem of tight coupling between OS’s and hardware



Benefits of virtualization
Benefits of Virtualization

  • Simplified administration

  • Hardware independence/portability

  • Increased hardware utilization

  • Server consolidation

  • Decreased provisioning times

  • Improved security

  • Software Development

  • Testing / Quality Assurance

  • Product evaluations / demonstrations

  • Training

  • Disaster Recovery

Virtualization Features

Virtualization Scenarios











Virtualization candidates
Virtualization Candidates

  • Getting Started

    • Migrate existing apps / physical machines

    • Create new virtual machines from scratch

  • Virtualization may not work well for:

    • Resource-intensive applications

      • VMs may have RAM/CPU/SMP limitations

    • Performance testing

    • Hardware compatibility testing

    • Specific hardware requirements

      • USB

      • Custom hardware devices


Physical to virtual p2v
Physical-to-Virtual (P2V)

  • Conversion of an existing physical machine into a virtual machine

    • Operating system, settings, and all data



Technical benefits for dev test
Technical Benefits for Dev/Test

  • Simplified Administration

  • Duplicating / recreating intermittent problems

  • Quick Deployment

  • Portability (Moving / Copying VMs)

    • For troubleshooting and recreating defects

    • Load-balancing

  • Standardized hardware configuration

  • State management for virtual machines


Development testing related scenarios
Development/Testing-Related Scenarios

  • Setting up a complex test lab

    • Testing multi-tier applications

    • Isolated networks

    • Simulating multiple clients

  • Rapid setup and tear-down of test environments

    • Consistent configurations

    • Ability to easily roll-back changes

    • Automation of VM setup and software installation


Virtual machine roll backs
Virtual Machine Roll-Backs

  • Can revert virtual machines to their initial state

  • Can create “snapshots” after changes

    • Can roll back to a particular snapshots


Estimating vm resource requirements
Estimating VM Resource Requirements

  • Number of VMs

  • Estimated memory per VM

  • Estimated disk space per VM

  • Resource usage estimates


Determining vm placement
Determining VM Placement

Approach:

Categorize VMs based on resource utilization

Combine VMs that have “compatible” workloads






Virtual server vs virtualpc
Virtual Server vs. VirtualPC

  • Improved performance (multi-threaded)

  • Web-Based Administration

  • Scripting and automation support (COM API)

  • Improved security

  • Advanced networking

  • Manageability

  • SCSI Device Support

  • Reliability/availability features (clustering)

  • Optimized for one or a few concurrent VMs (single-threaded)

  • Simplified administration

  • Sound card emulation

  • Easier file sharing

  • Automatic client desktop resizing

Virtual Server 2005

VirtualPC




Setting up a test lab
Setting up a Test Lab

  • Create overall test plans and requirements

    • OS and version requirements

    • Service Packs / updates, etc.

    • Hardware configurations for VMs

      • CPU, Memory, Disk Space, Network configuration

  • Create a naming convention for VMs

  • Create base images

  • Create network address conventions

    • IP address ranges and subnets

    • Support for multi-tier applications

    • Multiple networks (host-only, routed, NATs, etc.)


Designing base vm images
Designing Base VM Images

  • Goals:

    • Minimize the number of base images

    • Include as much functionality as possible



Deploying software
Deploying Software

  • Media-based deployments

    • Automatic mounting of ISOs

  • Network-based installations

    • Automated OS Deployment

      • Image-based or PXE Booting

    • Application Deployment

      • OS Startup Scripts and Network shares

  • Third-party software distribution tools



Automating virtualization
Automating Virtualization

  • Common operations can be scripted or automated

  • Test Lab Management Applications

    • Web-based

    • Client-based




Vm maintenance
VM Maintenance

  • Establish a base library of images

    • Ensures consistency

    • Helps in troubleshooting

    • Prepare VMs for duplication (SysPrep)

  • Create a Library of ISO files

  • Manage virtual machines as if they were physical machines

    • Security updates

      • Automatic Updates (if supported in Guest OS)

      • Microsoft Baseline Security Analyzer (MBSA)

      • Windows Server Update Services (SUS)

    • Patches

    • Corporate security standards

  • Configure anti-spyware / anti-malware exceptions

    • *.vhd, *.vud, *.vsv, *.iso


Managing performance
Managing Performance

  • Profile your applications

    • Windows System Monitor

      • Counter Logs

    • Event Viewer

    • Task Manager

    • Windows Management Instrumentation (WMI)

    • Microsoft Operations Manager (MOM)

    • Systems Management Server (SMS)

  • Monitoring Approach:

    • Host Server: Aggregate performance data

    • Guest OS: Detailed resource usage


Vm backup and recovery
VM Backup and Recovery

  • Backup and Recovery

    • Option 1:

      • Shut down/save state of the VM

      • Copy all required files.

      • Resume the VM

    • Option 2:

      • Use Backup Agents within the Guest OS.

  • Automating backups:

    • Build scripts/applications to automate virtual machine backup and recovery:

      • 1) Save state of the virtual machine

      • 2) Copy all related files

      • 3) Resume the virtual machine


Implementing host level backups
Implementing Host-Level Backups

  • Backup VM files from the host file system

  • Host-Level Backup Options:


For more information
For More Information

  • Resources from Anil Desai

    • Web Site (http://AnilDesai.net)

    • E-Mail: [email protected]

    • Keystone Learning Course: “Microsoft SQL Server 2005: Implementation and Maintenance (Exam 70-431)”

    • The Rational Guide to Managing Microsoft Virtual Server 2005

    • The Rational Guide to Scripting Microsoft Virtual Server 2005


Summary conclusion
Summary / Conclusion

Q & A, Discussion


ad