In the fields of
information technology
Information technology (IT) is the use of computers to create, process, store, retrieve, and exchange all kinds of data . and information. IT forms part of information and communications technology (ICT). An information technology system (I ...
and
systems management
Systems management refers to enterprise-wide administration of distributed systems including (and commonly in practice) computer systems. Systems management is strongly influenced by network management initiatives in telecommunications. The ap ...
, application performance management (APM) is the monitoring and management of the performance and availability of
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
applications. APM strives to detect and diagnose complex application performance problems to maintain an expected
level of service Level of service may refer to:
* Levels of service in asset management
* Level of service (transportation) in transportation and traffic
* Something agreed on in a Service-level agreement
A service-level agreement (SLA) is a commitment between a ...
. APM is "the translation of
IT metrics into business meaning (
.e.value)."
Measuring application performance
Two sets of
performance metrics
A performance indicator or key performance indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity (such as projects, programs, products and other initiatives) in which it en ...
are closely monitored. The first set of performance metrics defines the performance experienced by end-users of the application. One example of performance is average response times under peak load. The components of the set include load and response times:
:* The load is the volume of transactions processed by the application, e.g., transactions per second, requests per second, pages per second. Without being loaded by computer-based demands (e.g. searches, calculations, transmissions), most applications are fast enough, which is why programmers may not catch performance problems during development.
:* The response times are the times required for an application to respond to a user's actions at such a load.
The second set of performance metrics measures the
computational resources
In computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems.
The simplest computational resources are computation time, the number of steps necessary to s ...
used by the application for the load, indicating whether there is adequate capacity to support the load, as well as possible locations of a performance bottleneck. Measurement of these quantities establishes an empirical performance baseline for the application. The baseline can then be used to detect changes in performance. Changes in performance can be correlated with external events and subsequently used to predict future changes in application performance.
The use of APM is common for Web applications, which lends itself best to the more detailed monitoring techniques. In addition to measuring response time for a user, response times for components of a Web application can also be monitored to help pinpoint causes of delay. There also exist
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
appliances that can decode transaction-specific
response times at the Web server layer of the application.
In their ''APM Conceptual Framework'',
Gartner
Gartner, Inc is a technological research and consulting firm based in Stamford, Connecticut that conducts research on technology and shares this research both through private consulting as well as executive programs and conferences. Its clients ...
Research describes five dimensions of APM:
* End-
user experience monitoring – (
active
Active may refer to:
Music
* ''Active'' (album), a 1992 album by Casiopea
* Active Records, a record label
Ships
* ''Active'' (ship), several commercial ships by that name
* HMS ''Active'', the name of various ships of the British Royal ...
and
passive
Passive may refer to:
* Passive voice, a grammatical voice common in many languages, see also Pseudopassive
* Passive language, a language from which an interpreter works
* Passivity (behavior), the condition of submitting to the influence of on ...
)
* Application runtime architecture discovery and modeling
* User-defined transaction profiling (also called
business transaction management
Business transaction management (BTM), also known as business transaction monitoring, application transaction profiling or user defined transaction profiling, is the practice of managing information technology (IT) from a business transaction per ...
)
* Application component monitoring
* Reporting & Application
data analytics
Analytics is the systematic computational analysis of data or statistics. It is used for the discovery, interpretation, and communication of meaningful patterns in data. It also entails applying data patterns toward effective decision-making. It ...
.
In 2016,
Gartner
Gartner, Inc is a technological research and consulting firm based in Stamford, Connecticut that conducts research on technology and shares this research both through private consulting as well as executive programs and conferences. Its clients ...
Research has updated its definition, into three main functional dimensions:
* End-user experience monitoring (EUEM) has been evolved into
Digital experience monitoring (DEM);
* A new dimension,
Application discovery, tracing, and diagnostics (ADTD), combines three formerly separate dimensions (Application topology
untime architecturediscovery and visualization, User-defined transaction profiling, and Application component deep-dive), since all three are primarily focused on problem remediation and are interlinked;
* Application analytics (AA).
Current issues
Since the first half of 2013, APM has entered into a period of intense competition in technology and strategy with a multiplicity of vendors and viewpoints. This has caused an upheaval in the marketplace with vendors from unrelated backgrounds (including network monitoring, systems management, application instrumentation, and web performance monitoring) adopting messaging around APM. As a result, the term APM has become diluted and has evolved into a concept for managing application performance across many diverse computing platforms, rather than a single market. With so many vendors to choose from, selecting one can be a challenge. It is important to evaluate each carefully to ensure its capabilities meet your needs.
Two challenges for implementing APM are (1) it can be difficult to instrument an application to monitor application performance, especially among components of an application, and (2) applications can be
virtualized
In computing, virtualization or virtualisation (sometimes abbreviated v12n, a numeronym) is the act of creating a virtual (rather than actual) version of something at the same abstraction level, including virtual computer hardware platforms, stor ...
, which increases the variability of the measurements. To alleviate the first problem
application service management
Application service management (ASM) is an emerging discipline within systems management that focuses on monitoring and managing the performance and quality of service of business transactions.
ASM can be defined as a well-defined process and use ...
(ASM) provides an application-centric approach, where business service performance visibility is a key objective. The second aspect present in distributed, virtual and
cloud-based
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over multip ...
applications poses a unique challenge for application performance monitoring because most of the key system components are no longer hosted on a single machine. Each function is now likely to have been designed as an Internet service that runs on multiple virtualized systems. The applications themselves are very likely to be moving from one system to another to meet service-level objectives and deal with momentary outages.
The APM conceptual framework
Applications themselves are becoming increasingly difficult to manage as they move toward highly distributed, multi-tier, multi-element constructs that in many cases rely on application development frameworks such as .NET or Java. The APM Conceptual Framework was designed to help prioritize an approach on what to focus on first for quick implementation and overall understanding of the five-dimensional APM model. The framework slide outlines three areas of focus for each dimension and describes their potential benefits. These areas are referenced as "''Primary''" below, with the lower priority dimensions referenced as "''Secondary. ''"
End user experience (primary)
Measuring the transit of traffic from user request to data and back again is part of capturing the end-user experience (EUE). The outcome of this measuring is referred to as Real-time Application monitoring (aka Top-Down monitoring), which has two components, passive and active.
Passive monitoring is usually an agentless appliance implemented using
network port mirroring. A key feature to consider is the ability to support multi-component analytics (e.g., database, client/browser).
Active monitoring, on the other hand, consists of synthetic probes and web robots predefined to report system availability and business transactions. Active monitoring is a good complement to passive monitoring; together, these two components help provide visibility into application health during off-peak hours when transaction volume is low.
''User experience management'' (UEM) is a subcategory that emerged from the EUE dimension to monitor the behavioral context of the user. UEM, as practiced today, goes beyond availability to capture latencies and inconsistencies as human beings interact with applications and other services. UEM is usually agent-based and may include JavaScript injection to monitor the end-user device. UEM is considered another facet of Real-time Application monitoring.
Runtime application architecture (secondary)
Application Discovery and Dependency Mapping (ADDM) offerings exist to automate the process of mapping transactions and applications to underlying infrastructure components. When preparing to implement a runtime application architecture, it is necessary to ensure that up/down monitoring is in place for all nodes and servers within the environment (aka, bottom-up monitoring). This helps lay the foundation for event correlation and provides the basis for a general understanding of how network topologies interact with application architectures.
Business transaction (primary)
Focus on user-defined transactions or the URL page definitions that have some meaning to the business community. For example, if there are 200 to 300 unique page definitions for a given application, group them into 8-12 high-level categories. This allows for meaningful SLA reports, and provides trending information on application performance from a business perspective: start with broad categories and refine them over time. For a deeper understanding, see
Business transaction management
Business transaction management (BTM), also known as business transaction monitoring, application transaction profiling or user defined transaction profiling, is the practice of managing information technology (IT) from a business transaction per ...
.
Deep dive component monitoring (secondary)
Deep dive component monitoring (DDCM) requires an agent installation and is generally targeted at
middleware
Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to implement co ...
, focusing on web, application, and messaging servers. It should provide a real-time view of the
J2EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
and
.NET stacks, tying them back to the user-defined business transactions. A robust monitor shows a clear path from code execution (e.g., spring and struts) to the URL rendered, and finally to the user request. Since DDCM is closely related to the second dimension in the APM model, most products in this field also provide application discovery dependency mapping (ADDM) as part of their offering.
Analytics/reporting (primary)
It is important to arrive at a common set of metrics to collect and report on for each application, then standardize on a common view on how to present the application performance data. Collecting raw data from the other tool sets across the APM model provides flexibility in application reporting. This allows for answering a wide variety of performance questions as they arise, despite the different platforms each application may be running on. Too much information is overwhelming. That is why it is important to keep reports simple or they won't be used.
See also
*
Application Response Measurement
Application Response Measurement (ARM) is an open standard published by the Open Group for monitoring and diagnosing performance bottlenecks within complex enterprise applications that use loosely-coupled designs or service-oriented architectures ...
*
Application service management
Application service management (ASM) is an emerging discipline within systems management that focuses on monitoring and managing the performance and quality of service of business transactions.
ASM can be defined as a well-defined process and use ...
*
Business transaction performance
Business transaction management (BTM), also known as business transaction monitoring, application transaction profiling or user defined transaction profiling, is the practice of managing information technology (IT) from a business transaction per ...
*
List of performance analysis tools
This is a list of performance analysis tools for use in software development.
General purpose, language independent
The following tools work based on log files that can be generated from various systems.
* time (Unix) - can be used to determin ...
*
Network management
Network management is the process of administering and managing computer networks. Services provided by this discipline include fault analysis, performance management, provisioning of networks and maintaining quality of service. Network managemen ...
*
Website monitoring Website monitoring is the process of testing and verifying that end-users can interact with a website or web application as expected. Website monitoring are often used by businesses to ensure website uptime, performance, and functionality is as exp ...
References
{{DEFAULTSORT:Application performance management
System administration
Software performance management