Determining the health and status of a web application over time is an important task for both provider and end user in today’s highly distributed, SaaS-based world. There are plenty of methods used to monitor applications today, from the simplistic ping approach to a complex in-depth test. Ensuring visibility into performance without breaking the app—or worse, the budget—is a difficult balancing act.
Many business end users depend on SaaS apps, some exclusively. For IT, seeing how actual end users are experiencing applications is essential to cutting down on helpdesk tickets and improving overall performance and productivity. Our approach here at AppNeta takes into account the modern reality of IT teams and the pressures they face in providing good end-user experience.
How AppNeta Does Synthetics
AppNeta’s approach to synthetic monitoring combines detailed performance visibility with simple configuration and deployment flexibility. We go beyond simple scripts and rudimentary alerting. Here are the details of why we’re different from traditional (read: old-school) synthetic monitoring providers.
1. We Put Monitoring Where It Should Be
AppNeta’s advantage in synthetic monitoring is that we monitor from the end user behind the firewall. That allows IT to understand the true user experience from a specific location. In contrast, most competitive synthetic products only offer monitoring from global servers outside your infrastructure. That means they approximate the end-user experience, while AppNeta shows the actual experience. Like those companies, however, we also offer Global Monitoring Points. Our 73 global presence points let you benchmark internal performance versus an external location. You can also see how users in locations near yours are experiencing your SaaS or web apps.
2. We Integrate Synthetics and the Network
Traditional synthetic monitoring has zero network visibility, causing a big blind spot for IT. Without that network integration, it’s very difficult to troubleshoot beyond the application. With AppNeta’s synthetic monitoring, it’s possible to easily answer the “Is it the app or the network?” question, since it provides a complete view of where issues lie. With the information collected from the entire end-user path, you’re able to hold providers and ISPs accountable.
3. We Go Beyond Availability
The most basic test of a web app is whether the page loads, with an accompanying log of binary response of up or down. To add complexity, you can log HTTP status codes so that when a site is down you can identify why (e.g., 503 Server Unavailable). Traditional synthetic providers focus primarily on this aspect of monitoring, but it is not enough. Apps rarely go down today—instead they get slow, and slow performance can ruin the productivity of any department. Availability checks only report, at best, basic latency metrics that tell you there is a problem, not where that problem might be.
4. We Track User Interaction
The evolution of SaaS and web apps means that instead of multiple pages of data in one app, many are now just a single page that dynamically loads data as the user requests it. This largely mimics a desktop experience, without the burden of a thick client. That means synthetic scripts are dependent on page loads to display the timing information. Traditional scripting methods fail in the face of modern single-page apps. They cannot attribute latency to user actions, and only show a small step beyond the visibility of an availability check.
Milestones are a solution AppNeta designed that hides in the comments of Selenium (for portability purposes) and allows IT users to determine when actions are complete. This allows timing information to be shown for any sequence of actions without URL changes, which increases the value of synthetics in the single-page app world. This functionality allows AppNeta customers to determine exactly where problems occur in a workflow, over multiple pages, actions or resource loads.
5. We Cut Down on Troubleshooting Steps
Traditional synthetics providers focus just on alerting IT Ops teams when problems occur. Many of them don’t provide the tools to troubleshoot whether the issue is within their infrastructure or the internet. There are a few features we offer that enable this.
- Screenshots on Error
Any deployment of synthetics should have the ability to capture a screenshot when an error occurs so IT Ops teams can see exactly what the user sees during the failure. This can not only help contextualize an error to the visual representation of that error, but aids in matching user complaints with synthetic testing results.
- Assert/Verify Functions
Users will note when something on a page doesn’t load correctly. Synthetic scripting historically hasn’t tracked this consistently, nor have users taken full advantage of it. Using the Assert function within Selenium, synthetic scripts will cancel operation if an element is not present. For critical components of a dashboard, this can lead to early detection of app failures. The Verify feature similarly detects whether an element has loaded, but instead of cancelling the rest of the script, it will log the error and continue. This can note failures that may be less critical, but are important for troubleshooting purposes.
- Resource loading
You may want to know what is being downloaded for an app to render in a browser. The outliers that take longer can indicate the problem. Today’s reliance on external ad generators, third-party data sources and APIs mean that data must be loaded dynamically when the user requests it. Sometimes the app you’re using isn’t slow—it’s the data the app is trying to present that’s slowing the app down. A waterfall chart like the one below can jump-start the troubleshooting conversation with your vendor.
All synthetic monitoring tools are not created equal. AppNeta’s was built for a modern, complicated and cloud-based world. In addition to using synthetics the way we do, the other components of AppNeta Performance Manager fill in the full picture of the network path an application takes to an end user. Synthetic monitoring is just one capability we use for continuous monitoring.