In-Depth

Five Best Practices for Enhancing IT Development with Virtual Lab Automation

Software test and development labs play a key role in testing, validating, benchmarking, and evaluating new and emerging technologies.

By Srihari Palangala and Ravi Gururaj

Information technology is the environmental lifeblood of any globally distributed enterprise, and software test and development labs play a key role in testing, validating, benchmarking, and evaluating new and emerging technologies, helping to drive business growth and productivity. Although critical to an enterprise, these labs face technical and operational expectations as well as management challenges.

Consider, for example, the technical expectations placed on software test and development labs. Enterprises must periodically evaluate and test new hardware, platform software, server application software, and internal IT applications. To do so requires meticulous planning and coordination to keep a software lab environment ready for testing complex and varied equipment and software configurations. During the evaluation process, the lab performs end-to-end system testing so that error states can be easily captured and shared with external team members. As new hardware and software are integrated into the enterprise after the evaluation process, lab managers must maintain a change history of machine setup and configurations to meet compliance and audit trail requirements. At all times the lab maintains the standard machine configurations for a variety of enterprise users, including administrators, executives, power users, developers, testers and other staff.

A software test and development lab may also be used by multiple corporate departments to support their objectives. With a ready setup, the lab can be used by technical support to replicate customer issues and help drive resolution within a specific end-user service level agreement. Second, enterprise training may rely on the lab to train users as new corporate applications are introduced. Finally, the lab may be used as a demo machine during marketing events to showcase products, software, or expertise to visitors.

Management Challenges

Software test and development lab managers face many challenges trying to meet these expectations, including:

  • Global outsourcing: The trend among enterprises to outsource their IT department’s internal application development and maintenance work forces enterprise lab managers located at company headquarters to partition their test and development environments so as to provide an area remotely accessible from outside the enterprise. Lab managers must retain control of the security and management of these machines while providing a consistent engineering test bed that can be accessed and used by all outsourced partners.
  • Server sprawl: Lab managers often face difficulties in curbing the sprawl of virtual machines and consolidating physical hardware. Too many physical machines often create prohibitive space and power requirements in the lab.
  • Logical security: Lab managers must control user access to software in the lab. Traditionally, lab managers can only administer access control over individual machines, but not over who accesses and/or modifies an entire test-bed configuration.
  • Resource utilization: Given the wide array of, and continuous demand for, available test and development resources across multiple teams, lab managers must schedule resource utilization to ensure that all stakeholder demands are met. A lab manager must be able to allow users to schedule their tests and lab utilization so jobs are automatically queued and processed at the right time.
  • Availability of people and skills: Lab management requires niche skills because lab managers are not software development or test engineers. These specialized managers need a wide array of skills; they must negotiate financial terms and conditions, interface with customers, and keep abreast of technical developments, among other duties. Given these limitations and the shortage of skilled managers, it is always a challenge to find the right people, and often, those recruited for the position are given a heavy workload with few tools and little spare time.

Meeting the Challenge: Five Best Practices

Enterprises have historically resorted to deploying large labs with a sprawl of physical and virtual machines. They have wrestled with the challenges of funding, selection of lab personnel, and construction and allocation of limited physical space. As organizations grow globally and new hardware and software technologies emerge, enterprises find it increasingly difficult to keep the test and development lab up to date, efficient, effective, and relevant to the organization.

We suggest five best practices that use virtual lab automation to meet these challenges.

An emerging virtualization software technology, virtual lab automation (VLA), is a management system by which recurrent labor-intensive manual tasks necessary in test and development labs can be automated and by which processes and infrastructure can be streamlined and centrally managed. VLA ensures rapid, highly repeatable, resource-optimized deployments of complex, multi-machine build, test, and pre-production environments across virtual machines. VLA works on top of server virtualization platforms from vendors such as VMware, Citrix, and Microsoft and can integrate with existing software and hardware infrastructures to maximize existing enterprise investments.

Best Practice #1: Consolidate your test and development lab and control machine sprawl

Consolidate your physical infrastructure, test-bed scenarios, and lab resources; migrate to central lab management; and curb server sprawl using VLA. As a first step, consolidating physical machines and migrating to virtualized machines will inherently consume less power and require significantly less rack space as a direct benefit of using virtual machines. Lab managers should use VLA to centrally manage and leverage more from the various virtual machines in the lab, including re-using virtual machines and retiring those that are not utilized often enough. A central VLA solution also allows lab managers to maintain a fully auditable resource management view of the system.

Best Practice #2: Automate your test and development lab operations

Use VLA to rapidly and repeatedly provision and tear-down lab, pre-production, and staging environments in a highly automated manner. VLA empowers enterprise IT application development, test, and support teams to build, capture snapshots of, share, and deploy a pre-production or lab environment on demand.

These software-setup tasks can be automated and run with minimal user intervention. You can employ an automated approach to configure software stacks on your virtual machines. With advanced functionality (such as networking and LDAP configuration) available in VLA products, most complex corporate IT environments can be recreated in a virtual environment. Such rapid creation of clean configuration scenarios helps staff test applications and patches across a host of testing scenarios, including those involving multiple operating systems and language pack. Such applications and patches can be rolled out quickly and with less risk to production systems.

Best Practice #3: Enable collaboration and configure user access levels

Logically partition your lab with VLA to control user access to specific resources and functions. With a VLA solution managing your infrastructure, resources can be shared between individual users and between groups of users with configured access control permissions. A VLA solution can provide better logical security with configured user roles (e.g., administrator, expert users, and simple users) which the lab manager can use to restrict user action and access to various lab management functions.

Best Practice #4: Improve your resource utilization

Configure VLA to improve resource utilization between multiple teams and geographically distributed sites that use a shared test and development lab infrastructure. A core benefit of deploying a VLA solution is that you can allow lab users to schedule tasks for the lab. Combined with automation support, this is a powerful function that will help you fully utilize your resources. Outsourced and distributed teams can now seamlessly collaborate in lab environments with assurance that they are testing and developing on standard corporate IT configurations.

This shared network can be firewalled from the secure corporate network, providing the requisite security when distributed or when outsourced teams are working on a project.

Best Practice #5: Focus on improving productivity

Training your staff about the use of VLA products to improve employee productivity is critical. A management interface for the lab will ensure that engineers have a holistic view of the resources, its functionality, and its users. A VLA solution with an easy-to-use graphical user interface (preferably one that can be accessed from any terminal) and which helps automate otherwise repetitive tasks will ensure that a lab engineer’s time is optimized.

Basic familiarity with virtualization and some training on the VLA solution are required; it will ensure that fewer people are needed to run and maintain the lab. Lab managers will also have central lab usage reports that can be shared. This will assist in promoting the lab performance/charter among external stakeholders and key decision makers. With VLA, the individual IT manager’s workload will significantly decrease.

Conclusion

VLA is a technology that has demonstrated the potential to dramatically improve and simplify the enterprise test and development lab environment. Using VLA, the lab can be utilized optimally and can help support the enterprise’s strategic business goals and result in significant cost savings (and hence a strong return on investment).

- - -

Srihari Palangala is a product marketing manager at VMLogix and has spent more than seven years in software product management, marketing, and business development. He can be reached at srihari@vmlogix.com.
Ravi Gururaj is the founder and CTO of VMLogix and has over seventeen years of technology product development and management experience. You can reach the author at ravi@vmlogix.com.

Must Read Articles