APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING



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

Virtualization Overview

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Comparing Free Virtualization Products

Using VMware Player. VMware Player. What Is VMware Player?

International Journal of Advancements in Research & Technology, Volume 1, Issue6, November ISSN

W H I T E P A P E R. VMware Software Lifecycle Automation Solutions

Parallels Virtuozzo Containers

IOS110. Virtualization 5/27/2014 1

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

9/26/2011. What is Virtualization? What are the different types of virtualization.

The XenServer Product Family:

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

TOP TEN CONSIDERATIONS

An Esri White Paper January 2010 ArcGIS Server and Virtualization

Test Lab Automation Using Virtualization. Sameer Jagtap, Director Product Management

Oracle On Demand Infrastructure: Virtualization with Oracle VM. An Oracle White Paper November 2007

TechTarget Windows Media

CSE 501 Monday, September 09, 2013 Kevin Cleary

The Art of Virtualization with Free Software

Developing a dynamic, real-time IT infrastructure with Red Hat integrated virtualization

Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh

MORE INNOVATION WITHOUT VENDOR LOCK IN OPEN VIRTUALIZATION: Open Virtualization White Paper May Abstract

SCO Virtualization Presentation to Customers

Virtualization: an old concept in a new approach

Server Virtualization with VMWare

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

ORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK

nanohub.org An Overview of Virtualization Techniques

Virtualization. Jukka K. Nurminen

A Comparison of VMware and {Virtual Server}

Windows Server Virtualization An Overview

Virtualization and the U2 Databases

Paravirtualization Figure 1.

Virtualization. Dr. Yingwu Zhu

Solution Recipe: Improve PC Security and Reliability with Intel Virtualization Technology

WHITE PAPER: HIGH CUSTOMIZE AVAILABILITY AND DISASTER RECOVERY

Streamlining BEA WebLogic Server Application Development. With VMware Infrastructure 3. With VMware Infrastructure 3

Virtualization. Introduction to Virtualization Virtual Appliances Benefits to Virtualization Example Virtualization Products

Symantec NetBackup 7.1 What s New and Version Comparison Matrix

Virtualization. Types of Interfaces

Evaluation of Enterprise Data Protection using SEP Software

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

PARALLELS SERVER BARE METAL 5.0 README

Hard Partitioning and Virtualization with Oracle Virtual Machine. An approach toward cost saving with Oracle Database licenses

PARALLELS SERVER 4 BARE METAL README

Guest Operating System. Installation Guide

Server Virtualization and Consolidation

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Redefining Backup for VMware Environment. Copyright 2009 EMC Corporation. All rights reserved.

VIRTUALIZATION 101. Brainstorm Conference 2013 PRESENTER INTRODUCTIONS

Virtualization. Michael Tsai 2015/06/08

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

How Customers Are Cutting Costs and Building Value with Microsoft Virtualization

Top 10 Reasons to Virtualize VMware Zimbra Collaboration Server with VMware vsphere. white PAPER

VMware vcenter Update Manager Administration Guide

What s New with VMware Virtual Infrastructure

VIRTUALIZATION: From Concept to Reality A White Paper Prepared by Insight

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Virtualization: Know your options on Ubuntu. Nick Barcet. Ubuntu Server Product Manager

Deputy Secretary for Information Technology Date Issued: November 20, 2009 Date Revised: December 20, Revision History Description:

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Virtual Machines.

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

ORACLE VIRTUAL DESKTOP INFRASTRUCTURE

Professional Xen Visualization

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment


Basics of Virtualisation

SECURITY IN OPERATING SYSTEM VIRTUALISATION

Understanding Full Virtualization, Paravirtualization, and Hardware Assist. Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...

Altiris IT Management Suite 7.1 from Symantec

What is virtualization

Enhanced Virtualization on Intel Architecturebased

Introduction. Setup of Exchange in a VM. VMware Infrastructure

Accelerate Application Development through DevOps Automation

Extending Microsoft Hyper-V with Advanced Automation and Management from Citrix

White Paper on NETWORK VIRTUALIZATION

Intro to Virtualization

EXECUTIVE SUMMARY Red Hat Virtualization: Meeting the Challenges of Optimization

8th WSEAS International Conference on SYSTEMS THEORY and SCIENTIFIC COMPUTATION (ISTASC 08) Rhodes, Greece, August 20-22, 2008

Neverfail Solutions for VMware: Continuous Availability for Mission-Critical Applications throughout the Virtual Lifecycle

VMware Virtual Infrastucture From the Virtualized to the Automated Data Center

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

IBM Endpoint Manager for Server Automation

WHITE PAPER The Storage Holy Grail: Decoupling Performance from Capacity

Quick Start Guide for VMware and Windows 7

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

The New Economics of Virtualization

VMware Infrastructure 3 and Stratus Continuous Availability:

Server and Storage Sizing Guide for Windows 7 TECHNICAL NOTES

Disaster Recovery Infrastructure

Full and Para Virtualization

Xen Virtualization: Xen (source) and XenServer

Virtualization: Concepts, Applications, and Performance Modeling

Solution Brief Availability and Recovery Options: Microsoft Exchange Solutions on VMware

Hyper-V vs ESX at the datacenter

Double-Take Replication in the VMware Environment: Building DR solutions using Double-Take and VMware Infrastructure and VMware Server

Veritas Cluster Server from Symantec

Transcription:

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING Application testing remains a complex endeavor as Development and QA managers need to focus on delivering projects on schedule, controlling costs, and ensuring quality. However, meeting these demands is complicated by challenges such as inadequate hardware requirements, lack of time, test coverage limitation and total project cost. Features provided by server virtualization technology can be leveraged in test environments and subsequently reduce the total project cost. As server virtualization technology emerges as it helps platform testing in many ways, keen attention is needed to make use of it effectively. This paper describes the added advantages of server virtualization in platform testing. WHITE PAPER RENU KELA renu.kela@wipro.com

Table of Contents 1 INTRODUCTION.3 1.1 PLATFORM TESTING...3 1.2 SERVER VIRTUALIZATION 3 1.3 SIGNIFICANCE OF SERVER VIRTUALIZATION.4 2 CURRENT PROBLEMS IN PLATFORM TESTING..4 2.1 CHALLENGES FACED IN PLATFORM TESTING 4 3 ADVANTAGES IN PLATFORM TESTING USING SERVER VIRTUALIZATION 6 3.1 MULTIPLE ON A SINGLE SERVER (SERVER CONSOLIDATION). 6 3.2 COMPLEX MULTI-TIER ENVIRONMENT ON A SINGLE SERVER...7 3.3 CREATING AND USING A REPITORY OF TEST ENVIRONMENTS IN VIRTUAL MACHINE...7 3.4 CAPTURE THE SCENARIO WITH THE CURRENT STATE OF THE SYSTEM FOR ANALYSIS....7 3.5 ACCELERATE SOFTWARE TESTING WITH VIRTUAL LAB MANAGER.....8 3.6 SLASHING OVERALL CT DRASTICALLY. 8 3.7 IMPROVEMENT IN SOFTWARE QUALITY...9 4 SERVER VIRTUALIZATION PLAYERS IN TODAY S MARKET...10 5 CONCLUSION....10 REFERENCES..11 ABOUT THE AUTHOR......11 ABOUT WIPRO TECHNOLOGIES.11 Wipro Technologies - 2007 Page 2

1 Introduction Server virtualization helps in effective use of hardware resources. It allows multiple Operating Systems (s) run in isolation on the same hardware with each associated with its own set of applications. Each instance of this is called a virtual machine. We can have multiple virtual machines running on one powerful server. An application, which needs to be tested across heterogeneous s, can be run practically on a single server using server virtualization. This helps in reducing testing cost involved in hardware resources drastically. This white paper explains the issues involved in platform testing and how it can be resolved using server virtualization in brief. 1.1 Platform Testing Platform testing includes testing of an application across a wide variety of hardware, s, browsers and databases. In this paper, platform testing is considered with respect to heterogeneous s or different flavors of the same. An application, developed to run on multiple platforms (s), needs to be tested on all those supported platforms. It needs a setup consisting of different machines/servers running with different s. 1.2 Server Virtualization Running multiple different s or multiple instances of the same on a single server is called server virtualization. The two server virtualization architectures are called hosted and hypervisor architecture. In case of hosted architecture, the virtualization is accomplished by a layer of software called virtual machine monitor (vmm), which resides between host os and guest os. Virtual Machine Monitor Complete Host Hardware Fig: Hosted Architecture Hypervisor is a software that runs directly on a given hardware. It resides between the hardware and the guest s. Wipro Technologies - 2007 Page 3

Hypervisor Hardware Fig: Hypervisor Architecture 1.3 Significance of Server Virtualization Virtualization enables new ways for effective usage of both servers and desktops. It helps in consolidating heterogeneous s and run untrusted applications on powerful servers providing a simplified data center, better utilization of hardware, reduced cost, and enhanced security for the enterprise. Using server virtualization, we are no longer limited in running only one on a single, underutilized server or workstation. This helps to reduce efforts involved in managing number of systems for the same task, which in turn helps to cut down real time power and cooling cost involved. 2 CURRENT PROBLEMS IN PLATFORM TESTING Now a days, one of the most important criteria of a world class software product is its independence from its underlying platform (). This pushes a need for testing that software product on different supported platforms. Releasing a software product without testing on all platforms is a big risk and can hide many bugs which are platform dependent. Testing of such software product on different platforms involves large investment in test machines running different s. Along with this, it requires a lot of effort in configuring and managing these machines. 2.1 Challenges faced in Platform testing Platform testing is very essential for a quality product to assure its proper behavior on all supported platforms, but this is not an easy endeavor. It involves many challenges in terms of hardware availability, total cost, test bed setup, capturing failure scenario etc., which are explained in more detail below. Hardware Resources Platform testing requires sufficient hardware resources to increase efficiency in the team, but it needs good amount of investment in terms of money. Also, management of lab setup having different configurations needs expert staff, thereby increasing administrative cost. Wipro Technologies - 2007 Page 4

Consider an application containing three modules and this whole application needs to be tested on three different platforms. Test development, automation and execution for each module are handled by one person. For efficient utilization of effort and time of each person, we need three different servers having three different s installed for each individual, so for three people we need nine servers, which really adds to the cost of the project. The number of servers can be reduced by time sharing basis but it affects the efficient time utilization of an individual and thus reduces efficiency and productivity. Cost Involved in Power, Cooling and Commercial Space If number of hardware is more, it occupies more commercial space which is very expensive today. Also, it increases the cost involved in power, fans and air cooling systems. License Cost Licensed copy of software can not be reutilized. Thus, each server has license cost involved along with hardware. Installation Installation of different s and configuration needs expert administrative staff and thus it is a very costly and time consuming job. Creation of Realistic Test Environment In order to verify compatibility of applications with other elements of the deployment infrastructure, support is needed to create a realistic test environment. For example, there has to be compatibility with clients running on different s and connecting to server application via different technologies. Testing Multi-tier Environment Multi-tier environment contains different servers running different applications which are dependent on each other and have to be tested all together. Establishing an environment like this is a complex and very expensive job. Duplication of Test Environment for Geographically Distributed Testing Teams It is a complex job to duplicate the test environment for geographically distributed teams. It adds to step up administrative costs due to the reconfiguration of testing servers. Execution of Automated Regression Tests which needs Rebooting of the System Some tests are purposefully written to test the behavior of an application when the system suddenly goes down or it restarts. Database application is a good example for such scenario especially when it is doing some transaction and in between system goes down or restarts. To simulate such test scenario, rebooting of the system is required, but this impacts and stops other applications running in that system and they too have to be restarted. Wipro Technologies - 2007 Page 5

Data Collection and Debugging It is sometimes very difficult to simulate failure conditions occurred during the testing. To analyze such failures, it is required to preserve the state of the system ( and application). This makes the system engaged for analysis and thus impacts the further testing. Today, all these above problems can not be overlooked. They all need to be solved to save on hardware and environmental costs, effort and time in management and administration of the server infrastructure. Server virtualization is a technology which offers many solutions to solve many of the problems and thus plays a very vital role in platform testing. Next section will explain about added advantages of server virtualization and how above challenges can be faced and solved. 3 ADVANTAGES IN PLATFORM TESTING USING SERVER VIRTUALIZATION Let s see that how server virtualization technology helps in solving some of the difficulties faced in platform testing. 3.1 Multiple on a Single Server (Server Consolidation) Server virtualization allows running multiple different s or versions of same s (including Microsoft Windows, Linux, Solaris, NetWare, etc.) simultaneously on a single machine -- without partitioning or rebooting. This is called as server consolidation; it consolidates workload of several under-utilized servers to fewer machines, perhaps a single machine. Virtual Machine 1 Virtual Machine 2 Virtual Machine 3 Application SCADA Legacy Inventory Tracking Oracle Database Operating System Windows Server 2003 Windows NT Linux Virtualization Layer Single X86 Server Fig: Server Virtualization Wipro Technologies - 2007 Page 6

3.2 Complex Multi-tier Environment on a Single Server Multi-tier environment can be easily simulated and tested on a single system using server virtualization. It also helps demonstrating complex multi-tier applications on a single system without hassles involved in setting of a multi-tier environment. This is achieved by creating different virtual machines on a single system each running its own and the application. For example, a Web server, database server and workstation can run on a single machine to build a multi-tier environment. For instance, VMware Workstation product is used to create, connect virtual machines to simulate and test multi-tier applications. 3.3 Creating and Using a Repository of Test Environments in Virtual Machine The conventional approach for platform testing is setting up a lab with a pool of systems shared by development and QA and maintained by lab staff. For the required configuration, each developer or tester has to request lab personnel. This is quite frustrating and inefficient because of limited number of machines and to get the required test configuration each time. Inevitably, this results in failure to meet deadlines and poor quality product. This problem is easily solved by server virtualization by creating libraries of reusable virtual machines that are preconfigured for different test configurations (different s, versions, patches, test configurations, etc.) and can be rapidly provisioned to any available machine. For instance, VMware Workstation provides a feature of cloning and multiple snapshots which make it easy to set up a repository of test environments in virtual machines. For example, a user can create a virtual machine, install an, load various service packs, set up test configuration, install test application, and save each step as a separate snapshot. Now any tester can open the virtual machine from the repository, go to the appropriate snapshot, and clone it to create a new virtual machine which can be downloaded to local drive in a few minutes and start using it. [3] 3.4 Capture the Scenario with the Current State of the System for Analysis Inefficiency in analysis or debugging for rarely occurring bugs results in a buggy product. In a software development lifecycle, resolution of some critical bugs requires preserving the state of the system for analysis. Using server virtualization technology, the entire setup containing the bug, including the and all applications involved, can be captured in a snapshot, or a series of snapshots and the cloned virtual machine can be stored on the network. Then, any developer with the network access can download the cloned VM in minutes for the debugging purpose. If the developers do not have any other VMware product installed, then VMware Player is a very useful product in this scenario. It runs virtual machines created by VMware Workstation, VMware Server, or VMware ESX Server and also supports Microsoft virtual machines and Symantec LiveState Recovery disk Wipro Technologies - 2007 Page 7

formats. Developers can make use of it to just run virtual machine having the failure state captured in a separate window. VMware Player is a free software that enables PC users to easily run any virtual machine on a Windows or Linux PC. It does not allow creating a new virtual machine. [2] 3.5 Accelerate Software Testing with Virtual Lab Manager It allocates resources on as-needed basis and not maintaining multiple static systems that are only used sporadically. Virtual Lab Manager allows to pool and share resources between test teams for maximum utilization. As a result, productivity increases, teams spend less time on lower-value operational tasks and more time in developing and testing which makes it possible to complete software projects faster. For example, VMware Lab Manager creates a centralized pool of virtualized servers, storage and networking equipment shared across teams. It also provides the required test environments in minutes and effortlessly moves configurations between development and test facilities. 3.6 Slashing Overall Cost Drastically Virtualization significantly helps in reducing cost involved in the number of systems that organizations need to acquire for development and testing. Also, it re duces cost associated with power and cooling, network and storage infrastruc ture, system administration and commercial space. Most importantly, it reduces extra license cost associated with software by creating virtual machines and by provisioning it on a required system. 3.7 Improvement in Software Quality A team has to spend very less time in setting up the test bed, they can increase testing coverage and be able to test real con figurations more easily and debug failures more reliably and efficiently. The end result of this is high quality software, customer satisfaction and fewer problems experienced after deployment. Summary of problems in platform testing and resolution using server virtualization: Problems in Platform Testing - Hardware resources - Cost involved in power, cooling and commercial space - License cost involved in software - Effort and time spent in installation - Simulation of realistic test environment - Testing multi-tier environment - Duplication of test environment for geographically distributed testing teams - Execution of automated regression tests which needs rebooting of the system Server consolidation Solution using Server Virtualization Create virtual machines, make a repository and reuse it on other systems. VM images can be reused Resolves by creating different virtual machines. For example, a Web server, database server and Workstation can run on a single machine to build a multi-tier environment A virtual machine can be rebooted without affecting other virtual machines running its own and applications on the same server - Data collection and debugging for a failure scenario The state of the system can be captured in case of failure. The current state of the and application can be encapsulated in a file and copied to some other system for analysis. VMware Player is very useful in this case. [2] Note: Server virtualization should not be used for performance testing as it will not give accurate results. Wipro Technologies - 2007 Page 8

4. Server Virtualization Players in Today s Market There are several server virtualization vendors available in the market, which have seen tremendous yearover-year growth. But, the selection of it depends on couple of parameters like supported guest s, cost of the product, ease in usage, performance, supported features, etc. Some of the server virtualization vendors are: VMware VMware has a very large value add in the server virtualization technology, it has several virtualization solutions available. VMware supports full virtualization meaning running an unmodified on a virtual machine. It supports Windows, Linux, Netware, FreeBSD, MS-D, Solaris and Mac X s. VMware Products: Data Center Products: VMware Infrastructure 3, VMware ESX Server, VMware VMotion, VMware DRS, etc. Development and Test Products: VMware Lab Manager and VMware Workstation. Enterprise Desktop Products: VMware ACE and VMware Virtual Desktop Infrastructure. Free Virtualization Products: VMware Player, VMware Server, and VMware Virtual Center for VMware Server. Accelerator Products: VMware P2V Assistant and VMware Virtual Machine Importer. URL: http://www.vmware.com/ XenSource Xen is the open source project from XenSource. Xen uses a different approach to virtualization called as paravirtualization. In this type of virtualization, the guest has to be modified to work with a software interface to the virtual machine monitor called hypervisor, instead of thinking it is running on the hardware. The thing is that this actually enables better performance of the guest s. Xen supports Linux, Windows XP, OpenSolaris and NetWare. Xen 3.0 supports running unmodified but for that it is mandatory to have hardware virtualization (Intel VT-x and AMD Pacifica hardware virtualization support). URL: http://www.xensource.com/ Microsoft Virtual Server It is a server virtualization technology engineered for the Windows Server System platform. As a key part of any server consolidation strategy, virtual server increases hardware utilization and enables IT staff to rapidly configure and deploy new servers. URL: http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx Wipro Technologies - 2007 Page 9

Parallels It supports the entire Windows family, popular Linux distributions, Mac, FreeBSD and Legacy as /2 and MS-D. URL: http://www.parallels.com/ Virtuozzo It supports Windows and Linux. URL: http://www.swsoft.com/en/products/virtuozzo OpenVZ The OpenVZ project is an open source community project supported by SWsoft and is intended to provide access to the code and ultimately for the open source community to test, develop and further the virtualization effort. OpenVZ is the basis of the Virtuozzo - a commercial virtualization solution offered by SWsoft. URL: http://openvz.org/ Virtual Iron It supports Windows and Linux flavors as: Red Hat Enterprise Linux 4, 32- and 64-Bit SUSE Linux Enterprise Server 9, 32- and 64-Bit Windows XP (32-Bit) Windows 2003 (32-Bit) URL: http://www.virtualiron.com/ Also, there are couples of companies such as IBM, HP, and Sun which have their own proprietary server virtualization software supported for their servers. 5 CONCLUSION In today s world of new business demands, platform testing projects need to think about utilization of server virtualization technology to get cost effective complex projects. This will reduce the amount of hardware required, deliver a quality product with reduced bug rate and deliver a software product with fewer compatibility issues. It also helps in effective usage of time and provides customer satisfaction. Wipro Technologies - 2007 Page 10

References [1] http://www.vmware.com/vmtn/resources/cat/91,92 [2] Explains how VMware Player works http://www.vmware.com/pdf/vmwareplayermanual10.pdf [3] Describes about how to create virtual machine clones http://www.vmware.com/support/ws55/doc/ws_clone.html http://www.vmware.com/pdf/ws5_clones_technote.pdf [4] http://vmblog.com/archive/category/1002.aspx [5] http://www.xensource.com/files/xensource_wp2.pdf [6] http://en.wikipedia.org/wiki/virtualization [7] http://www.kernelthread.com/publications/virtualization/ [8] Internal QA proposals and server virtualization SIG artifacts. About the Author Renu Kela is a BE (Computer Science) graduate with 4 ½ Years of IT experience in testing. She is a part of Wipro Technologies for about 4 ½ years and works in Tandem NSK systems. She has been involved in the test design, implementation and execution of a range of customer products. About Wipro Technologies Wipro Technologies offers world class software and technology solutions for the insurance industry. Wipro has successfully executed several projects spanning life, P&C, re-insurance companies and insurance brokers. We address sales and distribution, underwriting, policy administration, accounting, claims processing and back-office. Wipro s unique value proposition is delivered through our pioneering offshore development model and stringent quality processes including ISO 9000, SEI CMM Level 5 and Six Sigma. www.wipro.com/practice For more white papers logon to http://www.wipro.com/insights Copyright 2007. Wipro Technologies. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without express written permission from Wipro Technologies. Specifications subject to change without notice. All other trademarks mentioned herein are the property of their respective owners. Specifications subject to change without notice. Wipro Technologies - 2007 Page 11