Application Performance Management (APM) is the work of monitoring and managing a software application’s performance and availability. APM’s scope further includes performance measurement for virtually any IT asset that affects end user experience. The goal of APM is to detect application performance issues in order to adhere to an agreed-upon service level. In particular, APM is focused on app response times under various load conditions. As part of this, APM also measures the compute resources required to support a given level of load.
According to members of the IT Central Station community, APM tools serve multiple masters. Developers need to understand app performance characteristics in order to ensure an optimal software experience for end users. Business managers and IT department leaders use APM data to help make decisions about infrastructure and architecture.
As applications grow more complex and interdependent, APM users express high expectations for potential APM toolsets. Accessibility, manageability and scalability are essential. Users argue that an effective APM tool must give business stakeholders accurate, understandable data while allowing developers to dive deeply into stored data over the long term.
APM users want APM tools to measure the deep internal transactions that take place inside an application or between integrated system elements. They want APM data in real time, across multiple application tiers, with transparency along the entire application process chain. Some refer to this as “full stack tracing.”
Ideally, APM data should be measured against user experience as a key performance indicator. For example, if a bottleneck is being caused by database latency, users want to understand the root cause so they can fix it immediately. This might require an alerting based on patterns and “baselining.”
Some expect APM tools to enable the discovery of complex distributed application architecture or even microservices and containers. After all, not all application architecture is known at the outset, and it certainly changes over time. Users need APM tools to be proactive whether they are used in dev, test, QA or production environments.
The APM toolset itself should have low impact on application performance. The measurements it takes have to be easy to interpret and place into a business-friendly reporting output. For instance, IT Central Station members suggest that APM tools should offer a predefined customizable reporting capability, with high visibility and a capacity to export and report on large quantities of raw data.