using virtualization to improve testing
Download
Skip this Video
Download Presentation
Using Virtualization to Improve Testing

Loading in 2 Seconds...

play fullscreen
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