Synthetic and real-user monitoring provide you an important perspective on the up-time and availability of your applications.
The Customer Perspective
In this series, we are reviewing the various approaches to enterprise application monitoring and their performance cost-benefit analysis. If you haven’t read the first post, please start at the beginning. Failure to do so may lead to confusion by irrelevant physics references and analogies.
When discussing the value of infrastructure monitoring, we left our Operations and Applications teams blaming each other for what appears to be a site outage. As the purpose of monitoring is to ensure an available service to your customers, monitoring that service from their perspective is a sensible approach. This is where Synthetic monitoring and Real User Monitoring (RUM) play the part. Each have different performance impacts on the resources of your application but both are worth every millisecond because whether it is the user or an actor playing the part of your customer, this perspective is critical.
Synthetic monitors come in forms as simple as a health check or ping to an advanced transactional probe exercising the underlying services. Synthetics are an important step in the monitoring journey, however it is also important to be doing synthetics from as close to the customer as possible. What good is a health check of your webserver from inside your datacenter if the fiber cable to the internet was just destroyed by the heavy machinery at the end of your datacenter’s driveway? This is a true story. A customer called me to ask why his synthetic monitoring was sending him alerts to his phone but when he connects from his office (next to the datacenter) it works just fine. Ultimately he had much bigger problems than monitoring can solve, but he didn’t know it was a problem with all of the monitoring his teams had in place in the Datacenter, Synthetic monitoring identified this issue far earlier than anything else.
As the previous example proves, synthetic tests are best performed from a geographically disparate location than your applications. In furthering our airplane analogy, querying your robot passenger in his airplane seat from ground control rather than having him complain to person in the next seat over… “I am cold and cramped for space, but otherwise ok”
“…up-time is not the same as availability.”
Dynatrace offers synthetic monitors as a first class citizen of the solution because when focusing on customer satisfaction, up-time is not the same as availability. Synthetic monitors provide the ability determine not only that the webserver is responding but that the business logic is working and performant. It couldn’t be easier with our web-recorder so that anyone’s business logic can be tested continuously from all over the globe.
Even with the latest interest in consumer privacy such as GDPR, Dynatrace RUM and Session-Replay are well positioned to adhere to such rules by allowing any level of masking personal data at the page, element or action levels. These technologies have been developed in the European markets with such privacy concerns in mind. For more details on this amazing technology, please read Jaime D’Anna’s blog post entirely on Session Replay
Implementing infrastructure monitoring, synthetics and RUM alone only provides you individual views of your shiny new aircraft and the comfort of its seats. What about the cause of the poor quality of the Wi-Fi and the entertainment systems? Why is the service from the drink cart so slow? Why doesn’t the flight attendant bell work? Why is there a backup at the toilet? I know this is stretching the analogy a bit, but ‘why’ issues are an example of (pardon the pun) back-end systems that are impacting your users’ experience. Such answers cannot be found using these tools alone… you need more monitoring such as logs and code level visibility.
Implementing infrastructure monitoring, synthetics and RUM provide you an important perspective on the up-time and availability of your applications. These monitoring options have little to no impact on the performance of your application from a user perspective and therefore are a no-brainer to implement. However resource usage, customer experience, and availability only provide answers to question “Is it working?”. To answer the “why isn’t it working?” question, you must read on.
Look for my next post in this series on Log Analytics or if you are ready to make the leap just skip the rest of the series all together and try Dynatrace for yourself to discover how much more there is to know about monitoring your application stack.