Application Performance Monitoring (APM) tools continues to be one of the fastest growing tool categories in the enterprise, with growth expected to sustain over the next 5 years. Many new entrants have disrupted the market over the past decade, with new developments from New Relic, AppDynamics, and Dynatrace to cater to new distributed, cloud environments.
Why is Everyone Talking About Monitoring?
Both Cloud Load Testing and APM tools collect valuable metrics on the performance of the application under test. Collecting metrics on your applications performance is critical to success in the current era of software development for a number of reasons:
- Applications are becoming more and more complex, with a greater number of components in the typical application. Monitoring helps us to know not only if something is broken, but pinpoint where that error might be stemming from
- Teams are developing at a faster and faster pace thanks to DevOps, with a greater chance to deliver code that might slow down the application or even bring it down completely. Well implemented monitoring is essential in identifying these problems early and measuring a baseline to compare performance against over time
- Performance is becoming a central metric in user satisfaction and conversion, and even minor regressions or outages can cause massive spikes in lost revenue. Catching performance issues before they are detectable to the human eye is only possible with the proper tools in place.
What Metrics Do Cloud Load Testing Tools Capture?
Load Testing tools collect metrics on the front end performance of the application, as is measured through components like the UI or API. Common metrics collected by cloud load testing tools include:
- Response time: time from the start of a request to the application to the completion of the request. Depending on the tool used, this could be measured as the API response time or the complete UI response time
- Latency: time from the request being made to the first byte being received. This is a measure of the time to reach the server from the server where the test is being executed
- Transaction rate: # of overall requests made to the application, as well as statistics about the types of transactions to measure successes vs. failures
What Metrics Do APM Tools Capture?
APM tools collect metrics on the back end performance of the application, typically measured by installing agents on the servers that host the application. APM tools can collect a wide variety of statistics including:
- CPU: utilization of CPU resources on the server being monitored, looking for events that cause unexpectedly high use of the available processing power
- Memory: utilization of memory resources on the server being monitored, as well as investigation of potential memory leaks happening over time
- I/O: the amount of transactions going in and out to the storage on the server, to see if any bottlenecks exist in reading and writing data
Why APM + Cloud Load testing Are Better Together?
With an integrated solution of both front end and back end monitoring, it is possible to correlate front end performance to back end statistics into a single view. Often times, front end metrics will act as a symptom of a potential back-end issue. Back end monitoring will help to pinpoint the problem to resolve the issue at hand.
Let’s walk through a typical end to end scenario to show the process of using these two tools in parallel:
- In the cloud load testing tool, a scenario is identified to test the application. This might be designed based off areas of performance concern identified through the APM tool
- The cloud load testing scenario is calibrated to be run with representative load that simulates a real world use case. This traffic pattern will often be measured through tools in the APM suite that can capture metrics about the application’s audience
- The scenario is executed, and the cloud load testing tool collects front end metrics on the performance of the scenario from the front end/client perspective. This may uncover bottlenecks in the application where additional load is leading to large increases in response time or performance
- With a proper integration, the statistics from the cloud load testing tool may be replicated in the APM tool. This will allow the APM user to quickly line up the point in time where the front end performance was impacted, and search for related back end issues that may have caused this problem
- Once the problem has been identified in the APM tool, the team can update their code and/or infrastructure set up. A quick build in the continuous integration will quickly return trigger the cloud load testing tool to re-execute the scenario and validate that the issue has been resolved.
Getting Started with Cloud Load Testing and APM
Flood is the leader in Cloud Load Testing, with support for the leading cloud providers. We are excited to announce we have just recently released out-of-the-box integrations to the most popular APM tools, including AppDynamics, Dynatrace, and New Relic.
Anyone using one of these APM tools can provision a free trial of Flood in less than 5 minutes. Once in the trial, you can head to the integrations area to integrate your APM tool and create a complete view of your application’s performance.