Test On-Premise Applications With Datadog Synthetic Private Locations | Datadog

Test on-premise applications with Datadog Synthetic private locations

Author Emily Chang

Published: July 8, 2020

Synthetic monitoring lets you improve end user experience by proactively verifying that they can complete important transactions and access key endpoints. But your applications serve many users, from customers to all the employees who run your business. This makes testing the performance of any internal-facing services within your private network just as critical as monitoring your external-facing applications.

That’s why we’re happy to announce the availability of private locations in Datadog Synthetic Monitoring. Now, you can run Synthetic tests on all your applications, regardless of whether they’re behind a firewall or open to the public. Once you incorporate private locations into your Datadog Synthetic tests, you’ll be able to:

In this post, we will explore how private locations can expand your Synthetic test coverage—and how to set up your first private location worker in seconds.

Getting more visibility with private locations

By default, Datadog Synthetic Monitoring provides managed locations around the globe to help you execute API tests and browser tests without setting up your own test infrastructure. With private locations, you can also launch tests from inside your network, allowing you to monitor an even wider range of applications.

Internal synthetic monitoring from your private network

From enterprise resource planning (ERP) systems to customer relationship management (CRM) software, your employees depend on a range of applications—many of which are only accessible behind a firewall in your private network. Now you can use private Synthetic Monitoring to test the reliability and performance of your internal applications alongside the rest of your environment.

This means that engineers working on internal-facing applications can have access to the same benefits of Synthetic Monitoring as the other teams in your organization, including deeper insight into their user experience. Teams can also use Synthetic test results to compute the availability of their applications, which ultimately helps them fulfill the service level objectives (SLOs) they committed to their users.

With Datadog Synthetic Monitoring, teams can get alerted to issues with internal applications before their users run into issues. In the example below, a Synthetic browser test helps verify that employees can add customers to an internal-facing CRM app. This test runs from a variety of private locations that are critical to the business.

With private synthetic monitoring, teams can verify the performance and availability of internal-facing applications from inside their private network.

Verify app performance in your internal CI environment

One of the most valuable aspects of Synthetic Monitoring is being able to verify the performance of features before they’re released to your users. Once you’ve installed a private location on a machine that can access your CI environment, you can verify new features and endpoints from inside your network, and automatically block a deployment if a Synthetic test fails. This means that your teams will be able to debug issues earlier in the development process—before they get deployed to production and degrade the user experience.

The browser test below launched from our private CI environment and surfaced a problem with the latest version of an e-commerce application. Because this failed test automatically blocked the CI pipeline, the team has enough time to troubleshoot the issue before it gets released to the public.

Just like Synthetic tests launched from public locations, any tests launched from private locations are automatically linked to backend data from APM, as well as logs and infrastructure metrics, for faster troubleshooting.

Expand the geographical coverage of your Synthetic tests

In today’s global economy, your applications could be fielding traffic from just about anywhere around the world. You can set up your own private locations to simulate traffic from a broad range of locations. Private locations complement Datadog’s out-of-the-box managed locations by letting you run Synthetic tests from regions where you know your key customers are.

You can also use private locations to verify that your applications perform as expected when accessed from mission-critical locations like your factories, offices, call centers, or data centers. In Datadog, you can see an overview of all the private locations that are currently configured, along with the number of tests assigned to each location.

Datadog shows you an overview of all the private locations you're using for private synthetic monitoring.

Compare app performance across internal and external users

Once you’ve deployed private location workers, you can use Datadog to compare application performance inside and outside your private network. In Datadog, you’ll see out-of-the-box visualizations of the history of each Synthetic test, and you can easily drill down to a specific region or compare performance across locations. Below, you can see that the application endpoint responds much more quickly when accessed over the internal network compared to when it responds to a request from a Datadog-managed location in Singapore.

If your tests show that your applications are significantly slower to access over the public internet, you can investigate potential networking issues. Clicking on a slow API test, for example, takes you to a breakdown of network timings, including a waterfall visualization of each step, so you can pinpoint bottlenecks and other issues.

This private synthetic monitoring API test shows a breakdown of the network timings to help you troubleshoot the slowdown.

How to set up private Synthetic Monitoring locations

Setting up your first private location takes just a few seconds. In Datadog, navigate to the Private Locations view and click to create a new private location. Give your private location a name, description, and tag it with the name of your app or any other relevant information.

It only takes a few minutes to set up private synthetic monitoring in Datadog.

Datadog’s built-in integrations with Docker Compose, Kubernetes, Amazon ECS, AWS Fargate, and Amazon EKS make it easy to deploy private Synthetic Monitoring on your existing environment.

To install a private location for private synthetic monitoring, use Datadog's built-in integrations with Docker, ECS, Kubernetes, and other services.

We recommend launching one private location in each region of interest, and provisioning several containers for each location (though you can scale this as needed to reflect the frequency and number of tests you want to run). The concurrency parameter allows you to adjust the number of tests to run in parallel.

You can manage private locations in the Datadog app and even use the Datadog Agent to monitor your private location containers via our Docker integration.

Once you set up private locations for private synthetic monitoring, you can also monitor your private location containers via our Docker integration.

Private locations work just like any Datadog-managed location—simply check them off when adding or editing an API or browser test. That means you can easily consolidate and manage all your Synthetic tests in one place, whether they’re monitoring internal or external applications, or testing your applications in production or as part of your CI pipelines.

Launch Synthetic Monitoring from your private network

Private locations are now generally available in Datadog Synthetic Monitoring. Check out our documentation to set up your first private location in minutes. If you’re new to Datadog, sign up for a and contact our support team to get started with private synthetic monitoring.