What is Synthetic APM?
Synthetic Application Performance Monitoring (APM), also called Synthetic Transaction Management (STM) by Gartner Research, uses scripts to simulate the expected path a user would take through an application. This approach allows DevOps and Application teams to proactively measure and check the availability and performance of applications and related infrastructure.
Synthetic APM relies on active monitoring that utilizes a software agent that simulates user activity and checks availability from multiple locations.
Synthetic APM is key because it enables network operations teams to determine if an application is slow or experiencing intermittent service before causing a problem or affecting actual end users. Since synthetic monitoring does not require actual web traffic to generate application performance metrics it enables 24x7 application monitoring. This allows for pretesting applications prior to a live customer-facing launch and ensuring that network or software updates do not affect application performance.
Synthetic APM is especially relevant for scenarios in which passive APM tools that utilize code injection cannot be used. For instance, when monitoring availability and performance of a SaaS application.
Synthetic APM Challenges
Meeting real user needs to achieve the best possible application performance is not an easy task to complete. Applications and the networks they utilize are becoming increasingly sophisticated, putting network operations staff in a precarious position to balance rising user expectations with ever changing application and network complexity. Many applications are also moving to the cloud, creating critical challenges for organizations that rely on them for business operation. Today's cloud based applications may span on-premises and cloud-based resources and are delivered across a mix of private and public networks. This complex service delivery chain raises the possibility of external dependencies out of the control of IT teams impacting daily business processes. The demanding responsiveness of resource interactions in the service chain can result in a scenario where any unresponsive link can cause applications to exhibit poor response or worse yet a service outage. Any resource failure—whether its a server failure, coding problem, network congestion, or a problematic device—can disrupt the resulting user experience with even the smallest impacts having a dramatic effect.
Ideal Synthetic APM Solution Characteristics
Synthetic APM monitors user interaction with an application to ensure its performance. Given the complexity of application and service delivery, any Synthetic APM solution should also include network monitoring data, so that application and network behavior can be correlated. Synthetic monitoring solutions are most effective when they include the following capabilities:
- Offer script recording to facilitate fast creation of synthetic tests
- Support for Routing, Network, DNS, web, and IP voice layers
- Support for various test types including HTTP server, page loads, transactional requests, SIP, RTP and FTP servers
- Monitor application availability 24x7 on a scheduled basis
- Automate notification of application availability issues
- Identify reachability problems for remote sites
- Isolate and understand the impact that external, third-party services and networks have on user applications. This includes insight into Internet-based network delivery paths and network performance metrics per granular hop across those paths
- Monitor performance and availability of SaaS applications
- Test business-to-business web services that use SOAP, REST or other web services technologies
- Provide specific data to measure service-level agreements (SLAs)
- Baseline and analyze performance trends across geographies
Synthetic testing is best implemented by simulating user interaction with web applications, represented by a series of page loads interspersed with interactions like typing in fields and clicking buttons, making the synthetic test "feel" like a user to the actual applications under test. Synthetic transaction tests are invaluable to application and network operations staff. Seeing how individual objects load across multiple pages or interactions can ultimately help IT staff to reproduce and better understand actual user experiences.