Welcome!

Virtualization Authors: Kevin Jackson, Gilad Parann-Nissany, Elizabeth White, Pat Romanski, Michael Bushong

Blog Feed Post

Challenges with APM 1.0 products

I met several customers in the past few weeks who are evaluating Application Performance Management (APM) solution. They are facing a lot of challenges with their existing investments in old generation of APM solution. In this blog, I will outline some of the shortcomings with APM 1.0 tools that make them unfit for today’s applications.

What is APM 1.0

Customers have been managing application performance since early days of mainframe evolution. However, Application Performance Management as a discipline has gained popularity in the past decade.

 

Let me first introduce what I mean by APM 1.0. The enterprise applications and technologies such as Java have evolved in past two decades. The APM 1.0 tools were invented more than a decade back and they provided great benefits to resolve application issues that were prevalent with the early versions of Java and .NET technologies. However Java/.NET application servers have become mature and do not have those challenges any more. Also enterprise application architecture and technologies have changed drastically and the APM 1.0 tools have not kept up. The following figure shows the evolution of enterprise Java in the past 15 years and when APM 1.0 and APM 2.0 tools have started emerging.

 

image001.png

Following are few challenges with the APM 1.0 tools that you will run into when trying to manage your enterprise applications.

 

Challenge 1: Not enough focus on end-user or visibility for business critical transactions

 

The application owner and the application support team primarily cares about the user experience and service level delivered by their applications. APM 1.0 tools were primarily built to monitor applications from an application infrastructure perspective.

 

These tools lack the capabilities to monitor applications from real user perspective and help you isolate application issues whether it is caused by the network, load balancers, ADNs such as Akamai, or the application, database, etc. Some of these solutions were quick to add some basic end-user monitoring capabilities such as synthetic monitoring. However an application support personnel has to switch between multiple consoles and depend on manual correlation between end-user monitoring and application deep dive monitoring tools.

These tools do not allow you to track a real user request to the line of the code. That means you are blind-sighted when users are impacted and struggle to find what is causing the application failure.

 

Challenge 2: Built for Development and not suitable for production monitoring

APM 1.0 deep-dive monitoring tools were primarily built to diagnose issues during the application development lifecycle. These tools morphed into production deep-dive monitoring tools when the need arose for APM in production environments.  So, These tools were not optimized for production monitoring and hence require a lot of effort to tune for production.

 

First off, the complexities of agent installation and configuration hinder deployment in production environment.  Second, these tools usually require configuration changes every time new application code is rolled out.

 

Most damagingly, they have high overhead on application performance and do not scale beyond 100-150 application servers. This means that most customers use these in a test environment or enable deep-dive monitoring retroactively after an application failure -  assuming the problem will recur.

 

Finally, these tools do not provide operation friendly UIs and because they were originally built for developers.

 

Challenge 3: High Cost of Ownership

 

As I alluded earlier, the old generation APM tools are very complex to configure because these require application knowledge, manual instrumentation and complex agent deployment. Hence expensive consultants are required to deploy and configure and maintain these tools. These tools also have multiple consoles - adding to total cost of ownership. Some customers told me that they spend a lot of time managing these APM tools rather than being able to manage their applications.

 

Conclusion: A Poor fit for today’s applications

These tools were built more than a decade back, and have not evolved much although the application architecture, technologies and methodologies have gone though drastic changes.

 

Many of the customers whom I met were of the opinion that they spend more time managing the APM solution then managing their applications. If you use any of the APM 1.0 tools, and try to manage a modern application, you are likely in the same boat. Here are some customer expectations for a modern  APM solution:

  • It reduces your MTTR by quickly pinpointing business-critical issues with always-on, user-centric, deep application visibility
  • Non-Invasive solution that requires no changes to application code, does not require manual instrumentation and auto-discovers your transactions, frame works, etc
  • It provides Quick Time to Value and Ease of use with a single, integrated APM console
  • Purpose-built for cloud applications

 

APM 1.0 tools certainly cannot satisfy these needs.  In the next blog, I will discuss how an APM 2.0 solution like BMC Application Management addresses the challenges with APM 1.0 products and help you manage applications better thus improving customer satisfaction and resulting in better bottomline.

Read the original blog entry...

More Stories By Debu Panda

Debu Panda, lead author of the recently published EJB 3 in Action (Manning Publications), is a Product Management Leader at BMC Software. Prior to BMC, he was a senior principal product manager on the Oracle Application Server development team, where he drove development of the Java EE container. He has more than 20 years of experience in the IT industry and has published numerous articles on enterprise Java technologies and has presented at many conferences. Debu maintains an active blog on enterprise Java at http://debupanda.blogspot.com.