Application performance monitoring focuses on monitoring the user experience of cloud services and applications. There are two generic, low impact methods of monitoring. One is based on what is called real user monitoring; the other one is based on so called synthetic monitoring. What are the differences and how do you select the best application performance monitoring methodology for your specific situation? In this blog we give an introduction to both methods, including their pros and cons.
Different approaches to application performance monitoring
The goal of real user monitoring is measuring the user experience as realistic as possible. There are two ways to make this work: either via a software agent installed on the end-user devices or via one or more probes placed on strategic points in the network.
At the bare minimum the goal of synthetic monitoring is measuring the availability of an application chain. As an added benefit: with this approach you are also well positioned for monitoring the availability of a business process. To make this work, a software agent is installed on two or more dedicated end-user devices. This agent simulates user behavior as recorded in a script which is executed at regular intervals; e.g. every 15 minutes
Real user monitoring with agents on the device
Running a software agent on the end-user device allows capturing everything that happens on the device. This can be the applications a user started, the user transactions within these applications and the workload of the client
Real user monitoring of web applications
If your organization is only using web applications you can use a software agent based on a java script which measures the performance of the client when rendering the content of web applications. Since this script only runs within a browser this approach does not give you visibility on the applications a user has started; nor does it give you visibility on the workload of the client during this rendering. Analyzing problems is limited to issues that are related to the devices and browser, so if issues are related to other areas additional monitoring approaches are required to figure out what is happening.
Real user monitoring with probes in the network
Well positioned probes in the network allow you to monitor all applications and cloud services for all users all the time. For this, it obviously is expected that these cloud services and applications use the network on a regular basis. This type of monitoring has the least impact on your infrastructure because the data collection method is 100% passive and doesn’t require software or scripts. In addition it gives you the broadest capabilities when analyzing availability and performance problems: is it the client, the network or the server? If a combination of those to what extend each?
Synthetic monitoring is about simulating user behavior recorded in a script, which takes care of 3 things: starting an application and its transactions, timing/validating the results and error recovery. Running such a script 24×7 gives you a good understanding on the availability of a given application chain, as well as insight into the performance differences between office hours and non-office hours. Of course you may ask yourself how relevant application availability is, if nobody is working with it. In other words: how does this contribute towards your Service Level Objective? Another application for monitoring scripts is load testing: running a script with as many users as possible is a good indicator for what a certain application chain can handle.
Which method of application performance monitoring?
Each of the application performance monitoring approaches has its pro’s and con’s and both approaches complement each other. The simulated, scripted approach may not reflect what users are actually doing and experiencing. If users are complaining about applications performing slow or not working at all, it could very well be that the outcome of synthetic monitoring shows everything is in the green. In which case the real user monitoring results are needed to figure out what is actually failing.
Real user monitoring is a good thing for its troubleshooting capabilities. The synthetic approach is best suited for monitoring the Service Level Objective of application chains and specific business processes.
Can we help you?
Do you want to learn more about application performance monitoring and the way it can help you improve end user productivity and satisfaction and achieve your SLO’s? Then contact us, or request the more extensive article on this subject. You will receive if you leave your name and e-mail address here below.