Enterprise Cloud Computing
Dos & Don’ts of Load Testing in the Cloud By @Neotys | @CloudExpo [#Cloud]
The cloud allows you to achieve a degree of realism with your performance and load testing
Mar. 15, 2015 11:00 AM
As the cloud continues to grow as a topic of conversation, so too does load and performance testing within the cloud. You may be asking yourself questions like: When is it most appropriate to involve the cloud when load testing? When is the right time to conduct performance testing using the cloud? How can cloud load testing benefit my company?
What should I do and what shouldn't I do?
This week at Neotys, we've decided to briefly cover a few benefits of load testing in the cloud, but also want to unearth what you should consider doing (or not doing) in your future cloud testing projects.
Use The Cloud for the Most Realistic Load Tests
The cloud allows you to achieve a degree of realism with your performance and load testing that is virtually impossible to achieve any other way. That gives any web or mobile application that has gone through a cycle of cloud-based performance testing a distinct advantage. The cloud provides for a geographical distribution of simulated users that mimics your real-world users. It also provides for almost limitless scaling of load generators. Cloud-based performance testing also lets you easily test the entire delivery chain, including your outermost firewalls and load balancers. For on-site testing, these types of capabilities may be difficult to acquire.
The cloud is also more cost-effective and time-friendly. On-premise testing often requires an administrative team to set up, maintain and manage the load testing infrastructure. Of course, you'll need to buy and maintain actual machines, whether or not you use them on a regular basis. Cloud testing reduces a lot of red tape. You can set up the testing infrastructure as you need it and pay as you go.
On-Premise Load Testing Still Has a Purpose
But don't throw away your internal testing apparatus - by any means. You definitely benefit from both types of testing. Your on-premise performance testing systems are much better suited for determining baseline performance. Plus, they should be your go-to platform for troubleshooting an easily-reproduced bottleneck, or testing internal componentry. The trick is knowing when to use your own systems, and when to use the cloud.
Cloud load testing is an essential part of your load testing strategy, and we at Neotys feel your pain as it can be difficult to know exactly how to best deploy it. To help make things clearer, we've decided to compile a brief list of do's and don'ts on cloud performance testing. Hopefully, it un-clouds your opinion on load testing procedure!
Indispensable Do's and Don'ts for Cloud Load Testing
|DO distribute load generators geographically, emulating where your site users are actually from. This creates more realistic tests, which give you better insight into any performance limitations of your web applications.
||DON'T simply replicate your local load generation setup in the cloud somewhere. You'll need the enhanced capabilities that come with a integrated cloud platform. NeoLoad offers an on-demand, easy setup to save you some headaches.
|DO separate your load generators from your application. Serve them up from completely different environments.
||DON'T run your load generators in the same cloud as that behavior is almost guaranteed to contaminate test results.
|DO maximize the benefits of using the cloud where it works best, and internal systems where they work best. The cloud is ideal for simulating real usage scenarios and running complex tests with many transactions. Once you have isolated the problem and can reproduce it effectively, switching to a local system may be a more efficient way of squashing the bug.
||DON'T eliminate your local testing infrastructure. As noted earlier, it still has an important purpose. You will need it to isolate effects from infrastructures beyond your firewall and identify solitary sources of performance slow-downs.
|DO maintain a central dashboard for all the testing activities. When you move to the cloud you can have tests running all over the place and you definitely don't want to lose track of them. Make sure all your testing is coordinated and keep track of it through a good, centralized platform.
||DON'T ignore the meter! If you are using the cloud, you are probably paying for usage (that includes CPU cycles and network bandwidth). A long-running, high traffic load test could end up costing more than you expected, if you aren't careful.
|DO use multiple cloud vendors. Different services have different characteristics. By using a wide variety, you'll end up with more realistic usage scenarios. NeoLoad's cloud testing platform allows you to access a range of cloud vendors, while avoiding the hassle of dealing with multiple providers.
||DON'T procrastinate on keeping your tests up-to-date. When using multiple cloud vendors, it's possible to lose track of testing scenarios and application versions. Keep things synchronized between all the environments used and your latest versions in development, QA, and production.
|DO integrate mobile testing. Make sure your cloud generators are using mobile emulators and exercising the parts of your app that are suited for the small screen. Make sure the right information gets translated from the correct device while testing, and analyze the effects of network variances and bandwidths.
||DON'T ignore your perimeter. When you test from the cloud, you are setting up a geographically realistic scenario that includes important perimeter elements like content distribution networks, firewalls, perimeter security, and load balancers. You'll want to monitor the performance of all these levels of technology, in addition to your court application. Remember, you never know exactly where bottlenecks may occur.
What's the Best Way to Maximize the Capabilities of Cloud Testing?
These do's and don'ts should make getting started with cloud load testing much easier, if you are doing it on your own. However, if you are looking for a great out-of-the-box solution, NeoLoad offers maximum flexibility, scalability and cost effectiveness. You'll be able to monitor performance in real time as well as ensure that your applications are meeting minimum performance levels. Quickly identify the root cause of any issue with automated reports and analytics tools. This range of capabilities provides you with the opportunity to utilize the cloud for load and performance testing in a way that truly suits and benefits your company.