This post was written and contributed by Randy Hayes, CEO and Co-Founder of Capacity Calibration, a Rackspace Cloud Tools Partner.
One of the key benefits of cloud computing is the on-demand capacity it provides for either expected or unexpected surges in traffic. There’s a Catch-22 here, which is that nobody knows when they will need extra capacity or how they will handle it without testing, and fortunately the cloud itself provides the solution – the ability to handle extra capacity and the ability to generate it go hand in hand.
Capacity Calibration, or CapCal, was designed for the cloud of the Internet itself, and for several years it used the seti@home model where people from all over the world downloaded the CapCal agent and received $0.30 per hour that their computer was used for testing. While this allowed some very large tests to be run, $0.30 is 10 times the cost of a 256MB Rackspace Debian Linux instance and far less reliable (since agents on the Internet can drop out or check in at any time). So now, rather than having a network of over 15,000 computers with no more than 10% to 15% being online at a given time, we can spin up as many as we need on the Rackspace Cloud in less than 3 minutes and tear them down when finished testing.
Clearly the emergence of cloud computing gave CapCal a superior platform for load generation, but the fact that is was designed for the cloud in the first place has given us a decided advantage – testing the scalability of a solution designed to test scalability is another Catch-22, and fortunately we were able to encounter and solve these issues early on. Because of its distributed, Web-based design we have been able to run tests in excess of 300,000 users delivering several million hits per minute requiring over 500 agents.
The CapCal agent running on the Rackspace Cloud takes less time to start up than the Windows desktop I use for development and its available bandwidth is far greater than what 99% of all the older CapCal agents ever had. This means we can generate way more virtual users per agent without affecting the test results and this helps to keep costs and complexity way down. For example, NASA used CapCal to prepare for the first live broadcast of its shuttle launch in 2001 and the average agent bandwidth was only 56k, so what took over 1000 agents to generate in those days can now be done with 50 or less. But 50 is still a big number when it comes to physical boxes, and once again the cloud solves the problem simply and inexpensively.
Using the Rackspace Cloud API, a new instance of the CapCal agent is fired up in a minute or two at the most and reports directly to the CapCal server, which can handle up to 1,000 agents in its base configuration. Each agent can generate anywhere from 200 to 1,000 virtual users depending on the bandwidth requirements of the application under test, so the kinds of tests that most people need to run (500 to 5,000 users) will require just a handful of agents.
Thank you, Rackspace Cloud, for helping to reinvent the industry and making the sky the limit of what we can do in web application testing!