Companies all around the world rely on business applications to execute critical transactions all day, every day. There’s no such thing as a normal day, unusually high demands such as promotional or seasonal trading can be a regular occurrence, making it crucial that these applications’ environments are constantly prepared for the extreme.
Those who are unprepared are vulnerable to service outages, customer dissatisfaction and trading losses - and often when it hurts the most. Successful businesses understand the need to assure service and application availability if they want to retain customers, deliver excellent service and take maximum advantage of the opportunity their market offers.
The solution of stress or performance testing, to simulate peak loads in both the application and the application infrastructure, is well proven - although preparedness often comes at an initially high cost. Buying performance test software tools, deploying and maintaining client and server infrastructures to simulate the load, plus development of simulation scripts, user expertise and time, it all adds up.
There is a new alternative, however, which will significantly reduce both the initial and ongoing costs, without compromising on any of the rigour that is required to ensure availability in even the most extreme performance scenarios. It’s called cloud-based performance testing.
By allowing test teams to instantly deploy existing performance test scripts to cloud-based load generators, the load is created on pre-configured systems provisioned in the cloud. This eliminates the effort and cost related to extending the on-premise test infrastructure which only the highest load scenarios would need.
In addition, these cloud-based services also provide a diagnosis of any performance problems which are encountered, giving teams the detailed diagnostics they need to identify the nature and location of the potential problems. Combined with an on-premise performance monitor, it’s straightforward to understand the demands on the server infrastructure in the data centre, providing end-to-end transparency.
The cloud-based resources offer many benefits when utilising the platform for testing. These include:
Cloud-based infrastructures are extremely well-suited to generating the peak demands required for enterprise performance testing. The sheer size of cloud data centres ensures that sufficient computing power is available as you scale from 50,000 to 100,000 to 200,000 virtual users and beyond. Peak load testing via the cloud also takes advantage of the ability to run tests virtually on-demand. You can simply schedule time for a test and resources are automatically provisioned. This makes scheduling more flexible helping to prevent what are often long delays as internally managed hardware is deployed and verified.
The global nature of cloud data centres means that tests need to be carried out across different geographies. The cloud allows replication of virtual users in a variety of locations to test international performance. Cloud providers and test solutions can provide evaluations of applications’ global readiness.
The elasticity of the cloud means that you can scale computing resources up or down as needed. Using utility-style pricing, you are only paying for what you use. In a traditional solely on-premise model, a company would have to acquire computing power to support very large user tests for the lifetime of the application.
Enterprise application coverage
While many applications today are entirely browser-based, that is not often the case for large enterprise applications. This means that you need to test multiple routes to a system for completeness, especially considering the growing number of applications now also deployed to a variety of handheld mobile devices.
Using a hybrid model which integrates on-premise and off-premise scenarios and test infrastructures is often necessary. As a result, it is important to determine early on if a mixed model is required - that combines Internet protocols with support for .NET, Java, Oracle, SAP, Siebel, COM and other enterprise application protocols. Cloud-based testing is the best environment for testing web 2.0 applications using standards like AJAX, Silverlight and Flex, as more computing power is required to perform these more complex tests.
Performance testing is imperative for applications to perform as expected in the real world. In particular, business critical applications need thorough testing to ensure they can bear the stresses and strains of the varying demands that companies have for their products and services. Combining cloud capabilities with traditional approaches provides the optimal model to achieving high confidence in production performance, with better agility and economy than using traditional methods alone.
Posted by Chris Livesey, EMEA Vice President of Borland Solutions, Micro Focus