My priority list for an Application Performance Monitoring (APM) solution
I recently read a very interesting interview with Gartner VP Jonah Kowall that describes his ideas on APM and on how the software-as-a-service (SaaS) era has and will keep changing it. The interview addresses many points that are very familiar to the technical community in the APM domain. Jonah describes what a good APM solution should be, what it should do and what it should not do. After reading the interview and exchanging some Twitter messages with Jonah, I thought more about my own priority list of features for APM, which includes:
- Easy to use, install and manage
- Features available with the default product configuration
- Single infrastructure
- Single console
- Flexibility
IT users always want all of the above, and we do our best to satisfy them. This is okay, but in reality some of the above items might conflict with each other. Balance is the key word here.
A huge set of functions available with the standard product installation can often cause poor product usability. Think about when your modern word processing software comes out with a new release: for a few
weeks you feel like you’re lost in a labyrinth of menus. It is even hard sometimes to put characters in bold or select a title format!
weeks you feel like you’re lost in a labyrinth of menus. It is even hard sometimes to put characters in bold or select a title format!
Keeping with the word processing software example, I am not saying we should all go back to old vi editor, but too many functions can create a challenge. Having even 25 percent of the features available in a word processor today would save us lot of headaches and keep it simpler.
Here I really like the statement from Jonah:
“People want simple, straightforward tools that don’t have 100% of the functionality but can accomplish the basic needs for less money with less complexity.”
We have then defined my first priority for APM: simplicity is more important than having very complex functionality.
How can we achieve it? Of course a good software as a service (SaaS) solution could totally relieve the customer from tool installation and administration. The user can spend all the time to get actual benefits from the solution, with no management overhead.
Should a vendor then put all the complexity on the hosted side and keep the customer side clean and easy? Well, this approach could help, but it is not so easy because there will always be companies that need to stay in the on-premises area or require a hybrid implementation. And eventually they need to have a fully integrated solution with various components connected to each other.
Here another quote from Jonah is appropriate:
“One single product, versus being part of a suite.… When a user implements a suite of these tools to cover monitoring, they have to deal with about five or six different technologies with different databases, different platforms, and different UIs. It becomes very complex and difficult to manage.”
In two words, then, my next priority would be a single infrastructure.
So, now we have a solution that installs in very little time, is easy to use and gives just a few basic features that everybody needs and uses.
Of course the tool should be flexible and extensible, and maybe it should allow users to enable other advanced features to create their own set of functionalities. But it is probably more important that it is usable and simple right after the initial standard installation.
But who will be the daily user? Who’s accessing the console to read data and act in consequence?
A typical APM solution is used by many different personas:
- Line of business or application owners
- Application developers
- IT operators
And each one will look at different metrics, with different data layouts and different interaction with the tool interfaces.
So what options do we have? Flexibility! In my personal priority list, user interface (UI) flexibility is more important than a single console. A single console is an advantage as long as we read it assingle console per each user and we do not pretend that all the users access the same console. Otherwise this is definitely something that will make the solution not usable.
So, my list of five potential priorities for an APM solution is now reduced to three:
- Simplicity
- Single infrastructure
- Flexibility
I think that such a solution should satisfy all those in the company who for one reason or the other have to use the application.