Cloud hosting providers with any degree of scale should have an application load testing product offering. In fact, I think it has the potential to be a killer app for cloud hosting companies.
Load testing has traditionally been a painful process and inefficient process from a time and cost perspective due to challenges around traffic generation and scaling.
There have been typically two options for the traffic generation aspect of the load test:
- Buy a bunch of servers to make into a traffic generation farm, buy some software (e.g. Mercury Interactive) to automate the testing, and tie it together by hand. This is no fun, no matter whose software you are using.
- Pay a load testing managed service provider (e.g. Mercury or Keynote) to provide both the testing server capacity as well as construction of the test scripts. This is less painful than #1, although you are not able to test on demand and its likely that the price you’re paying the provider is going to be negatively affected by the large fixed cost infrastructure load testing providers tend to own.
Let’s also look at a customer’s objectives during a load test.
- See how much traffic of various types the application as-configured (hardware, software, etc) can handle.
- See how much more traffic the application can handle if configuration changes are made or additional infrastructure components (i.e. more servers, bigger servers, etc) are added.
#2 is painful in a non-cloud world because a customer has to purchase or rent servers just to see how their site responds to scaling. And its even more painful if you work with a hosting provider whose business model is dependent on long term usage of server capacity to cover a large fixed cost base.
Here’s where the cloud comes in…
For a customer who has their app hosted w/a cloud hosting company, scaling is not an issue, as long as that customer is willing to take the variable cost hit of spinning up more servers to see how their app handles higher loads. No need to reconfigure existing servers or purchase new hardware! For a customer who has a traditional hosting environment but has the capability to cloudburst could see similar benefits.
Also, a cloud-based load testing platform would by definition be available on demand and less expensive to operate than a platform that lives on physical servers since the fixed cost base would be drastically reduced in the cloud case.
And here’s the best part: if I’m a cloud hosting provider who offers a load testing service (or resells one), I’m getting paid for the extra capacity that the application owner is using during the load test AND if the cloud load testing platform lives on my cloud, I’m getting paid for their capacity usage during the test as well!
Seems like a beautiful thing to me. App owners get cheaper, more flexible load testing capabilities, load testing companies get paid, and the cloud hosters get paid twice!