Using Virtualization to Improve Testing - PowerPoint PPT Presentation

using virtualization to improve testing n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Using Virtualization to Improve Testing PowerPoint Presentation
Download Presentation
Using Virtualization to Improve Testing

play fullscreen
1 / 45
Using Virtualization to Improve Testing
110 Views
Download Presentation
tracen
Download Presentation

Using Virtualization to Improve Testing

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Using Virtualization to Improve Testing Anil Desai IEEE Computer Society, Austin Chapter April 18th, 2007

  2. 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 Anil@AnilDesai.net

  3. 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

  4. An Overview of Virtualization Technology

  5. 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

  6. Virtualization Architecture

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

  8. Emulated Hardware Platform

  9. Understanding Virtual Hard Disks

  10. Virtual Network Overview

  11. Virtual Network Examples

  12. Virtualization Features & Scenarios

  13. Deployment Steps

  14. Server Consolidation

  15. Load-Balancing

  16. Training / Test Labs

  17. 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

  18. Physical-to-Virtual (P2V) • Conversion of an existing physical machine into a virtual machine • Operating system, settings, and all data

  19. Virtualization Benefits for Development / Testing

  20. 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

  21. 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

  22. Virtual Machine Roll-Backs • Can revert virtual machines to their initial state • Can create “snapshots” after changes • Can roll back to a particular snapshots

  23. Estimating VM Resource Requirements • Number of VMs • Estimated memory per VM • Estimated disk space per VM • Resource usage estimates

  24. Determining VM Placement Approach: Categorize VMs based on resource utilization Combine VMs that have “compatible” workloads

  25. Comparing Virtualization Solutions

  26. Virtualization Approach Overview

  27. Server-Level Virtualization Example

  28. Virtualization Options

  29. 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

  30. Selecting the Best Approach

  31. Using Virtualization for Development and Testing

  32. 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.)

  33. Designing Base VM Images • Goals: • Minimize the number of base images • Include as much functionality as possible

  34. Disk Hierarchy Example

  35. 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

  36. Creating Application Stacks

  37. Automating Virtualization • Common operations can be scripted or automated • Test Lab Management Applications • Web-based • Client-based

  38. Virtual Server COM API

  39. Managing & Optimizing Virtualization

  40. 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

  41. 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

  42. 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

  43. Implementing Host-Level Backups • Backup VM files from the host file system • Host-Level Backup Options:

  44. For More Information • Resources from Anil Desai • Web Site (http://AnilDesai.net) • E-Mail: Anil@AnilDesai.net • 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

  45. Summary / Conclusion Q & A, Discussion