Glossary of IT performance measurement techniques from a user perspective
The first of a series of articles to report on measurement techniques available for service/application providers which are used globally to monitor the digital experience. These techniques are used to ensure, track and ultimately improve user experience by targeting the application performance.
They can be used to:
- Monitor the availability / downtime of computer applications
- Detect problems and breakdowns of applications in production
- Help solve application-related problems (functional, operational, and performance bugs)
- Prevent problems and their impacts on users
- Establish indicators to guarantee the SLA of applications
For each measurement technique, a distinction will be made between: the measurement carried out and its objective, its means, its cost and its implementation prerequisites.
The “Status page” of the supplier
This technique is based solely on the consultation of status pages provided by the application publisher in the case of SaaS applications.
Avantage : pas d’instrumentation à mettre en place
Disadvantage: not necessarily available nor up to date; furthermore, it most often provides a view from the supplier’s perspective.
Cost: Nil
Interpretation of results: superficial
Real User Monitoring (RUM/APM Application Performance Monitoring)
This measurement technique aims at collecting the whole or just a sample of the users’ network transactions. It can be implemented on the application server side and/or on the browser side for web applications. It provides a technical view of the application and is particularly appreciated by application developers.
- Code instrumentation: realization of instrumentation in code utilizing market standards. This technology is more recent and is generally done during the development of the application.
- Application Server-Side Deployment: this implementation requires that the measurement agent be deployed on the application server and that it be compatible with the application (Java, .Net, etc.) in order to collect various metrics. Thus, it will allow developers to know the parts of the code that impact performance.
- Browser-side Deployment: this implementation requires the integration of a measurement agent in code which will collect data on the browser side. Additionally, the agent can be deployed on the user side if they are internal users.
Advantage: visibility of the code for all or part of user transactions
Disadvantage: needs to instrument the application server, therefore, server access is required. There is little visibility if users are not running the application. It is incompatible with SaaS applications.
Cost : $$
Analysis of results: Devs, DevOps
Synthetic Monitoring (DEM/APM Application Performance Monitoring)
This measurement technique aims at collecting a regular sample of the performance from the user’s point of view. It uses dedicated agents or robots that employ scenarios/scripts to reproduce specific user behaviors. This technique is very popular with support and service management teams.
Advantage: factual, continuous visibility from specific locations that simplify analysis. Very wide coverage of applications (web, heavy user, VDI, SaaS). Includes the possibility to capture screenshots and videos.
Disadvantage: requires developing and maintaining scenarios. Visibility on chosen scenarios.
Cost: $
Analysis of results: support, service management, Devs, DevOps