Best Practices for Testing In Virtual Environments

Similar documents
Virtualizing Oracle on VMware

Technical Deep Dive: VMware Lab Manager. Steven Kishi, Product Manager Wilson Huang, R&D Manager

Enterprise X-Architecture 5th Generation And VMware Virtualization Solutions

Big gains with little virtual Machines: VMware Lab Manager. Sumeet Mehra Application & Management Solution Specialist 16 th October 2008

7 Things ISVs Must Know About Virtualization

vsphere 4 The Best Platform for Business-Critical Applications Gaetan Castelein Sr Product Marketing Manager VMware, Inc.

VMware Virtualizing Business Critical Apps

Server Virtualization and Optimization at HSBC. John Gibson Chief Technical Specialist HSBC Bank plc

What s New in VMware vsphere 4.1 Performance. VMware vsphere 4.1

W H I T E P A P E R. What s New in VMware vsphere 4: Performance Enhancements

Introduction to Virtualization

Virtualization Big Applications. Charu Chaubal Senior Architect, Technical Marketing 6 November, 2008

OpenNebula on VMware: Cloud Reference Architecture

Red Hat Virtualization 4.1 Technical Presentation May Adapted for MSP RHUG Greg Scott

The Business Value of Virtualizing Oracle ebusiness Suite. Haroon Qureshi QSolve, Inc.

Securing the Data Center against

Verron Martina vspecialist. Copyright 2012 EMC Corporation. All rights reserved.

[TITLE] Virtualization 360: Microsoft Virtualization Strategy, Products, and Solutions for the New Economy

VMware Overview VMware Infrastructure 3: Install and Configure Rev C Copyright 2007 VMware, Inc. All rights reserved.

Session 1079: Using Real Application Testing to Successfully Migrate to Exadata - Best Practices and Customer Case Studies

Tintri: Best Practices for Snapshot Heavy Environments

VMware vsphere 4.0 The best platform for building cloud infrastructures

Directions in Data Centre Virtualization and Management

Improving Blade Economics with Virtualization

Disaster Recovery-to-the- Cloud Best Practices

vsphere 4 The Best Platform for Business-Critical Applications

An Oracle White Paper December Accelerating Deployment of Virtualized Infrastructures with the Oracle VM Blade Cluster Reference Configuration

SWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS

VVD for Cloud Providers: Scale and Performance Guidelines. October 2018

Safe Harbor Statement

Executive Summary Challenges in Developing, Testing and Deploying Applications Reduce Overall Development Costs... 7

Copyright 2012 EMC Corporation. All rights reserved.

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. reserved. Insert Information Protection Policy Classification from Slide 8

Nutanix Tech Note. Virtualizing Microsoft Applications on Web-Scale Infrastructure

Red Hat enterprise virtualization 3.1 feature comparison

How it can help your organisation

Virtualization with VMware ESX and VirtualCenter SMB to Enterprise

Certified Reference Design for VMware Cloud Providers

Oracle Database Consolidation on FlashStack

PRESENTATION TITLE GOES HERE

VMware vsphere 4. The Best Platform for Building Cloud Infrastructures

IBM Daeja ViewONE Virtual Performance and Scalability

Red Hat enterprise virtualization 3.0

VMware vsphere with ESX 4.1 and vcenter 4.1

VMware vsphere 6.5 Boot Camp

Zoptymalizuj Swoje Centrum Danych z Red Hat Virtualization. Jacek Skórzyński Solution Architect/Red Hat

Merging Enterprise Applications with Docker* Container Technology

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

An Oracle White Paper October Minimizing Planned Downtime of SAP Systems with the Virtualization Technologies in Oracle Solaris 10

Creating the Fastest Possible Backups Using VMware Consolidated Backup. A Design Blueprint

Oracle VM 3.3. Planning and Implementing

Reference Architecture for Dell VIS Self-Service Creator and VMware vsphere 4

Pivot3 Acuity with Microsoft SQL Server Reference Architecture

VMware ESX Server 3i. December 2007

Hyper-Converged Infrastructure: Providing New Opportunities for Improved Availability

VMware vsphere. Administration VMware Inc. All rights reserved

Docker and HPE Accelerate Digital Transformation to Enable Hybrid IT. Steven Follis Solutions Engineer Docker Inc.

Virtualization with VMware ESX and VirtualCenter SMB to Enterprise

Using IBM FlashSystem V9000 TM with the VMware vstorage APIs for Array Integration

VMware vsphere with ESX 6 and vcenter 6

VMware: Server Virtualization and Storage

"Charting the Course... VMware vsphere 6.7 Boot Camp. Course Summary


Welcome. Jeremy Poon Territory Manager, VMware

Virtualization Strategies on Oracle x86. Hwanki Lee Hardware Solution Specialist, Local Product Server Sales

PassTest. Bessere Qualität, bessere Dienstleistungen!

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Microsoft SQL Server on Stratus ftserver Systems

Infinio Accelerator Product Overview White Paper

Copyright 2011, Oracle and/or its affiliates. All rights reserved.

VMware Infrastructure The New Computing Platform. Presented by: Nick Smith Corporate Account Manager, VMware

Nimble/Cisco SmartStack Integrated Infrastructure for Enterprise-class Oracle Workloads

HPE Storage Update The All Flash Datacenter 3PAR

Powering Transformation With Cisco

NAS for Server Virtualization Dennis Chapman Senior Technical Director NetApp

Virtualized SQL Server Performance and Scaling on Dell EMC XC Series Web-Scale Hyper-converged Appliances Powered by Nutanix Software

Microsoft IT Leverages its Compute Service to Virtualize SharePoint 2010

Performance & Scalability Testing in Virtual Environment Hemant Gaidhani, Senior Technical Marketing Manager, VMware

VxRail: Level Up with New Capabilities and Powers GLOBAL SPONSORS

Virtual Server Agent for VMware VMware VADP Virtualization Architecture

Windows Server 2012 Hands- On Camp. Learn What s Hot and New in Windows Server 2012!

EMC Business Continuity for Microsoft Applications

By the end of the class, attendees will have learned the skills, and best practices of virtualization. Attendees

REVISED 1 AUGUST REVIEWER'S GUIDE FOR VMWARE APP VOLUMES VMware App Volumes and later

IBM SYSTEM POWER7. PowerVM. Jan Kristian Nielsen Erik Rex IBM Corporation

[TITLE] Virtualization 360: Microsoft Virtualization Strategy, Products, and Solutions for the New Economy

Microsoft SQL Server in a VMware Environment on Dell PowerEdge R810 Servers and Dell EqualLogic Storage

VMware vcloud Air User's Guide

Potpuna virtualizacija od servera do desktopa. Saša Hederić Senior Systems Engineer VMware Inc.

Private Cloud Database Consolidation Name, Title

Storage Considerations for VMware vcloud Director. VMware vcloud Director Version 1.0

VMware, Cisco and EMC The VCE Alliance

IOmark- VM. HP HP ConvergedSystem 242- HC StoreVirtual Test Report: VM- HC b Test Report Date: 27, April

THE OPEN DATA CENTER FABRIC FOR THE CLOUD

Distributed Systems COMP 212. Lecture 18 Othon Michail

Cloud & Datacenter EGA

Driving Greater Business Outcomes with Next Gen IT. Prasad Radhakrishnan ASEAN Datacenter Computing Solutions 18 th Jan 2018

IT Infrastructure: Poised for Change

Functional Testing of SQL Server on Kaminario K2 Storage

The Future of Virtualization Desktop to the Datacentre. Raghu Raghuram Vice President Product and Solutions VMware

Transcription:

WWW.QUALTECHCONFERENCES.COM Europe s Premier Software Testing Event World Forum Convention Centre, The Hague, Netherlands The Future of Software Testing Best Practices for Testing In Virtual Environments Martin Klaus, Vmware, USA

Best Practices for Testing in Virtual Environments Martin Klaus

Agenda Virtualization Basics Why is Virtualization such a big trend? Taking Advantage of Virtual Labs for Testing and QA Architecting Virtual Labs Best Practices for Testing in Virtual Labs Virtual Labs at VMware Performance Testing Considerations Summary and Next Steps

Virtualization Basics

What is Virtualization? Physical Machine Virtual Machine Virtualization packages hardware + OS + applications into a portable virtual machine package

Key Properties of Virtual Machines Partitioning Run multiple operating systems on one physical machine Divide system resources between virtual machines Isolation Fault and security isolation at the hardware level Advanced resource controls preserve performance Encapsulation Entire state of the virtual machine can be saved to files Move and copy virtual machines as easily as moving and copying files Hardware-Independence Provision or migrate any virtual machine to any similar or different physical server

Physical Hosted Server-based Virtualization Run several operating systems on a single machine. Create shared pools of resources to optimize your infrastructure.

Why is Virtualization such a big trend?

Platform for Business Critical Applications Separate Consolidate Aggregate Automate Liberate CapEx Savings OpEx Savings Business Agility Automation Virtual Infrastructure Virtual Infrastructure Management Management Management Hypervisor Hypervisor Hypervisor Hypervisor Test and Development Server Consolidation Capacity On Demand Self-Managing Datacenter Computing Clouds

Business-Critical Application Momentum >100,000 companies worldwide virtualize their datacenter 54% deploy enterprise applications on virtual infrastructure 46% standardizing on virtual infrastructure 63% plan to virtualize more than 50% of their x86 infrastructure in 3 years In a recent ESG survey, nearly half of the current users consider themselves to be running mission critical applications on virtual machines. ESG Research, December 2007 Test and Development Server Consolidation Capacity On Demand Self-Managing Datacenter Computing Clouds

Virtualizing critical applications in production 92% of our customers are confident that their mission-critical apps run well on VI Percent customers running these applications in production MSFT Exchange 36% MSFT SharePoint 54% MSFT SQL Server 62% ORCL Application Server 31% ORCL Database 32% IBM Domino 37% IBM DB2 20% IBM WebSphere 44% All Databases 42% Source: VMware customer survey, October 2007, sample size 500

Taking Advantage of Virtual Labs for Testing and QA

Common Test Lab Challenges Inefficient provisioning of test environments Setup, teardown, reset and configuration time Process, time and budget dependency on IT

Customer Example: Average Machine Utilization Maintenance Tasks Non-test related tasks such as Imaging, Installing, Cleanup, or Locked for Triage. Testing Tasks Test execution Maintenance Tasks Testing Tasks On Average, test execution is only 10% of the total machine utilization 80% 70% 60% 50% 40% 30% 20% 10% 0% Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Image Machine Install Software Run Tests Await Triage Release for new test 20 Minutes 5 Minutes 20-120 Minutes 1-12 Hours!!

Common Test Lab Challenges Inefficient provisioning of test environments Setup, teardown, reset and configuration time Process, time and budget dependency on IT Constraints of physical hardware Test matrix limited by available lab resources Little asset sharing leads to server sprawl

Customer Example: Physical Test Lab Challenges Resources locked until test run complete Every task must go through imaging and product install No reuse of common configurations Remote access issues Requires hardware specific Images Consumes lots of power and space

Common Test Lab Challenges Inefficient provisioning of test environments Setup, teardown, reset and configuration time Process, time and budget dependency on IT Resource requirements Test matrix limited by available equipment Little asset sharing leads to server sprawl Collaboration of development and testing teams Reproducing environments to troubleshoot problems

Customer Example: Before Virtual Test Lab Before Virtual Test Lab Number of provisioning requests and slow IT response time (days) High temperatures and power consumption of 120 server spread across multiple labs Significant number of machines reaching the end of their life cycle causing unexpected downtime Time and complexity required to manage and maintain system configurations Inability to provide service for remote users without manual intervention

Customer Example: Virtual Test Lab 7 Blade Servers running 20-50 VMs each Supports 120 concurrent lab users in multiple locations Increased lab capacity by an additional 200 virtual machines Improved IT response time from days to minutes with a self-service portal Fewer machines and dramatically reduced hardware replacement cost After Virtualizing the Test Lab

Customer Example: Test Automation Infrastructure developed over 6 years Roughly 100 unique users per day and over 300 per month Support team of 8 full-time engineers Mostly automated GUI testing but also includes programmatic SDK + API tests Averaging roughly 86% increase in testing year over year 80000 70000 60000 50000 40000 30000 20000 10000 0 Test Executions by Release Feb Mar Apr May Jun Jul Aug Sep 06 Release 07 Release 08 Release Annual Release Cycle Launch in Fall

Architecting Virtual Labs

How Virtual Lab Infrastructure Works User selects a multi-machine configuration, clicks deploy. Virtual Lab Portal Virtual machines stored in the image library are deployed on the virtualized server pool Image Storage Library Elapsed Time: 1-2 minutes LAN/SAN QA Engineer Once deployed, user directly interacts with the machines, as if sitting at each console Virtual Infrastructure Virtualized Server Pool Automated Virtual Lab

Virtualized Server Pool Sizing Infrastructure Requirements Server-based virtualization typically achieve consolidation ratios of 10:1 or higher QA and test labs often achieve 25:1 or more Use 4-way servers for higher VM density Basic sizing formula: Number of Virtualized = Servers needed Users * Machines Consolidation Ratio

Storage Sizing Image Library Efficient use of storage through linked clones and delta disks Recommendations Storage need depends on the number of base images + length of linked clones chain Allocate several large VMFS data stores (300GB - 500GB each) for initial VM storage Minimum 200GB disk space for media storage Storage Server A B C A B C A B C A B C WinXP base disk Win2k3 base disk

Test Automation in Virtual Labs Use Test Automation Tools Most vendors have plug-ins and integrations with virtual lab automation products Build your own automation scripts specific to your environment and processes, e.g. automated regression testing after check-in Capture Test Environments Snapshot virtual machines if tests fail linked clones reduce storage overhead Discard virtual machines if tests succeed

Best Practices for Testing in Virtual Labs

Problem: Test Matrix Management Test matrix is becoming too difficult to manage Host operating system, browser, database, application server, localization, JRE, etc Trade-off between test matrix, release schedules and quality must be made

Solution: Using Templates and Configurations Create multi-level templates Level 1: OS Level 2: OS + Patches Level 3: OS + Patches + Apps Tests are downloaded to Level 3 configurations Build VM Configurations from Templates Preserve Gold master images Instantiate templates in multi-tier configurations Image library stores all test environment configurations Selectively deploy, combine or split VM configurations for combinatorial use cases

Problem: Test Resource Collisions Different types of testing cannot be executed simultaneously in same environment Regression and Integration Testing User Acceptance Testing Test Environment Installation and Upgrade Testing

Solution: Clones and Network Fencing Deploy multiple identical environments simultaneously Linked clones and delta disks reduce storage costs Configuration B Clone of A Regression and Integration Testing User Acceptance Testing Configuration A Original Configuration C Clone of A ESX Server Pool Installation and Upgrade Testing

Problem: Modified Test Environments Environment Impact Tests Installation, Upgrade and Patch testing Test Data Management Maintain test data through data destructive test cycles

Solution: Store Application State Snapshots and Revert Points Capture to Library and Checkout of Library Test Execution Pristine Data State Unknown Data State Revert to Snapshot or Checkout Library Configuration

Problem: Not-Reproducible Defects Non-determinism is source of many bugs Race conditions in multithreaded code Application behavior dependent on user input, network, etc Non-reproducible defects get dismissed and shipped Post-mortem debugging Applications don t always crash Post mortem represents a system snapshot at the time of the crash but doesn t capture behavior leading up to the crash

Solution: Record and Replay Record and replay whole VM execution i.e., all threads, all processes, and operating system Instruction exact Recorded session encapsulated in a file User Network Disk

Record and Replay Benefits Instruction exact recording of VM execution Inexpensive enough to use pervasively (won t miss bug) Use go-live to evaluate what-if scenarios Replay bug over and over Records all asynchronous data (user input, network, etc) Minimal execution dilation (won t mask bug) Memory leaks Race conditions Minimal probing effects during debugging Record bug with low overhead Attach debugger while replaying Control/inspect program in usual ways: breakpoints, watch points, single stepping, etc.

Virtual Labs at VMware

How VMware QA uses virtualization Virtual Development Environments VDE contains IDE, compilers, build tools and system paths Switch between VDE to get different version build tools Quickly provisioning VDE for new hires and contractors Virtual Test Environments VTE contains deployment environment and application build Manual and Automated Testing team access VTEs We also use test and build automation tools Development and QA Collaboration Code check-ins trigger automated smoke testing Continuous integration testing against main branch

Virtual Lab Automation in Development and Test 1. Daily build produced by build System Build System 2. VMware Lab Manager SOAP API used to checkout reference platforms, install build, and download and run latest smoke test scripts SQA System Tests Lab Manager QA/ Dev 3. Bugs are sent to dev team and filed in bug tracking system using LiveLinks 4. All results are checked into the Lab Manager Library. Leases used to keep library clean. Fixes 5. Fixes checked into build system for next day s build

Performance Testing Considerations

Performance Expectations for Virtual Infrastructure Expect CPU overhead to be in the order of 5-20% This is what we see consistently in partner benchmarks Expect Storage latency overhead to be negligible ESX Layer adds about 0.2ms per I/O, and is capable of >100,000iops NFS and iscsi protocols often provide sufficient performance, but can have slightly higher CPU overhead VMware ESX Scales Out Well Adding VMs scales well: over 95% scaling factor

Single VM, CPU Intensive Performance VMware ESX 3.x compared to Native SPECcpu results covered by O.Agesen and K.Adams Paper Websphere results published jointly by IBM/VMware SPECjbb results from recent internal measurements

Measuring the Performance of DB Virtualization Throughput Delivered Minimal Overheads

Oracle 10GR2 Swingbench Throughput (txns/sec) Throughput scales with the size of the VM Number of virtual CPUs in Database/Guest

Total System Throughput (ops/s) Total System Throughput (ops/s) Application Tier Scales Better in Virtual Machines Java on Linux Java on VMware Java Virtual Machines 1 2 3 4 5 6 7 8 Java Virtual Machines 1 2 3 4 5 6 7 8 3-Tier client-server Java benchmark measuring num. of business transactions per sec. Intel Xeon 3.2 GHz, 2 GB RAM, VMware ESX 3.0, BEA LiquidVM 1.1, BEA JRockit R27.3, BEA WLS 9.2 MP2, RHEL 4.0. Each VM allocated 1 vcpu and 1 GB vmem. JVM -Xmx=800MB, 135 MB live data.

Summary and Next Steps

Building your own Virtual Test Lab Implement proof of concept prior to broader deployment Get your IT department involved Virtualize one or two QA test lab servers to gain experience Scale out your virtual lab over time Online Resources VMware Web site: http://www.vmware.com/solutions/vla/ White papers, Technical articles, community forums, blogs, customer references Free Tools VMware Converter, VMware ESXi, VMware Server

Conclusion Virtualize your test lab Start by leveraging existing servers and local storage Import physical test configurations as virtual machines Use test automation tools Included automated provisioning and capture of test environments in your tests From 2007 Customer Survey Time is the biggest item saved through virtual lab automation 50% increase in defects found prior to production/shipment