Synthetic Monitoring Can Prevent a Customer’s Angry Tweet
Synthetic monitoring can be one of the most powerful tools in your DevOps team’s toolkit, especially for the site reliability engineer, yet it is often overlooked by people building out a reliability mindset.
Synthetic monitoring permits you to simulate any transaction or interaction users can have on your website or app, from places around the world, as often as you’d like. With synthetic monitoring, you can find out problems from your site before an angry tweet from a customer finds it for you.
What Is Synthetic Monitoring?
Before going into why you should set up synthetic monitoring, let’s take a step back and discuss what synthetic monitoring is. At its core, synthetic monitoring is a way to create virtual users who do operations on your site. Depending on the maturity of your platform, these virtual users can potentially do anything a real user can do, from simply browsing all the way through to a multistep transaction flow through your single-page application.
Synthetic-monitoring tools provide a way to script or record user interactions, and then play them back through a variety of methods, ranging from simply making HTTP requests all the way to running an actual instance of a browser and clicking, dragging, typing and otherwise interacting with a modern web application. In most synthetic tools, this user interaction is called a test.
These synthetic tests can then be deployed to agents running all around the world, on different ISPs, with different speed caps or routes to the broader internet. This is done to better represent the demographics and geographies of your end users.
Use Cases for Synthetic Monitoring
Synthetic monitoring has many ideal uses. Obviously, any critical transactions that your users perform in your application can be tested. You can set up a synthetic test to run through your checkout flow regularly to make sure that checkouts are happening as they should. You can go through the new user acquisition flow in your mobile app to make sure that errors haven’t happened there.
If you’re an advanced shop using CI/CD processes, you can even integrate synthetic monitoring into your release process. If a new release causes a critical business process to fail or be slow, you can roll it back before it’s actually deployed, stopping problems before they could ever actually occur with real users — how great is a zero mean time to recover?
Finally, there’s one really unique feature of synthetic monitoring: You don’t need to have control over the site where you’re running the test. You can benchmark your competitor transactions and compare how you perform. You can even set up synthetic tests for SaaS applications that you operate to notice issues before your employees do.
Benefits of Using Synthetic Monitoring
Synthetic monitoring lets you get a global perspective on your application’s performance and your users’ experience with it. Some vendors even provide agents that you can deploy yourself anywhere, including behind your firewalls, to provide an additional layer of the context of what’s happening.
In addition to a global perspective, synthetic monitoring lets you detect changes over time in your application’s performance. Since even a one-second increase in latency increases rates of cart abandonment, knowing when these changes occur lets you make smart decisions about the three-way trade-off between new features, page latency and customer goal completion/checkout.
Finally, some synthetics tools provide advanced web optimization features. Google’s Core Web Vitals are increasingly important metrics from both an SEO and a customer experience perspective. Some synthetics tools can analyze your site for these core web vitals (among other important metrics) and provide suggestions for improvement. Since a top search ranking can often make the difference between a successful product and one that withers on the vine, web optimization as part of your synthetics solution can really make a difference.
How to Get Started
There are many open source tools that can help you start a synthetic-monitoring journey. Additionally, almost every observability vendor has a synthetic-monitoring tool available as part of their product.
It’s important to consider all the features a vendor provides before making a decision. For example: Can they run actual live browsers? Do their agents exist in the countries you need them to? Can you deploy your own agent if that’s important? Does the tool operate on single-page applications or within iframes? Does it provide you with core web vitals and other performance metrics, and if it does, can it provide you with suggestions for improvement?
The level to which you’ll need to worry about these things depends on your unique environment. However, by adopting synthetic monitoring, you can find the right solution that lets you understand what your customers are experiencing — and more importantly, what they will experience in the future — thereby jumping ahead of your competitors and demonstrating your strong commitment to customer experience.