What is APM?
I am talking about Application Performance Management at global summit, and several people have asked what that means so it is time for a bit of an explanation.
APM or Application Performance Management (sometimes referred to as Application Performance Monitoring) has a very good (if complicated) explanation on Wikipedia but to me it just means looking at performance from the users’ point of view and the level of service provided to them.
The ‘user’ in this context could mean a line of business owner who is paying for the application or it could mean someone in front of a screen using the application to do their job. These users aren’t really interested in CPU usage, IOPS or buffer cache efficiency. And if they are talking about some technical detail of the application it is nearly always bad news, because it is the thing that is making their lives hard.
What they care about is the volume of business transaction (numbers of patients admitted, number of items purchased etc.) and they care about response times. APM starts with the things the users care about directly and pushes the analysis forward from that starting point.
APM isn’t a substitute for system performance monitoring – they are complementary. APM should provide the focus on what is important to the customer and system performance analysis may help deliver a high level of service.
Output from APM
You normally have a couple of main outputs from APM. The first is something like the quarterly management report that tells executives
- How much the application is being used
- How well is it performing
- How this is changing over time
- The areas of concern that you are working on
The second is the substance behind the fourth bullet that directs technical people towards problems that need to be solved. Perhaps it is growth in transactions or a particular frequently used transaction that is getting slow or perhaps a general slowdown across the board.
The result of the second is hopefully a plan to resolve all those concerns so that after next quarterly report the executives are happy and you get a pay rise.
What should you measure? What can you measure?
APM should count and measure the things the application does for the business or a user. That is a bit vague but every application is different so it is hard to pin it down. As technologists it is easy to jump towards a technical unit of work like a CSP page or an SQL query. These may be good but they can be a long way out as I will discuss at Global Summit. Additionally it is hard for a non-technical manager to relate to SQL, no matter how important it is. What they can relate to is that the Emergency Room Floorplan is shown 17,000 times per day and the execution time has improved from 2.3 seconds to 1.2 seconds. That demonstrates a real improvement in the quality of service. Or if the execution time has gone in the other direction, a real increase in the frustration experienced by the users.
Some applications build measurements into the application framework to make it easy but often you have to comprise. One of the topics I will discuss at global summit is the different types of monitoring included in applications and the ways to get information that is close to APM even when the application doesn’t include functionality to help.
Hopefully some of you will come to global summit with examples of how you are monitoring your applications and how well it is working for you.
See you in Palm Desert.