# Synthetic Monitoring: A clear signal in a world of…

> Here is my take on what synthetic monitoring means and why it’s awesome!

Source: https://www.checklyhq.com/blog/the-advent-of-monitoring-day-1-what-are-synthetics/

---

[Blog](https://www.checklyhq.com/blog/) / [Monitoring as Code (MaC)](https://www.checklyhq.com/blog/tag/mac/) / [Synthetic Monitoring](https://www.checklyhq.com/blog/tag/synthetic-monitoring/)

# The Advent of Monitoring, Day 1: What Are Synthetics and Why They Are Needed

[Daniel Paulus](https://www.checklyhq.com/blog/author/daniel/)

December 8, 2023 · Updated January 18, 2024

_This is the first part of our 12-day Advent of Monitoring series. In this series, Checkly's engineers will share practical monitoring tips from their own experience._

Hey there! Here is my take on what **[synthetic monitoring](https://www.checklyhq.com/blog/what-is-synthetic-monitoring/)** means and why it’s awesome!

I think it’s a very complicated word for a very straightforward concept. In fact, I am convinced, that once you've used it, _you will never want to live without it._

Let’s start first with **e2e testing**: In essence, what you do is, define a series of steps interacting with your web app or REST API to simulate real user behavior.

For **web apps**, that means your test clicks buttons and types text while making assertions along the way.

For **REST APIs**, you check that the actual HTTP requests are fast enough and contain the expected responses. This way, you make sure **core user flows are working as expected** when you test your code before deploying it to production.

Any refactoring that might break a ton of unit tests will not affect e2e tests unless the core user flow is _actually_ broken. So, they give you **the ultimate signal** if your system behaves as it should. If you use a modern e2e testing framework like **Playwright**, your tests will also be quite fast and not flaky, unlike Selenium or other old testing tools.

### How does all of this relate to synthetics?

Well, the general idea is to **promote those e2e tests you have created, to continuously run against your production services**! Now you have the best signal there is to understand if users can actually use your service, all the time, in your production environment. You will know when things break before your users inform you. Consider also the following questions you are finally getting answers to:

- The unit tests all worked, but **does the feature actually work on production**?
- Is the auth provider having an outage and **people cannot log in,** although your own software is correct?
- Is any other **third-party dependency** that is slow or broken?
- It works in Germany, but does it work in California? Is there some **regional blocking** in place?

Take a look at the screenshot below, for example. You can immediately spot which part of the system is affected. Compare that to a list of error logs or multiple metrics dashboards and you will understand what I mean when I say synthetics give you a clear signal compared to all the noise.

Ultimately, synthetic monitoring means _monitoring through simulated users_, or testing in production, and is like your app's guardian angel. It's always there, quietly keeping watch, ensuring everything runs smoothly for your users.

For those in the software development scene, it's an invaluable ally, keeping your app top-notch and your users happy. With a modern tool like Checkly, leveraging **[Monitoring as Code](https://www.checklyhq.com/guides/monitoring-as-code/),** you can repurpose your existing e2e tests to run against production by writing them twice.

[Daniel Paulus](https://www.checklyhq.com/blog/author/daniel/)

Director of Engineering

Monitor with AI

Let your agents create & deploy monitors with deep understanding of your application

[Start for free](https://app.checklyhq.com/signup)

Share on social

Try Checkly

## Catch it before your users do

Run Playwright and API checks against production every minute, from locations around the world. Your checks live in your repo and deploy with your code.

[Start for free](https://app.checklyhq.com/signup) [Book a demo](https://www.checklyhq.com/demo-request/)

Free plan. No credit card.

# scaffold a project with example checks

$ npm create checkly@latest

# run them from our global locations

$ npx checkly test

# turn them into production monitors

$ npx checkly deploy

## Related Articles

[The Advent of Monitoring, Day 6: How We Use Checkly to Monitor Checkly: A Backender’s Perspective December 18, 2023](https://www.checklyhq.com/blog/how-we-use-checkly-to-monitor-checkly/)[The Advent of Monitoring, Day 5: Dealing With Third-Party Dependencies Causing False Positives for Synthetics December 12, 2023](https://www.checklyhq.com/blog/dealing-with-third-party-dependencies-causing-false/)[The Advent of Monitoring, Day 4: Solving E2E Testing Challenges With Checkly's PWT Garbage Collector December 11, 2023](https://www.checklyhq.com/blog/solving-e2e-testing-challenges-checkly-pwt-garbage-collector/)[The Advent of Monitoring, Day 3: Easy Monitoring for Self-Hosted Projects with Checkly December 10, 2023](https://www.checklyhq.com/blog/setting-up-multi-step-api-checks/)[The Advent of Monitoring, Day 2: Debugging Dashboard Outages with Checkly's API Checks December 9, 2023](https://www.checklyhq.com/blog/debugging-dashboard-outages-with-checklys-api-checks/)
