TAG | Synthetic Monitoring
Recently Jonah Kowall of Gartner released a research note titled “Use Synthetic Monitoring to Measure Availability and Real-User Monitoring for Performance”. After reading this paper I had some thoughts that I wanted to share based upon my experience as a Monitoring Architect (and certifiable performance geek) working within large enterprise organizations. I highly recommend reading the research note as the information and findings contained within are spot on and highlight important differences between Synthetic and Real-User Monitoring as applied to availability and performance.
My Apps Are Not All 24×7
During my time working at a top 10 Investment Bank I came across many different applications with varying service level requirements. I say they were requirements because there were rarely ever any agreements or contracts in place, usually just an organizational understanding of how important each application was to the business and the expected service level. Many of the applications in the Investment Bank portfolio were only used during trading hours of the exchanges that they interfaced with. These applications also had to be available right as the exchanges opened and performing well for the entire duration of trading activity. Having no real user activity meant that the only way to gain any insight into availability and performance of these applications was by using synthetically generated transactions.
Was this an ideal situation? No, but it was all we had to work with in the absence of real user activity. If the synthetic transactions were slow or throwing errors at least we could attempt to repair the platform before the opening bell. Once the trading day got started we measured real user activity to see the true picture of performance and made adjustments based upon that information.
Can’t Script It All
Having to rely upon synthetic transactions as a measure of availability and performance is definitely suboptimal. The problem gets amplified in environments where you shouldn’t be testing certain application functionality due to regulatory and other restrictions. Do you really want to be trading securities, derivatives, currencies, etc… with your synthetic transaction monitoring tool? Me thinks not!
So now there is a gaping hole in your monitoring strategy if you are relying upon synthetic transactions alone. You can’t test all of your business critical functionality even if you wanted to spend the long hours scripting and testing your synthetics. The scripting/testing time investment gets amplified when there are changes to your application code. If those code updates change the application response you will need to re-script for the new response. It’s an evil cycle that doesn’t happen when you use the right kind of real user monitoring.
Real User Monitoring: Accurate and Meaningful
When you monitor real user transactions you will get more accurate and relevant information. Here is a list (what would a good blog post be without a list?) of some of the benefits:
- Understand exactly how your application is being used.
- See the performance of each application function as the end user does, not just within your data center.
- No scripting required (scripting can take a significant amount of time and resources)
- Ensure full visibility of application usage and performance, not just what was scripted.
- Understand the real geographic distribution of your users and the impact of that distribution on end user experience.
- Ability to track performance of your most important users (particularly useful in trading environments)
Synthetic transaction monitoring and real user monitoring can definitely co-exist within the same application environment. Every business is different and has their own unique requirements that can impact the type of monitoring you choose to implement. If you’ve not yet read the Gartner research note I suggest you go check it out now. It provides a solid analysis on synthetic and real user monitoring tools, companies, and usage scenarios which are completely different from what I have covered here.
Have synthetic or real transaction monitoring saved the day for your company? I’d love to hear about it in the comments below.Link to this post:
At AppDynamics we’re always looking to partner with vendors that can significantly enhance the visibility we provide our customers when it comes to managing application performance in production. One area we see synergies is in synthetic monitoring and load testing, specifically for the next generation of cloud and mobile applications. So when Apica, the performance and load testing company for cloud, web and mobile applications came to us to join forces, we were stoked.
On June 26th, Apica and AppDynamics announced a partnership to provide DevOps an integrated monitoring solution to gain 10x visibility into application availability and performance, with the power to identify the root cause of slow downs and outages in as few as 3-clicks.
We’ve seen how development agility can be directly proportional to production fragility. Reproducing complex, distributed production architectures in test is tough, because data volumes, computing resource and user behavior always differ. This is why many organizations are starting to test application performance in production, so they can stress test out-of-hours and pro-actively identify severity-1 incidents before end users and the business is impacted.
Monitoring visibility across geo-locations, browsers and mobile devices
Giving DevOps the visibility they need to see how their applications perform, in production, under load, across geo-locations, different browsers and mobile devices helps DevOps be pro-active in managing application performance. This is where Apica’s synthetic monitoring and load testing products helps organizations understand how an application is performing from an end user, location, browser or device perspective.
“Users expect a fast and reliable web, cloud, and mobile experience. Every second delay can cost businesses valuable customers and revenue,” says Sven Hammar, CEO of Apica. “Together with AppDynamics, we’re providing users with best-of-breed solutions to ensure uptime and availability for revenue-critical applications. They’ll have the most complete understanding available of the metrics that are powering or causing problems for their applications so they can take measures to improve performance.”
AppDynamics integrates with the following three Apica products:
Apica WebPerformance – Verifies the performance and availability of your mission-critical applications from over 80 different locations world-wide.
Apica ProxySniffer – Automates creation of load test scripts and scenarios by recording real end-user traffic
Apica LoadTest – A cloud-based load testing tool for your mission-critical applications
You can access the Apica portal via any web browser or mobile device. Thru this new partnership AppDynamics real-time monitoring data is now seamlessly available in Apica portal, so DevOps can now drill-down a level further to understand the root cause of slowdowns and availability issues.
Like AppDynamics, Apica has similar synergies to application performance management (APM):
Complete Lifecycle Visibility - We have customers that deploy our solutions in both production and pre-production environments. For Apica, scripts used for load testing thru LoadTest can also be applied to WebPerformance as well to test application availability and performance in production.
Real-time monitoring – understanding the true end user experience 24/7; specifically around business transactions and the application infrastructure, so pro-active alert notifications can be sent to DevOps when service degradation is identified.
Built for the Cloud – Apica LoadTest is cloud-ready so organizations can automate load tests and find the optimal configuration for their cloud deployments.
Below is a short clip of the direct integration of AppDynamics with Apica allowing DevOps to monitor all of the business transactions and system resources in real-time. There is also contextual business transaction drill-down that takes a user from the Apica portal into the AppDynamics user interface so the root cause of performance issues can rapidly found.
You can start your free trial with Apica’s performance and load testing solution by clicking here. For more details on monitoring your applications with Apica and AppDynamics, please visit Apica’s AppDynamics partner page.
Link to this post: