Lab-as-a-service automation software offers an effective route toward lab consolidation as well as a way to enhance productivity for remote users. Many test labs today are still limited by highly manual processes for tasks such as connecting equipment to appropriate topologies. Unable to quickly access resources due to such inefficiencies, remote users often end up reimplementing test environments and jeopardizing any consolidation initiatives. More generally, lack of user-friendly interfaces encourages resource hoarding.
In part one of this series, we outlined the above issues with test labs in greater detail and began to look at how LaaS can solve the problem. As we noted, QualiSystems CloudShell, with its object-based architecture, is a best-of-breed cloud management solution, one that enables sustainable LaaS through comprehensive test lab automation consolidated in an infrastructure-as-a-service cloud. Here, we'll look at some additional best practices for LaaS and how CloudShell implements them.
Best practices for sustainable LaaS: Matching methodology to technology
Like achieving DevOps automation, building sustainable LaaS is as much about methodology as it is technology. For instance, on the technological side, the software-based automation of LaaS should be built on top of a well-documented physical connectivity environment, but, at the same time, the whole LaaS initiative should be implemented carefully, phase by phase, in order to best engage everyone from testers to other power users.
Let's start with a few technological considerations. Manual cable patching is time-consuming and problematic for streamlining test labs, but it can be mostly eliminated in LaaS by using Layer 1, Layer 2 and OpenFlow-based switching. That's assuming that data center layouts that are compliant with Telecommunications Industry Association specifications ensure that the physical environment supporting LaaS is flexible and future proof.
LaaS consolidation won't happen overnight, meaning that more successful initiatives will utilize solutions like CloudShell as part of a phased approach designed to reach easily defined, realistically achievable, sequential goals. A good initial goal might involve the use of DevOps-friendly cloud management software and switching to achieve straightforward visibility, reservation, and automated connectivity of lab resources into useable environments for both remote and local users.
From there, automated setup and teardown provisioning sequences can be introduced to free testers from time-consuming, low-level device provisioning. The goal is to reduce the overall ratio of time spent on setting things up versus doing something productive.
But productivity gains go beyond how much work the service catalog does for the users. An object-based, visual layer of LaaS automation can be implemented as a replacement for fixed scripts, which are brittle, time-consuming to maintain and bottleneck orchestration development to programmers.
Visual libraries of highly reusable objects make it possible for non-programmers to easily create and manage orchestration workflows. These libraries should be maintained through dedicated personnel with the right skills. The reason is that although the visual libraries are designed to be used by a wide range of users, the automation objects themselves require particular technical attention so that they can be maintained as a high quality, easy-to-use service. This is where having appropriate programmer personnel who can maintain this lower-level service is important to create leverage and productivity for non-programmers.
"In most organizations, economics preclude fulfilling every resource request that could be put to good use, albeit intermittently," observed the authors of a VMware white paper. "When servers or other resources are needed, they are often difficult to come by and time consuming to configure if they can be found and borrowed. And even though equipment is usually sitting idle elsewhere in the organization, it is often unavailable to those in need. With a shared pool of resources and the near instantaneous configuration capabilities of [an automated] system, servers can be … configured in seconds and put to use in ways that were never before practical."
The keys to ensuring maximum utilization of resource pools in lab environments is to abstract all resources and to provide a reservation system that automatically allocates resources based on required characteristics. This is important because if the allocation of resources isn't managed as much as possible by the reservation system, users tend to choose the same specific resources over and over again. Furthermore, without a schedule-aware resource reservation system, users can get locked into resource conflicts that lead to hoarding and productivity loss.
The modern LaaS platform: Enabling agile, infrastructure-aware continuous integration
A LaaS can enable continuous integration over complex infrastructure environments by allowing test automation to be paired with required environments that are reserved in conjunction with the scheduling of the automated tests. The availability of LaaS environments can even make the development of the automated tests an agile process, but allowing test developers to create test workflows against the live environment that they will be run on, speeding debugging and increasing coverage
A solution like Quali CloudShell helps technology organizations reach this level of efficiency, through key features such as:
The takeaway: LaaS, when built on sustainable automation, is a solution to the problems that often prevent test lab consolidation, remote user productivity and continuous development and integration. QualiSystems CloudShell provides a cloud management platform for building a self-service model for offering a catalog of test environments that can be dynamically spun up by users and automation processes.