A guest blog post from Alexander Podelko, a performance expert currently working for Oracle:
APM is a vague term. There is no agreement even on what it stands for: Application Performance Monitoring or Application Performance Management. Some background information can be found here Industry Watch: Behind the APM and DevOps buzzwords. If I had to define the terms, I’d say that the term Application Performance Monitoring befits the existing products on the market whereas Application Performance Management is more akin to what the industry wants and needs as it promises so much more than is currently available.
Garter Magic Quadrant for Application Performance Monitoring divides the APM market into five dimensions of functionality:
-End-user experience monitoring (a.k.a. RUM – Real-User Monitoring)
-Application runtime architecture discovery, modeling and display
-User-defined transaction profiling (a.k.a. BTM – Business Transaction Monitoring/Management)
-Component deep-dive monitoring
-Application performance analytics
But Gartner also has another Magic Quadrant for IT Event Correlation and Analysis, which perhaps may also be placed into the Application Performance Management area.
There are additional areas that border the 2 quadrants, such as active, or synthetic, monitoring, which can be aligned to application monitoring from one side and also has roots in load testing from another side. This means that for some service companies the line between active monitoring and load testing became somewhat vague too.
All the traditional disciplines such as enterprise monitoring and performance analysis, system modeling, and capacity planning, shouldn’t be discarded – in my opinion they are all important elements of the APM puzzle (although I’m not sure where Gartner puts them).
Bernd Harzog’s posts Why is Application Performance Management so Screwed Up?, VMware Joins the APM Revolution with vFabric Application Performance Manager, Comparing the Different Approaches to Application Performance Management for Virtualized and Cloud based Environments, and Who’s Who in Application Performance Management for Virtualization and the Cloud prompted a lot of discussion on the Internet.
The posts include a good list of existing issues you may face when trying to use APM tools, and lists some tools that the author considers as the second generation of APM products.
I’d add one important issue – overheads. At least for the first generation the claim that you may use APM in production worked only if you did very selective monitoring.
My view of APM is that the first generation of APM tools, so well described by Bernd, were very immature. It’s not that something was explicitly wrong with APM in general – what was really wrong was the drastic contrast between what the tools actually could do and marketing promises made by the vendors. The vendors talked more about the APM vision and how the APM tools are supposed to work – but not about the exact things that these tools were able to do – which you only figured out after spending a few days evaluating the product.
If you check Garter Magic Quadrant for Application Performance Monitoring or my list of tools, it is clear that the market is very crowded but not well defined. There is no set criteria to compare APM tools, which makes choosing one difficult as they may actually offer vastly different functionality and use differing technological approaches – not that you’ll be able to work this out from by reading about them on vendor’s websites.
I do definitely agree however, that now we are getting the second generation of APM tools which are much closer to what some technologies promise. I don’t want to list names here and separate “first” and “second” generations. I’d guess that some “first” generation tools might advance to the “second” generation if progress continues – but, as I said, it is difficult to say without detailed evaluation of the tools. Some comparisons like the afore-mentioned
Bernd Harzog’s post, or posts like Ben Bramley’s APM Market Disruptors – AppDynamics and New Relic provide important information, but they should really be taken with a pinch of salt.
Even if you assume that the authors don’t have any commercial or personal interests, it’s unlikely that they have an equally deep understanding of all the products they reviewed and probably evaluated them in specific environments, which may, despite sounding similar, be completely different from yours.
It still looks like there isn’t a product on the market that will do APM across all platforms and systems, particularly if you have a full zoo of different technologies some of which are older than most of your IT employees (as many large corporations do). And don’t believe anybody who tells you that they can do that. It may work for your environment but first check if it is doing what you need it to do in the way you want it to be done.
It does however look like you can do it now for more systems with fewer problems – and start reaping the benefits of APM. Actually I don’t see any other alternatives to APM in the long term – although it is rather a topic for a separate post.
I’d also say that we are now getting Application Performance Management as a new information category. APM tools were around for a while, but not generic APM information (something beyond just talking about tool features). Now we are getting multiple sources that are interesting to everybody involved in performance – even if you don’t use this specific tool.
Here are some examples of what I am referring to. Some of these blogs are from tool vendors, but they provide great content far beyond discussing the tools. Many of them have existed for a while, but it looks like the quantity has finally evolved into quality and we see a new discipline emerging (instead of a just marketing term used to promote tools). It is definitely related to new technologies, such as virtualization and cloud computing, where traditional resource monitoring is not enough anymore and there is also a need monitor application and service levels.
Alexander Podelko, a performance expert currently working for Oracle.