When it comes to making sure that your website is up, serving customers, and meeting its performance expectations, there are quite a few tools available to help. One of the most common solutions for Application Performance Monitoring (APM) is called RUM, or Real User Monitoring.
RUM products can be simple and free – as anyone with a Google Analytics account can tell you – but they can also be quite sophisticated. Powerful RUM suites incorporate code-level diagnostics and browser-based agents to comprehensively trace every visitor’s experience through your system. As soon as someone experiences a problem – BOOM – that’s when the alarm goes off.
However, despite all their benefits, that story illustrates one of the primary limitations of real-user monitoring. You don’t know you have a problem until after a user has experienced it. That’s where a different type of monitoring product comes in: Synthetic User Monitoring. In this post we’re going to discuss five ways that Synthetic User Monitoring can make you much smarter, and much more successful.
Real User Monitoring: Advantages and Limitations
Real user monitoring is certainly a powerful technology. Built upon an incredibly strong analytics platform, a RUM system will monitor everything that users are doing, all the time. Then it correlates all that activity to give you a picture of what people are doing.
Where RUM works great: On the plus side, RUM knows what is actually happening with real users. It can determine real usage paths through the application, showing you exactly how your site visitors are stepping through transactions and ultimately converting. The best systems can do this in real-time. Additionally, you don’t need to do much to set up RUM – it gathers all that information and just works. No scripting or coding skills required.
RUM’s disadvantages: However, because RUM tracks real users, you don’t get any information about a transaction path that no user is executing. So what that means is that if your site isn’t that busy, you don’t get a complete picture. On the flip side, RUM requires that you add a little bit of processing to every one of your users’ interactions. That introduces some performance overhead, which means that if your site is very busy, users will actually be slowed down. Finally, although RUM doesn’t take much effort to switch on, there is a lot that goes into setting it up (tagging, tracking, reporting) so you can see just the information you need to see.
Synthetic User Monitoring Makes You Smarter
That’s where Synthetic User Monitoring comes in. The basics of a synthetic user monitoring solution like NeoSense are fairly simple: you create simulated users that traverse an experience through your website. Various attributes about system performance are recorded. As a result, you can get a feel for a user experience without requiring an actual user to go through the experience.
So what’s the impact for you? It’s quite significant actually. Specifically…
You don’t want to wait until someone is ready to buy to discover there is a problem with your website – especially during busy times of the year. Right, Best Buy?
With Synthetic User Monitoring you can monitor full, complete transactions, even if they involve multiple URLs or domains – without requiring your customers to be traversing those transaction paths.
2. You can expand your team
If there is a lack of communication between your Operations team and QA, that’s not helping anyone. Yet it’s not uncommon for these teams to talk past each other. QA will identify a “fragile” area of the website, but Operations won’t put an active monitor on it. Or vice versa – Operations discovers a problem but due to poor communication, QA tests the wrong thing and nothing gets resolved.
Everything is better with strong communication. When your QA and Ops teams are working together, synergistically, you establish a common language that helps keep everyone on the same page about what’s important and where to focus effort and energy. This is exactly how the DevOps revolution applies to application performance engineering.
3. Test performance of new features before real users come in
There is a school of thought in QA that says no matter what you do, you haven’t truly tested a product until you have tested it on the specific hardware that will be running it. Even minor variations or inconsistencies between environments that are otherwise identical can have significant effects on performance.
That means that despite all best intentions, you don’t really know how an application will perform in production until it is actually in production. With synthetic users you can test out new products before real users come in. This can be done before the product publicly launches, and continued as more users come online. You can stage the release of the product with different users, segments, and geographies to ensure things are running smoothly as more and more people come online.
4. You can be more proactive
By definition, real user monitoring is reactive. You set up triggers that activate based on what actual site visitors are doing. However, with Synthetic User Monitoring you can truly be proactive. Leverage a suite of pre-written test scenarios from QA to run through specific key transactions. If anything fails to meet your thresholds, you can generate an immediate alert, delivered over SMS or email.
Jump into your dashboard, discover details, and get to the root cause of the problem. Depending on what’s happening on your website, you may end up solving a problem before anyone even notices it.
5. Explore the “What-If”s
In QA we have a term called “edge case,” which is a situation that exists only at extreme or at least non-standard conditions. With RUM you don’t get much visibility into the performance of edge cases because, as stated, they don’t happen much.
Synthetic monitoring gives you a way to design scenarios that happen rarely so you can understand how your system behaves. For example, if the load is heavy in transaction A for some reason (say a response to a viral video), what is the impact on transaction B (cart checkout)? Understand and exploring these edge cases are a really important way to find and remove bottlenecks. They can be rare but disasterous with real users – but they are easy to generate with synthetic testing.
We’re in the middle of the holiday shopping season, and the last thing you want is for your website to fail. So put the right tools in place to get smart and stay one step ahead.