Problem solve Get help with specific problems with your technologies, process and projects.

Cloud computing breathes life into test and development

Test and dev departments often draw the short straw when it comes to hardware and resources. In some cases, performing test and dev in the cloud makes more sense than keeping it internal.

Building a corporate IT test and development lab traditionally meant having to struggle with older hardware, clunky...

machines and an uncertainty in overall system integrity. As cloud computing technologies have evolved, so have lab environments. And building a test and dev lab in the cloud has its benefits.

Performance tests, link evaluations, resource allocation and workload development should all be done with the end-goal in mind.

Rich Brumpton, virtualization director, MTM Technologies

Building an entire environment from the ground up for test and development as well as lab work is time consuming, said Rich Brumpton, virtualization director at MTM Technologies, an integration services provider headquartered in Stamford, Conn. Cloud computing allows IT teams to skip the first few steps.

By using pre-existing hardware at a centralized location, engineers can build technologies directly in the cloud with global access.  "Using [public or private] cloud-based labs allows for the rapid provisioning and de-provisioning of sometimes valuable resources, " Brumpton added. Running test and dev in the cloud allows IT managers to ramp up additional resources on-demand -- without affecting production environments.

For example, if an enterprise has 15 locations across the U.S., each location could have its own team of IT engineers specializing in virtualization, server management and deployment, cloud architecture and design, as well as SAN management. Before the cloud, teams would work on segmented, loosely connected lab environments scattered across the country. By launching test and dev in the public cloud, the entire IT team can conduct calls, trainings, demos and software tests in one environment. Because hardware management is not a major concern, the IT team can focus on developing the IT business strategy.

Launching a test and development lab in a public cloud also gives enterprises the opportunity to test the waters. IT managers can choose which applications to launch in the cloud and monitor performance and usage spikes accordingly. In these situations, administrators can test out new software and development iterations with the option to rollback to previous versions as needed.

What to look for in cloud-based test and dev
Like any major cloud initiative, careful planning must happen before you spin up new virtual machines. Every enterprise is unique, so thorough planning has to be done before you can turn on any cloud-based application. Carefully search for a good Infrastructure as a Service provider that best fits your needs.

Products from vendors like Terremark, Ubistor or Rackspace vary greatly; do your research to determine which can provide the best demo or lab environment. For an enterprise that's ready to test out a series of applications or workloads, but isn't ready to invest money into hardware, IBM's development and test cloud or Amazon's Elastic Compute Cloud (EC2) are two other options.

IBM's Smart Business Development and Test Cloud, for example, gives enterprise running an internal test and dev lab access to resources via the company's scalable cloud delivery model.

In that vein, EC2 allows enterprises to rent virtual computers and run their computer workloads on them -- launching applications through a Web portal. That virtual instance is a perfect environment for test and development software. EC2's flexibility means that enterprises can create, launch and terminate server instances, as needed, paying per hour for active servers.

When it's time to move out of the lab 
To understand cloud-ready environments, you will also need to know some key architectural requirements of a cloud-based test and development lab. Ask yourself:

  • What hardware will be used and is it capable of achieving our lab/demo objectives?
  • Which backend resources do we need before any servers or workloads are installed? These resources will include both wiring and cabling considerations, SAN and storage technologies, rack space, and so on.
  • What workload will we place in the cloud? If the test environment requires a lot of bandwidth, plan for it. Make sure the cloud lab design includes careful planning for the WAN link. Poor planning around the external pipe may result application performance degradation.

Once you have established a solid test and dev lab in the cloud, you can look to include additional features like automation and template creation.

Be sure to ask yourself,  "Why are we building a test and dev lab in the cloud? " By simply throwing a lot of new technologies into a shiny new cloud, you may have an impressive environment on paper. However, with a poor design phase, that lab could run into persistent problems.

 "A poorly planned lab may be sufficient for some functional testing. However, performance tests, link evaluations, resource allocation and workload development should all be done with the end-goal in mind," Brumpton said. "IT teams should have a solid grasp and understanding of how the data will flow when it is placed in its final geographical location, and whether that application should actually reside in a public cloud or private cloud."

Bill Kleyman, MBA, MISM, is an avid technologist with experience in network infrastructure management. His engineering work includes large virtualization deployments as well as business network design and implementation. Currently, he is a Virtualization Solutions Architect at MTM Technologies, a national IT consulting firm.

Dig Deeper on Cloud application development