Why automate a test data center? It's a relatively simple question with a complex answer. Technology organizations face mounting pressure to deliver applications and services on time and under budget, as the rising influence of public cloud firms, enabled by highly automated infrastructure, has created new baselines for IT agility and efficiency.
At the same time, it has become increasingly clear that the principles of agile should apply to more than just development. Testing must also be in the picture, which brings us back to the original question. A test lab is, at the most basic level, a significant investment in infrastructure (and space/real estate), with considerable CAPEX as well as ongoing costs for electricity and maintenance.stion. A test lab is, at the most basic level, a significant investment in infrastructure (and space/real estate), with considerable CAPEX as well as ongoing costs for electricity and maintenance.
If it lacks DevOps automation, its only a cost center and quickly becomes an agility boat anchor that can drag the organization down. So how can it be remade in light of the current agility imperative?
The problems that technology organizations face with test labs: Mixed infrastructure, strained resources
While the cloud is a ubiquitous topic when discussing the future of IT, using public cloud IaaS and/or PaaS for testing is still fraught with risk and simply not a viable option for many organizations. Infrastructure on the ground is often a mix of legacy, physical and virtualized systems that is not easily turned into virtual only versions and corralled into an automated whole that can be stuffed into a public cloud platform.
This gap between the ideal and the reality of infrastructure has led to attitudes such as the one outlined by the authors of the book "Implementing Automated Software Testing." That's to say, although most engineers and line-of-business managers alike see automation as beneficial (the authors cited 70 percent affirmation among the 700 respondents to their global survey of test engineers), but many of them have encountered major obstacles during implementation.
In addition to the heterogeneous infrastructure we mentioned above, there's limited time, tight budgets, insufficient expertise and incompatible tools to go up against when trying to achieve automation. Still, in the background there is the increasingly attainable goal of leveraging DevOps to shorten time spent firefighting low quality software after its made it onto the infrastructure, areas in which DevOps has been shown to outperform traditional IT methodologies.
Manual operations lead to wasteful processes: The rising stakes for test lab automation
In lieu of automation, manual processes rule the day, resulting in low utilization and skewed setup/testing time ratios. Setup can take four times as long as actually running a test, resulting in high power usage, low device utilization (e.g., 20 percent, with millions of dollars of equipment in place) and frustratingly low productivity. Demand for test lab and data center capacity is rising as organizations look to support innovation initiatives and faster response to market demands, security issues, etc. but these inefficiencies mean that gaining testing throughput requires fresh CAPEX for expanding facilities plus the attendant OPEX.
Much of the time of IT lab engineers, even experienced ones, is mostly wasted on low-level provisioning tasks in setting up testbeds, such as creating physical network and logical connectivity between servers and storage devices or changing operating system versions. Product and service releases are delayed by drawn-out, overly repetitive and laborious testing cycles, preventing an organization from utilizing its labs as strategic assets on the road to agility.
Addressing the problem requires a comprehensive network orchestration and automation solution. Organizations need something that is suited to hybrid infrastructure environments, yet designed to meet the expectations of the cloud age. More specifically, such a tool would include:
- Abstract management of inventory and resources in a hybrid data center. Everything from physical servers and switches to private and public cloud resources must be able to be searchable and deployable via software. Of course, physical resources should synchronize with DCIM inventory that is usually already in place.
Drag-and-drop creation of environments including arbitrary network topologies and DevOps sandboxes. These environments can be saved as templates and then modified via automation to meet user parameters.
Cloud-like, catalog-driven, web-based interface for single-click spin-up of entire testing environments. This puts users on equal footing no matter their location or timezone.
A reservation and scheduling system to ensure the most efficient and contention-free utilization of the shared infrastructure resource pool. This is particularly important for development and testing cycles because many users need to rapidly and dynamically allocate, user and release resources for there to be high productivity and asset efficiency.
A DevOps-friendly cloud management and lab automation solution like CloudShell enables the agility that have become table stakes in today's landscape. Organizations cannot afford to pull the boat anchor of excessive manual processes, but fortunately with CloudShell they have an answer to the significant challenge of automating complex infrastructure environments for development and testing purposes.
The takeaway: Automating a test lab is imperative in light of the growing pressure on organizations to become agile in order to increase the pace of innovation, speed time to market, maximize utilization of significant CAPEX investments, minimize OPEX and achieve optimal engineering productivity and quality outcomes. An automation solution like CloudShell addresses the challenges of automating hybrid infrastructure in order to get products and services to market more quickly.