Synthetic Transactions
A process that mingles the information needed by both the operations and assessment communities is evaluating the performance of information systems relative to the effect of the controls in place to protect the system's information. -YTICS DASHBOAR vailab lity roduct omers Sa
10 slides · 4 min read · Domain 6
Real User Monitoring (RUM)
Real user monitoring (RUM) is an approach to monitoring that aims to capture and analyze every transaction of every user of a website or application. Also known as realuser measurement, real-user metrics, or end-user experience monitoring (EUM), it's a form of passive monitoring, relying on web-monitoring services that continuously observe a system in action, tracking availability, functionality, and responsiveness. While some bottom-up forms of RUM rely on capturing server-side information to reconstruct end-user experience, top-down client-side RUM can see directly how users interact with an application and what the experience is like for them.
By using local agents or small bits of JavaScript to gauge site performance and reliability from the perspective of client apps and browsers, top-down RUM focuses on the direct relationship between site speed and user satisfaction, providing valuable insights into ways to optimize an application's components and improve overall performance.
RUM techniques are not restricted to software-based systems; they are frequently applied to people-intensive operations, such as call centers, as part of producing information (artifacts) that can indicate process quality or compliance issues, or opportunities for improvement.
Synthetic Performance Monitoring
Synthetic performance monitoring, sometimes called proactive monitoring, involves having external agents run scripted transactions against a web application.
These scripts are meant to follow the steps a typical user might follow to search, view product, log in, and check out to assess the experience of a user.
Traditionally, synthetic monitoring has been done with lightweight, low-level agents, but increasingly it's necessary for these agents to run full web browsers to process JavaScript, CSS, and AJAX calls that occur on page load.
In contrast with synthetic transaction testing, which assesses processing of specific types of transactions, synthetic performance testing attempts to assess the correct function and throughput of the system under realistic or extreme loading conditions.
A variety of different systems and processes can benefit from synthetic performance monitoring. These include:
- Website monitoring: Uses synthetic transactions to perform HTTP requests to check availability and to measure performance of a web page, website, or web application.
- Database monitoring: Uses synthetic transactions to monitor the availability of a database.
- TCP port monitoring: A TCP port synthetic transaction measures the availability of a website, service, or application; the server and TCP port for the Operations Manager to monitor can be specified.
- Service-level agreement validation: A scripted process could measure a particular aspect of availability (e.g., authentication) to document the service level availability.
Properly implemented, synthetic performance monitoring has tremendous advantages to the point-in-time monitoring of log reviews and other static analysis activities.
The security architect and security professional both need to be involved in the decisions surrounding the use and deployment of RUM and synthetic transaction monitoring systems within the organization.
There are many reasons why using synthetic monitoring can add value:
1. Monitor application availability 24 × 7
2. Know ifa remote site is reachable
3. Understand the performance impact that third-party services have on business apps
4. Monitor performance availability of SaaS applications and support
5. Monitor performance availability of cloud infrastructure such as infrastructure as a service (laaS) and platform as a service (PaaS)
6. Test business-to-business (B2B) web services that use Simple Object Access Protocol (SOAP), Representational State Transfer (REST), or other web service technologies
7. Monitor critical databases' queries for availability
8. Objectively measure service-level agreements (SLAs)
9. Analyze baseline and performance trends across geographies
10. Complement real-user monitoring by synthetically monitoring availability during periods of low traffic
Synthetic Transactions in Practice
A practical example of the use of synthetic transactions for monitoring can be found in Microsoft's System Center Operations Manager software. With this, you can create a variety of synthetic transactions that can be used to monitor across databases, website, and Transport Control Protocol (TCP) port usage.
Before you create the monitoring settings for Operations Manager to use in a synthetic transaction, you should plan the actions that you want the synthetic transaction to perform.
For example, if you want to create a synthetic transaction that measures the performance of a website, you can plan actions that are typical for a customer, such as:
- logging on
- browsing web pages,
- and completing a transaction, such as placing an item in a shopping cart and making a purchase.
