In the past I’ve written about and asked the question – “Does your software test lab have a champion?“. Typically, it is your lab champion who takes up (among other things) the case of sizing the lab. How many hosts do you need? The storage capacity required? How many users? etc.
Solutions like VMLogix LabManager rely on managing a set of virtual hosts that house your virtual lab environment. VMLogix LabManager provides centralized virtual lab operations (across many users and distributed teams) and drives efficiency , improves productivity and reduces your overall IT lab costs. Effective planning on this central lab setup will help users and administrators derive the most benefits.
As you move towards adopting virtualization in your physical pre-production and/or production environments, you will need to plan on capacity using appropriate tools. Companies like VMware, Microsoft, CiRBA, PlateSpin (now Novell) and Lanamark provide specialized tools (some even free, like the one from Microsoft) to help you in your capacity planning. Lanamark also provides assessment services – both a basic free and a premium paid option. Leverage these tools as you plan on virtualizing your servers (either pre-production or in production). [Update 12/5 - Here is an article on VMblog about proactive capacity planning written by Lanamark.]
Note that — once you install and use VMLogix LabManager in your lab environment, you can track resource (including virtual host) utilization – and can use this data to plan on future lab capacity upgrades (or downgrades).
We were at the Software Testing Conference 2008 – it was well organized and a really well attended conference. Given that I know of a couple of conferences that had to cancel in the recent past due to insufficient registrations/sponsors/interest – the audience that STC 2008 drew was very impressive to say the least.
This morning I heard Mr. Gangadharaiah, Sr. VP and Global Head of Testing Services at Wipro Technologies speak about “Next Wave of Testing: Testing as Managed Services and the Business Value Delivered”. It was a well delivered talk and one of the statements that he mentioned caught my attention particularly: People will test more and develop less during these slow economic conditions. What do you think? Will IT managers in your organizations spend more time in software testing and maintenance than taking up new development projects? Vote here:
VMLogix LabManager recently won the “Best Solution from a New Player” award given by Software Test and Performance Magazine. This was announced in their November issue which you can download here.
Quoting from the magazine: “VMLogix LABMANAGER 3.5 took this year’s top spot for Best Solution from a New Player, which we define as a company less than five years old. Released in May, version 3.5 added support for Citrix XenServer 4.1 to its existing support for virtualization systems from Microsoft and VMware. LabManager 3.5 also includes some major user interface enhancements and to virtual network management.”
Voke has published and made available a market commentary titled Fortune 500 Spending Required for IT Cost Savings. From a source that has published about the report:: “Following the economic downturn of 2000 to 2003, the Fortune 500 companies that pursued short-term cost-cutting strategies such as outsourcing and rollbacks in quality assurance found themselves ill prepared for future opportunities. The new research suggests that those enterprise organizations that continue to invest in critical IT areas such as software development, virtualization, and core lifecycle solutions will be better positioned for the next cycle of growth and expansion.”
One of the key findings/recommendations of the report: Invest in virtual lab automation. Again from the above source: “The virtues of virtualization are well documented but less known are the benefits that can be realized by deploying virtual lab automation technologies to streamline the software testing process;”
Virtual lab automation solutions like VMLogix LabManager are used to manage internal/private clouds in the enterprise. The figure below demonstrates a typical deployment of VMLogix LabManager and the private cloud that is managed by it.
Users (e.g., developers, testers, support staff, pre-sales, demo, training etc.) connect to the LabManager server using a web browser. The LabManager server manages a set of virtualization hosts. The virtualization hosts are connected to shared storage; and the shared storage is used to retain the VM templates, VMs, clones and other lab artifacts such as user scripts and licenses.
Users can self-serve their lab infrastructure requirements through LabManager. For e.g., a user testing software can request or create a n-tier configuration which can then be deployed on any of the virtual hosts.
On the other hand, LabManager administrators maintain overall policies and administration control over the deployment. VMLogix LabManager in addition handles the license compliance on the deployed VMs and the sharing of VMs between the multiple users. In addition users can use LabManager to IP Zone (network fence) the configurations. Storage use is optimized through the use of delta-disk technology (linked clones) and administrators can maintain overall user quotas.
These capabilities enable lab administrators to deploy a lab self service framework, where lab users can access and create the required infrastructure (for testing, demo, training etc.) with minimal or no administrator intervention required.
Virtual Lab Automation and the Private Cloud
Here is a brief demo of a self service environment enabled by a virtual lab automation solution:
Most software testers focus on executing functionality, stress, load, performance, unit etc. type of tests. These are predominantly tests of the software being built that is certified/tested against certain hardware and base software stacks and platforms (configurations). There are a set of pre-defined (pristine) test environments (e.g., an OS, database, browser, network connectivity etc.) under which the developed software is installed and these tests are executed and evaluated.
However, as software testers, do you spend time tweaking the test environment setup (e.g., exploratory testing via client browser settings, multiple versions of databases existing on the server, network settings, previous versions of the software already installed and running etc.) and checking if ’stuff works’ with the developed software? How important do you think it is to test software under various (unchartered) system configurations and setup?
[Update] — I have posted this question on the Software Testing Club as well (including some clarifications on the question). Other testing experts are chipping in and talking about it here.
All major virtualization platform vendors offer a cheap (some even free) solution that allow you to run multiple virtual machines on your desktop. Examples include VMware Workstation, Microsoft Virtual PC and Sun’s VirtualBox.
While desktop virtualization products offer a ‘quick and dirty’ solution for some testing infrastructure needs, they fall short when virtualization is to be truly leveraged across the software labs. [Side note -- I have also written about why only a basic hypervisor alone is not sufficient for lab requirements in the past].
If you are currently getting by with desktop virtualization for your testing needs, maybe it is time for you to start looking at centralized virtual lab automation solutions. Virtual lab automation (VLA) solutions such as VMLogix LabManager and VMware Lab Manager are management systems by which recurrent labor-intensive manual tasks necessary in test and development labs can be automated and by which test and development lab processes and infrastructure can be streamlined and centrally managed.
Here are the key benefits of implementing a centralized virtual lab infrastructure instead of relying on individual desktop virtualization solutions:
Virtual lab automation solutions and desktop virtualization
Shared Infrastructure
Allow all your lab users to leverage the central library of templates and other lab artefacts (scripts, licenses, software etc.). Save your lab users’ time and avoid re-work
All infrastructure (hosts, storage, user access) is managed by the lab admin; users can access the lab in a self serve manner and focus on the testing
Collaboration – VLA enables the sharing of multi-machine configurations and other lab artefacts among users/teams making it easy to drive synergies in the software engineering efforts
Expand the lab use beyond just the testers and developers – bring support, pre-sales and training staff to use the central lab infrastructure effectively. This helps grow the lab user base
Scalable Infrastructure
Access to enterprise server grade infrastructure (CPU, storage) to run complex resource intensive jobs (prolonged jobs can be run on the host server farms with no impact to the desktop machines)
Ability to leverage and use network fencing – i.e., the ability run multiple copies of a multi-machine configuration in parallel without any IP/MAC address conflicts
On the other hand, here is the key benefit of using desktop virtualization.
Independence
Desktop virtualization provides the ability to access the VMs anywhere even when you are not connected to the lab
How is your infrastructure for the testers/devs in your team setup currently? What are your experiences?
In a previous post, we talked about a framework to estimate cost savings from virtual lab automation solutions. The framework estimates time savings (and then translates it into corresponding $ savings) in your specific environment as virtual lab automation solutions can be used to accelerate software delivery and improve software quality. However, we only briefly touched upon the IT lab infrastructure cost savings.
As a continuation to the previous post, the figure below captures the elements of virtual lab management and automation solutions that enable IT cost savings. As a lab administrator / test team manager / software project manager you should be able to estimate the savings in your lab along the two dimensions shown – lab utilization and storage. These are tangible benefits of implementing a virtual lab solution (which are enabled by the features of VLA shown in the green boxes) and the costs savings can be realized from day 1.
Virtual Lab Management and the IT cost saving elements
VMLogix LabManager has many key features and functionality that differentiate it from VMware Lab Manager. You can find the entire list of differentiators here. The support and integration with the IBM Rational toolset is one such differentiator.
VMLogix LabManager is certified as being
VMLogix recently recorded a webinar that described and demo-ed the integration of IBM Rational Build Forge with VMLogix LabManager. This captures a flavor of the use and leverage of server virtualization in the automation of various application lifecycle management aspects (software testing, build management and automation etc.). VMLogix LabManager also offers integrations with Rational ClearQuest and the upcoming Rational Quality Manager (RQM).