Synthetic monitoring uses scripting to simulate what actual users are experiencing in a SaaS or web application. IT often doesn’t have to interact with SaaS or web apps, especially if they’re only used by certain users or departments. Synthetic monitoring helps IT to understand baseline performance over time, then see deviations from it when users complain.
Synthetic monitoring can take various forms, but there are some essential features to look for in a provider or solution.
Must-Have Features for Synthetic Monitoring
Every synthetic monitoring provider should offer these features to enable complex SaaS and web app monitoring.
Milestones for Complex Scripts
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. The issue is that synthetic scripts are dependent on page loads to display the timing information. Milestones are a solution AppNeta has come up with that hides in the comments of Selenium (for portability purposes) and allows users to determine when actions are complete. This allows timing information to be shown for any sequence of actions without page loads, which increases the value of synthetics in the single-page app world.
Users will note when something on a page doesn’t load correctly. Synthetic scripting historically hasn’t tracked this consistently, nor have users taken advantage of this to the extent that they should. Using the Assert function within Selenium, synthetic scripts will cancel the 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 or not an element has loaded, but instead of canceling the rest of the script it will log the error and continue. This can be helpful to note failures that may be less critical but are important for troubleshooting purposes.
Screenshots on Error
Any deployment of synthetics should have the ability to capture a screenshot when an error occurs. This is essential when troubleshooting, as it allows IT Ops teams to 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.
Points of Presence
While originally reserved for SaaS providers monitoring from different global locations, this has become more important in our increasingly distributed corporate world. Not every employee is under one roof, so the significance of monitoring from an actual user to their location (or one nearby) can not only provide more accurate data but allow IT to troubleshoot remote issues faster.
Global Presence Points
Most synthetic providers today claim a global presence, but that model serves SaaS providers better than their consumers. Unless you are a multinational corporation with 100 offices, you are rarely using a global map to monitor performance. A few global points of presence, however, can give you an idea of how users in locations near yours are experiencing your SaaS or web apps.
Custom Points of Presence
If you are a multinational corporation or a company with offices in remote locations where you care about ensuring a good end-user experience (read: the CEO’s home office), then you’ll want to set up custom devices or virtual agents to monitor performance from specific end-user locations back to your SaaS apps or data center. The benefit here is that when that CEO calls to complain, you’re not relying on a monitor that is at best 30 miles away and likely on a different carrier for the last mile. You’ll have actual data from their location over the same ISPs and you’ll see it trended over time so you can pinpoint when issues began.
Keep all these features in mind when you’re evaluating synthetic monitoring providers. In our widely distributed world of cloud and SaaS applications, synthetics can save you a ton of time on troubleshooting.