Most enterprise application development teams use testing tools like HP LoadRunner to perform user load testing for their applications. This post discusses how you can a build a load testing lab on public cloud like AWS and Google compute where you can on-demand scale up the load generators systems and run tests on replicas of your on-premise enterprise applications.
When using testing tools, and setting up and running them on applications, vast time and effort are required to provision the system to generate the desired virtual user load. There are also limitations on the size of the virtual users load that traditional datacenter can generate with its limited internal capacity. It’s also challenging to setup isolated application environments on which these tests can be carried out.
The Operations team approaches the task by provisioning systems based on various benchmarks for the virtual user load. If they need to generate more, there is no way for them to dynamically scale up the user load beyond what has already been provisioned. Often these application developers make do with what they have or look for shortcuts. Sometimes they don’t actually meet the benchmarks set for the business application.
Load testing systems setup made fast and easy
Today there is an easy way to provision the necessary systems to generate the virtual user load and conduct the testing on isolated replicas of your on-premise applications, on public clouds such as AWS, Google Compute, HP, and Rackspace.
Using RavelloSystems, all you need to do is:
- Upload your VM images of all your application components on Ravello and replicate your enterprise network topology, including network interfaces, for your “To Be tested” application environment. Run it on public cloud.
- Upload the the system image of the systems where you generate the virtual users load.
- Decide whether you want to create an isolated set up or continue to use the HP load controllers system you have in your datacenter. (If you opt for an isolated setup, you need to upload the HP load controller system images as well.)
Now you are ready to use the existing HP LoadRunner scripts and run them on a replica of your on-premise application. The whole setup process can be completed within hours (rather than days or weeks).
Configuring your application on a platform like Ravello eliminates the need to migrate your application, which inevitably means making changes, in order to deploy it on the cloud. Once you start making changes to the application, you are violating the fidelity of the testing. With Ravello, you can clone the entire application without modification, create multiple instances, and run your tests against those instances.
This approach gives you the agility to start tests whenever you want, and run the tests in an iterative manner as many times as needed.
Scalability is simple – you can dynamically scale up or down the virtual user load on your application, by easily spinning up cluster of virtual load generator systems. Owing to the capacity of the public cloud, you can scale system up as much as you need.
If, while tests are running, your application begins to exhibit erratic behavior you can take the state of your application at that instance as a blueprint and hand it over to the dev team to further diagnose and troubleshoot any issues encountered with the specific user load. Kind of like, taking a snapshot of what happens to your application when the current user load reaches certain levels. For example, if the application has 10,000 users and you start seeing errors in a specific component, developers can go and look at the state of the log files, memory cache, and more, at that exact time. This is great advantage because you can capture multiple scenarios as blueprints and perform the troubleshooting process in parallel.
The agility and scalability for testing, together with the ability to test and troubleshoot different versions in parallel, all contribute to better and faster management of the enterprise application release cycle.
Also, check out how you can build a web UI testing lab.
About Ravello Systems
Ravello is the industry’s leading nested virtualization and software-defined networking SaaS. It enables enterprises to create cloud-based development, test, UAT, integration and staging environments by automatically cloning their VMware-based applications in AWS. Ravello is built by the same team that developed the KVM hypervisor in Linux.