Performance is a major factor in business-critical applications. True application performance monitoring cross-cuts many IT tiers: network infrastructure, physical and virtual infrastructure, databases, mobile devices, desktops, etc. Application performance monitoring has been a complex topic since long. With the advent of cloud, the backend can consist of private, public or hybrid cloud services. Similarly with the advent of mobile, the frontend becomes more distributed with the proliferation of mobile devices. Cloud and mobile simply exacerbate the application performance monitoring challenge.
There are both good and bad news. The good news is that there is plenty of innovation in application performance monitoring. The bad news is that there are so many solutions; that finding the right one can be thought of as finding a needle in a haystack.
Gartner defines Application Performance Monitoring (APM) as having five dimensions for functionality:
1. End-user experience monitoring.
2. Runtime application architecture discovery modeling and display.
3. User-defined transaction profiling.
4. Component deep-dive monitoring in application context.
5. Reporting and Application data analytics.
Gartner also defines other adjacent markets with similar application performance monitoring goals but through the lens of different audience; Application-aware Network Performance Monitoring (AA-NPM) from the perspective of the network, and Application-aware Infrastructure Performance Monitoring(AA-IPM) from the perspective of servers, data bases, etc.
While these definitions were very helpful understanding the APM functionalities, I needed to create a simple model that would allow me to navigate around all the different solutions. The different solutions can trace back to how the vendor has historically started from; infrastructure versus end user experience focus, network versus application oriented, developers versus operations oriented, etc.
The different categories (APM, AA-NPM & AA-IPM) defined by Gartner were particularly useful to segment the many APM solutions. A few key points to consider:
• Multiple administrative domains are key factors. If you are monitoring performance of your SaaS applications, AA-IPM solutions may not be useful if you have no visibility of the SaaS provider infrastructure.
• Similarly, if you are monitoring performance of your SaaS applications, development-oriented APM solutions may not be very useful if you do not have access to the source code.
• For SaaS applications, your best bet would be to gain visibility by observing traffic flowing in and out of the cloud at the network boundary.
• Some APM solutions are looking more of an inside-out view of application performance from within the application and some looking more outside-in from the network.
From the network perspective, the Internet has become a much more stable platform; coupled with the widespread availability of broadband internet connectivity, businesses are drifting their traditional network to the Internet. So it is important to factor these trends. Therefore, the solutions should measure application performance traversing a variety of networks such as managed services (MPLS, metro Ethernet, etc.), general Internet or ‘Managed’ Internet such as Content Delivery Network.
From an end user perspective, the solution should consider the type of applications. Some APM solutions tend to correlate end-user experience with back-end performance metrics for web applications only but in reality, voice and video are more demanding applications when it comes to quality of experience. As the front end becomes more distributed, it is even more important to also consider a variety of devices be it mobile like smartphones, tablets, or general purpose computers like PC laptops, desktops or special purpose devices such as IP phones, video-conferencing systems, physical security cameras.
In addition to looking at application performance monitoring from different places in the network, industry categories, device types, application types, etc., you need to also consider other dimensions:
1. Passive vs. Active Monitoring
• Does the solution measure the real user traffic or it generates synthetic traffic in order to measure user experience?
2. Agent vs. Agentless Approach
3. Hardware vs. Software
4. Probes vs. Leveraging capabilities of devices you already own
• Does the solution require additional hardware or software probes deployed in your network? Can you even deploy probes pervasively in your environment?
5. Target Audience
• Development-oriented APM serves developers with the need to identify the line of code that is causing performance problems.
• Operations-oriented APM serves system administrator professionals who want to have a holistic view of the production environment that crosses many domains and disciplines.
• Many approaches to visibility
o Backend infrastructure vs. End user experience monitoring
o Application vs. Network centric
o Agent vs. Agentless approach
o Active vs. Passive measurements
• Many functions required to provide visibility
o Gartner’s APM Conceptual framework is one example. Other examples are Forrester’s APM Reference Model, Ovum’s APM Technology stack, etc.
• Many audiences
o Cloud Service Providers, Enterprise customers
o DevOps, Developers, Operations, Line of Business
It is without a doubt that application performance management is an extremely complex area. I hope you find this model useful as you try to evaluate the many different APM solutions in the market.