Welcome!

@CloudExpo Authors: Yeshim Deniz, Zakia Bouachraoui, Elizabeth White, Liz McMillan, Pat Romanski

Related Topics: @CloudExpo, Java IoT, Microservices Expo

@CloudExpo: Article

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

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 DON'T
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.

More Stories By Tim Hinds

Tim Hinds is the Product Marketing Manager for NeoLoad at Neotys. He has a background in Agile software development, Scrum, Kanban, Continuous Integration, Continuous Delivery, and Continuous Testing practices.

Previously, Tim was Product Marketing Manager at AccuRev, a company acquired by Micro Focus, where he worked with software configuration management, issue tracking, Agile project management, continuous integration, workflow automation, and distributed version control systems.

CloudEXPO Stories
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in this new hybrid and dynamic environment.
When applications are hosted on servers, they produce immense quantities of logging data. Quality engineers should verify that apps are producing log data that is existent, correct, consumable, and complete. Otherwise, apps in production are not easily monitored, have issues that are difficult to detect, and cannot be corrected quickly. Tom Chavez presents the four steps that quality engineers should include in every test plan for apps that produce log output or other machine data. Learn the steps so your team's apps not only function but also can be monitored and understood from their machine data when running in production.
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, Alex Lovell-Troy, Director of Solutions Engineering at Pythian, presented a roadmap that can be leveraged by any organization to plan, analyze, evaluate, and execute on moving from configuration management tools to cloud orchestration tools. He also addressed the three major cloud vendors as well as some tools that will work with any cloud.
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.