≡ Menu

Application Performance Management 101


The truth. If you don’t have a reliable APM (Application Performance Management) solution implemented in your environment, you are walking on a minefield. You never know when that Application Server is going to crash, or when that File server is going to run out of space or when that Web Server is going to run out threads and be a victim to a DOS attack. Simply put, you want to know about an issue before your customer does. Period. A dependable APM solution and help you do just that.

In this article, I would like to answer some of the very basic yet critical questions in the field of APM. Specifically, I will explain the following:

1. What is an APM solution ?

2. How a reliable APM can help you increase your profits ?

3. How to find the right APM solution ?

4. How to implement the chosen APM solution ?

Let’s get right to it.

1. What is an APM solution ?

APM (Application Performance Management) solution is a system that monitors heterogeneous, distributed IT applications in real time and provides a unified view of the health and performance of the Applications. Modern APM solutions also translate IT metrics in to Business Transaction which is the ultimate measure of SLAs (Service Level Agreements).

Typically, a central APM server (software or hardware appliance or both)  collects performance data (metrics) from instrumented applications/servers. The APM server processes the metrics and makes it available for anyone to view. Alerts and other monitoring elements such as ‘actions upon alerts’ and reports can be configured  using a user interface.

typical apm

 A typical APM dashboard: (source: Appdynamics)


2. How a reliable APM can help you increase your profits ?

It all comes down to ROI (return on investment). Does investing in an APM solution really yield a good return ? The answer is a big YES. Here is how:

a. It helps you prevent application outages thereby reducing the possible financial loss and poor customer experience.

b. It helps you to act promptly on a degraded application thereby reducing possible SLA penalties

c. It helps in reducing the ‘mean time to resolution’ thereby reducing your support  and operation costs

d. By utilizing APM in pre prod environment during testing, it can reveal potential issues even before the application hits production, thereby saving money.

Therefore, by reducing costs, APM solution helps you increase your profits. Do you need more compelling reason ?

3. How to find the right APM solution ?

OK. Now that you have realized APM solution is a must for your business, how do you go about finding the right APM solution ? APM industry has exploded in the past few years. Before you go on shopping, answer the following questions which will guide you to select the correct solution

a. Do you need an in-house solution or SAAS based solution or both ?

b. How many applications are you planning to monitor ?

c. Do you need deeper ‘code level diagnostics’ for your applications ?

d. What type of applications/technologies do you need monitor (i.e Java, .NET, OS, RDBMS)

e. What is your budget ?

As you will see, depending upon the answers for the above questions, the correct APM solution can range from Open source solutions (Ex. Ganglia) to a low cost solution (Ex: Nagios) to a state of the art SAAS based commercial solution (Ex: New Relic, AppDynamics, CA Wily APM, Dynatrace etc).

Unfortunately selecting an APM is a rigorous process and it should be. The clearer your requirements are, better your chances of finding a matching APM vendor. You must do a POC (Proof of concept) of at least 3 APM vendors before deciding on one. During POC, pick your most pressing issue and see how the APM tool fixes it.

4. How to implement the chosen APM solution ?

Congratulations. You have procured an APM solution – uninterrupted sleep ahead :-). But you can not relax, not until you successfully implemented it and ensured all the loose ends are tied. An air tight monitoring is only possible if you clearly define your requirements (can’s stress this enough). Here are the high level steps you must take to implement.

a. Clearly document the requirements.

b. Decide on a roll-out strategy (i.e Big Bang, or multiple phases – both can work fine if you plan properly)

c. Have at least two environments if possible – Prod and Non prod. Implement the solution in Non Prod first.

d. While performing capacity planning for the APM server, take into consideration of future growth. One of the main reasons some APM solutions fail is inadequate hardware for the APM Server.

c. Automate the roll-out as much as possible (Unix shell script, Windows Powershell script etc)

d. Have a clear backout strategy

e. Utilize APM vendor’s help fully. Ask for post-implementation documentation.

There you have it. Now you know what an APM solution is, how it can help you increase your profits, how to choose an APM solution and how to implement the chosen APM solution. Remember, prevention is better than cure. Invest in a good quality APM so that your environment can be healthy, performing at its peak and easy to maintain. In my years of experience as a consultant in Application Support and monitoring field, I have never seen one customer that regretted investing in an APM solution. Let’s get to Work.


{ 0 comments… add one }

Leave a Comment