Wednesday, March 25, 2009

Manage Application Performance Holistically

IT professionals across organizations have now established effective application monitoring systems for all IT landscape: servers, network, desktops and storage. Such application performance monitoring tools help IT operations professionals predict breaches in the system and be prepared to handle such problems. However, the management of application performance is more complicated than this and is not yet perfected.

This difficulty in application performance management is due to lack of organization and knowledge. Generally application development teams are separated from IT operations personnel. Also, a cross domain perspective is required to understand application performance completely, but this doesn’t happen because IT operation of any institution is organized by their respective domains.

One of the main problems in application performance analysis is that the IT operations employees know little about the application and every time there is a problem, they need the help of the application development staff. This is often time consuming and not always the optimum solution. So in the end, only the single element in the IT infrastructure is identified and corrected instead of examining the code or the data design of the application for faults. The application as a whole within the context of the infrastructure should be considered so that a holistic approach to APM is taken. Such an approach will help improve the efficiency of the performance testing and will be beneficial in the long run.

Application PerformanceA survey conducted on organizations using APM solutions to assess their technologies finds that most respondents meet service level agreements less than 75% of the time. One of the top reasons given for this non performance was “failure to manage application performance issues”. This confirms that users as well as businesses consider application performance more important than any SLA metrics.

There is often a conflict when an end user reports an application problem. It is not always possible to find fault in one infrastructure component that replicated the end user’s complaint. Hence, the classic scenario will be that each component manager will insist that their component is not at fault, whereas the end user will insist that there is something wrong. In this situation, the ideal application monitoring can be done by examining individual application transactions. These interactions with the application will reflect end to end performance as well as the end user’s experience.

Hence, for a holistic approach to application performance management to be integrated into business service management, it is necessary for IT operations and application development teams to work together as well as have a cross domain perspective. Also, when the end user complains of some problem with the application, the IT service management should kick into action and examine the individual application transactions. Only through such an approach can application performance management be useful to businesses and organizations.


Note: The information of this blog is based on a White Paper study commissioned by Compuware Corporation titled "Becoming Proactive in Application Performance Management".

2 comments:

Anonymous said...

Mark,

Good post. A holistic approach is absolutely the only way to manage service from the business perspective. Too many organizations that think they can get the insight they need by monitoring only at the component-level (i.e. server, network, database).

I think most of your data comes from a study that we commissioned Forrester to do. I think it would be helpful to your readers if you gave attribution of your data and a link to where they can read the full report - http://www.compuware.com/seeitfinditfixit

Best,

Rich Bentley
Director of Marketing
Compuware

Unknown said...

Which is why we create both software and system execution models during development & test which much more contextual information. In production we leave only enough contextual information (trading data for reduced overhead) in the system execution model to relate back. The same tool and models can be used across the complete application life cycle without the burden of setting up multiple management servers.

We also have a process for this based on Software Performance Engineering with some extensions.

http://www.jinspired.com/solutions/xpe/index.html

Kind regards,

William Louth
JXInsight Product Architect
CTO JINSPIRED