App in a Box – Part 2 – The Customer Perspective

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 Monitoring

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.

Ooops...
Ooops…

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.

synthetic monitoring
Dynatrace analyzes synthetic monitoring automatically and provides key findings

Real-user Monitoring

In the effort to understand your users behavior better, you introduce Real-User Monitoring (RUM; aka: User Experience Monitoring or UEM).  Using JavaScript in the browser, you are now capable of monitoring the experience of your real users and following their journeys with little to no impact on your server resources and minimal cost to your users in their browsers or mobile applications.  The tradeoff for this is invaluable as the aggregate experience of all your users across all geographies, browsers and operating systems is captured.  These details enable your business units to target the behavioral bottlenecks in your applications with design optimizations and more 3rd party widgets.  At the same time, front-end developers can identify and address page load problems and performance bottlenecks in the browser with CDNs, caching and exposing the impact of those resource hogging marketing widgets.

While real-user monitoring can provide incredible value as things are going wrong, such as javascript errors or slow page loads, how can you actually see what the user sees?  This is where session replay technology enters the picture (literally).  Through Session Replay, Dynatrace can playback the user’s session with a movie-like view of the user’s actions on the pages when the errors occurred.  Together with the real-user monitoring session replay provides unparalleled observability into the satisfaction of your customers.

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

Video player

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.

TL;DR

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.

Peter is a Technical Advocate in the Dynatrace Innovation Lab. He has spent 20+ years in systems administration and quality engineering. His love for presenting is only tempered by the occasional failed live-demo. Peter is not comfortable writing bios in the third person.

Looking for answers?

Start a new discussion or ask for help in our Q&A forum.

Go to forum