Synthetic monitoring, or active monitoring, simulates requests to applications and services to verify performance, availability and reachability. Synthetic monitoring includes issuing requests to DNS, FTP, and API, or simulating users that are accessing an application.
Synthetic monitoring happens in two steps. First, the monitoring software runs a test, which simulates a request with agents. The agents can be programmed to take similar actions to a website or app’s users.
Next, the monitoring software collects data on the uptime and performance of the simulated actions taken by the agents. Then, that data is displayed in a dashboard so that engineers and I.T. teams can draw insight, identify issues, resolve problems, and make improvements based on the data.
Users don’t visit just the homepage of a website or application, they click around, they buy things, they execute on projects, etc. So, companies need to monitor those user paths and behaviors.
Many industries and verticals rely on synthetic monitoring to monitor these paths and behaviors. This helps companies predict and improve user experience. Here are some examples of user paths that different business types might monitor:
• Ecommerce—When a user adds something to their cart or the credit card transaction process
• SaaS—The login page on both mobile and web app platforms and “free trial” sign-ups
• Travel—The most common paths users take from the homepage through to flight confirmation page
• News and media—Customer clicks on third-party ads displayed on various pages
Each of the examples above are paths that directly affect a company’s revenue. This illustrates the importance of synthetic monitoring and how necessary it is for keeping customer experience and transactions smooth and working.
It’s important to note that these user paths seem front-facing, but they require data from many back-end sources that end users aren’t necessarily aware of like DNS servers, APIs, and CDNs. These hidden parts are vital to successful user journeys, and so, they must be monitored.
How does synthetic monitoring work?
Simulated users visit a website or application and mimic the behaviors and transactions that are common of real users. The purpose of this type of monitoring is to get a sense of what’s working (and what’s not) before your real users are impacted.
For example, let’s say you run a large retail website. You’ve just integrated a new third-party cart feature. You could use synthetic monitoring to test if the new cart feature is working seamlessly during the checkout process. This way, you can fix any issues before you launch the latest version of your online store with the new third-party cart feature.
Why is synthetic monitoring important?
First and foremost, synthetic monitoring helps businesses get ahead of issues that could impact their users. Since it uses simulated users, synthetic tests can run around the clock to help companies resolve problems quickly, and often, before their users know the problems exist.
Some of the key benefits of synthetic monitoring.
Catch issues before they affect users
One of the biggest benefits of synthetic monitoring is that it allows a company to run proactive tests on their applications and infrastructure (all the parts that make up the application). This is important because it means a company can catch a bug or an outage before their customers notice it. For example, an ecommerce website engineer runs tests 24/7, even during off-peak hours (while customers are sleeping), to stay ahead of potential issues.
Monitor your popular transactions
A website or application transaction is a common path taken by the user. For example, a common path of a Salesforce user would be to visit the homepage and log into the platform. Salesforce likely monitor’s that common transaction so that they can get ahead of any login issues for their customers. There are many common user paths to monitor, like adding items to an ecommerce shopping cart and completing credit card processing transactions.
Prepare for traffic surges
We’re all aware of the shopping craze that comes with Black Friday and Cyber Monday. Ecommerce sites, and the infrastructure behind ecommerce sites, can use synthetic monitoring to prepare themselves for traffic spikes that come from certain holidays and seasons.
A company can increase the number of synthetic users that visit the website to mimic the traffic they expect to receive during a spike. This type of synthetic testing is often called load testing. While both load testing and synthetic monitoring are both active solutions, they serve different purposes. Load testing is performed periodically while synthetic monitoring should take place around the clock.
Measure service level agreements
SaaS companies are bound by contracts called service level agreements (SLAs) which guarantee a certain level of performance to their customers. For example, Salesforce guarantees 99.9% uptime. This means that if Salesforce falls below that uptime percentage, users are entitled to damages—which can be paid in fines or discounted rates.
With synthetic monitoring, a company can monitor their own infrastructure to make sure they’re meeting their own SLAs with their customers. And, they can monitor the performance of their vendors. Companies monitor the performance of their vendors to hold the vendors accountable to their SLAs. If there’s a breach, the company can let the vendor know and take appropriate action.
Baseline and benchmark
Because synthetic monitoring runs around the clock, it’s a great way for companies to understand the baseline performance of their applications as well as third party apps that the business relies on (like Salesforce or Office 365). Businesses can use the baselines and historical performance data to set goals and benchmarks. These goals can be both internal (to help IT teams exceed KPIs) and external (achieve X% uptime, etc.).
Test from where users are
The same as you wouldn’t take medication that hadn’t been thoroughly tested, you shouldn’t expect your customers to visit a site or use an app that wasn’t tested. Because synthetic monitoring mimics user behavior, it’s a great way to test and app or site before a launch or before any changes are deployed and live. Synthetic tests are conducted from locations in which a company has a high amount of traffic or customers. So, if there’s a large user base in LA and New York, a company can run synthetic tests and monitor from both locations.
Answer business-critical questions
Operations isn’t the only department relying on synthetic monitoring metrics. Executives and other departments like product and marketing have a stake in performance, too. Executives need monitoring data to make informed decisions with company profits, product and marketing teams need to know which pieces of a site or app are problematic and how problems affect customers.
Synthetic monitoring can help answer these business-critical questions:
• Are key transactions and third-party components working?
A business’ worst nightmare is losing customers during the checkout process. Items in the cart, 100% intent to buy, but whoops—there’s a problem with the third-party credit card processor. Synthetic monitoring means a company can get ahead of these problems.
• Is my website up? Is my website live?
When you’ve got a solid synthetic monitoring strategy in place, you can get ahead of outages before your users are affected. Synthetic monitoring can also help you pinpoint which of your third-parties or which part of your infrastructure is responsible for the problem.
• How’s my load speed?
When it comes to your users, speed is the new downtime. Modern consumers expect quick load times, and if you fall short of those expectations, you’re hurting their experience and your revenue.
Synthetic monitoring and Real User Monitoring
We know that synthetic monitoring, or active monitoring, involves simulating user behavior to preempt any issues that occur within an application. Modern companies can use synthetic monitoring in conjunction with another type of monitoring, Real User Monitoring (RUM), to improve their visibility of user experiences.
Proactive monitoring vs. reactive monitoring
When we talk about both synthetic and RUM, it’s important to note that one is proactive and the other is reactive.
Because synthetic simulates real users to get ahead of problems, it’s considered proactive monitoring.
Proactive monitoring is beneficial because you can
• Preempt performance issues
• Predict expansion and budgets (i.e. if you’re going to need more storage space)
• Measure if vendors are meeting their service level agreements (SLAs)
Real user monitoring is just the opposite, it’s reactive as you’re measuring and collecting data as behaviors and events occur in real-time, by real users.
Reactive monitoring is beneficial because you can
• Use “true” user data to plan and improve future user experiences
• Get alerts on problems as they happen, in real-time
• Intervene immediately while an issue is small and containable, before it becomes a bigger problem
Real user monitoring is also known as passive monitoring as the monitor is tracking real users in real-time.
RUM tracks performance data from real users accessing the application. Real user monitoring produces a large, diverse set of data as end users can use a combination of browsers (Chrome or Safari), service providers (Comcast or Verizon), and any type device (laptop or smartphone). Data reflects the “real” user experience.
Combining synthetic and real user monitoring for enhanced visibility
Because synthetic is proactive and because RUM is reactive, it’s best to use both in conjunction with one another. Each type of monitoring helps different companies achieve different goals:
Synthetic monitoring can:
• Simulate a user’s journey in a controlled environment
• Run tests at scheduled intervals to get ahead of potential issues
• Build tests based on business-critical transactions
Synthetic monitoring helps:
• Reduce MTTR (Mean Time to Resolve) as the tests actively track application performance
• Get alerts when performance metrics surpass or dip below thresholds (including downtime)
• Monitor performance before a launch of a new site, feature, or update Benchmark competitors
• Track service level agreement (SLA) breaches Monitor performance of third-party vendors
RUM monitoring can:
• Gather data from real end users in a variety of environments
• Collect diverse data for every user accessing the application
• Configure variables to track and collect specific data
RUM monitoring helps:
• Capture real end user experiences from different devices, browsers, geolocations, etc.
• Correlate user engagement and business KPIs with application performance
• Utilize historical data to predict performance trends and business outcomes
When a company uses both synthetic and real user monitoring together, they’re able to prevent outages from affecting many users and catch issues as they’re happening. For example, Coremetrics, an analytics tool that many ecommerce giants use, experienced an outage during Black Friday 2018.
The outage, although it belonged to Coremetrics, affected many ecommerce company sites that were relying on the analytics tool. The Coremetrics issue caused major latency issues for many of the large retail sites using the tool.
Latency (or slow load times) is a major cause of customer dissatisfaction. Nowadays people associate poor load time with an application being unavailable. With RUM and synthetic, major retailers could catch the problem and resolve it sooner. Therefore, improving customer experience for thousands of potential customers during the year’s biggest sales weekend.
Synthetic monitoring is a must-have for any business looking to stay ahead of potential threats to customer experience. Synthetic monitoring isn’t only applicable to IT teams as other departments like product and marketing, as well as execs rely on monitoring data to drive decisions.