Why Synthetic Monitoring and End-to-End Testing Belong Together
March 21, 2023

Hannes Lenke
Checkly

Share this

Synthetic monitoring is crucial to deploy code with confidence as catching bugs with E2E tests on staging is becoming increasingly difficult. It isn't trivial to provide realistic staging systems, especially because today's apps are intertwined with many third-party APIs.

That's why nowadays, the low-hanging fruit is to set up checks that constantly monitor your production environment from an end-user perspective. This allows you to quickly find and fix issues on production before they become a problem for your customers. However, you need both testing in pre-production and monitoring on production.

Whether e-commerce shops or complex banking setups, systems are becoming increasingly intertwined and also distributed. They do not only rely on internal services but also on many external APIs such as payment APIs. It's nearly impossible to spin up production-like staging systems for these architectures. However, developers are, for many reasons, tasked to ship small pieces of new software numerous times a day. And this requires automation that ensures changes do not introduce bugs and break crucial flows while still delivering at speed and scale.

So on one side, we have complex systems that are nearly impossible to test fully in pre-production, and on the other, we have an increasing need for faster software delivery. These two things are like two trains on the same track heading for a collision. Thankfully, synthetic monitoring is here for the rescue!

But what is testing, and what is synthetic monitoring?

Let's look at synthetic monitoring and testing and what both could learn from each other. I'm sure ChatGPT can help us to define both terms:

Synthetic Monitoring

Synthetic monitoring tests and examines websites, applications, or services to ensure all components, including APIs, function as expected. It helps identify potential issues before they become a problem for the user or connected systems. It can be done from worldwide distributed remote locations. In simple terms, synthetic monitoring is having automated scripts checking your assets constantly to see if they are working correctly.

E2E testing

E2E testing helps to ensure the complete flow of an application or website works as expected before it gets deployed to production. It involves running tests to ensure all components work correctly from start to finish, as a real user would. In other words, it's like having an automated virtual tester check your web app to see if it works how it should.

Synthetics + Testing

In theory, synthetic monitoring and E2E testing are quite similar. While monitoring is meant to test your app on production constantly, E2E testing is intended to catch bugs before you deploy. The main difference in the past was that quality assurance (QA) teams performed testing while monitoring was the responsibility of operations (OPS), so the responsibility was split between two siloed teams. Not anymore!

Testing matured during the last decade from proprietary algorithms to open-source-based code hosted in your repository next to your application code. Today, cross-functional DevOps teams continuously run automated E2E tests in their CI/CD pipeline instead of isolated QA teams testing new versions of your app for three months before release.

Synthetic monitoring is also evolving similarly. It follows the transition E2E testing has already made: From proprietary scripts living in closed monitoring platforms to open-source-based scripts embedded in your repository. Monitoring is shifting left, as testing did, and is becoming integral to your developer's pipeline. The industry should encourage and enable developers to use the same scripts for pre-production tests and production monitoring. Doing so will blur the lines between E2E testing and synthetic monitoring.

So what does modern synthetic monitoring look like? Monitoring as code (MaC) is the next evolution of synthetic monitoring. To be successful in a MaC approach, we need to look at three essential pillars that make up the MaC concept: code, test, and deploy:

1. Code: Automated tests are defined as code and live in a repository, often close to your application code. When I write code, I mean code, not just configuration files saved in a repository. With that approach, MaC enables flexibility and programmability, allowing you to test your backend and UI by supporting complex API and browser checks.

2. Test: Synthetic monitoring was traditionally meant to run on production only. Now, checks as code enable us to run all or some of these checks locally and in a CI/CD flow to be tested on staging before a new version gets deployed. Monitoring is becoming testing, and testing is becoming monitoring, blurring the lines between the two.

3. Deploy: The main difference between testing and monitoring is scheduling. MaC enables us to schedule our tests, executing these constantly, 24/7, in distributed remote locations worldwide. In other words, your tests are deployable. In addition, deploying your tests via your CI/CD process allows monitors to be updated with application code changes.

Synthetic monitoring has been evolving quickly during the last months. We see many exciting approaches to enable developers to ensure that their apps are reliable and resilient. Monitoring as code is the only logical next step, as it has many advantages and enables you to reuse your tests.

Hannes Lenke is CEO and Co-Founder of Checkly
Share this

The Latest

May 09, 2024

App sprawl has been a concern for technologists for some time, but it has never presented such a challenge as now. As organizations move to implement generative AI into their applications, it's only going to become more complex ... Observability is a necessary component for understanding the vast amounts of complex data within AI-infused applications, and it must be the centerpiece of an app- and data-centric strategy to truly manage app sprawl ...

May 08, 2024

Fundamentally, investments in digital transformation — often an amorphous budget category for enterprises — have not yielded their anticipated productivity and value ... In the wake of the tsunami of money thrown at digital transformation, most businesses don't actually know what technology they've acquired, or the extent of it, and how it's being used, which is directly tied to how people do their jobs. Now, AI transformation represents the biggest change management challenge organizations will face in the next one to two years ...

May 07, 2024

As businesses focus more and more on uncovering new ways to unlock the value of their data, generative AI (GenAI) is presenting some new opportunities to do so, particularly when it comes to data management and how organizations collect, process, analyze, and derive insights from their assets. In the near future, I expect to see six key ways in which GenAI will reshape our current data management landscape ...

May 06, 2024

The rise of AI is ushering in a new disrupt-or-die era. "Data-ready enterprises that connect and unify broad structured and unstructured data sets into an intelligent data infrastructure are best positioned to win in the age of AI ...

May 02, 2024

A majority (61%) of organizations are forced to evolve or rethink their data and analytics (D&A) operating model because of the impact of disruptive artificial intelligence (AI) technologies, according to a new Gartner survey ...

May 01, 2024

The power of AI, and the increasing importance of GenAI are changing the way people work, teams collaborate, and processes operate ... Gartner identified the top data and analytics (D&A) trends for 2024 that are driving the emergence of a wide range of challenges, including organizational and human issues ...

April 30, 2024

IT and the business are disconnected. Ask the business what IT does and you might hear "they implement infrastructure, write software, and migrate things to cloud," and for some that might be the extent of their knowledge of IT. Similarly, IT might know that the business "markets and sells and develops product," but they may not know what those functions entail beyond the unit they serve the most ...

April 29, 2024

Cloud spending continues to soar. Globally, cloud users spent a mind-boggling $563.6 billion last year on public cloud services, and there's no sign of a slowdown ... CloudZero's State of Cloud Cost Report 2024 found that organizations are still struggling to gain control over their cloud costs and that a lack of visibility is having a significant impact. Among the key findings of the report ...

April 25, 2024

The use of hybrid multicloud models is forecasted to double over the next one to three years as IT decision makers are facing new pressures to modernize IT infrastructures because of drivers like AI, security, and sustainability, according to the Enterprise Cloud Index (ECI) report from Nutanix ...

April 24, 2024

Over the last 20 years Digital Employee Experience has become a necessity for companies committed to digital transformation and improving IT experiences. In fact, by 2025, more than 50% of IT organizations will use digital employee experience to prioritize and measure digital initiative success ...