Application Performance Management
Application performance management, or APM, refers to the discipline within systems management
Systems management
Systems management refers to enterprise-wide administration of distributed systems including computer systems. Systems management is strongly influenced by network management initiatives in telecommunications....

 that focuses on monitoring and managing the performance
A performance, in performing arts, generally comprises an event in which a performer or group of performers behave in a particular way for another group of people, the audience. Choral music and ballet are examples. Usually the performers participate in rehearsals beforehand. Afterwards audience...

 and service availability
In telecommunications and reliability theory, the term availability has the following meanings:* The degree to which a system, subsystem, or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time...

 of software applications.

APM can be defined as process and use of related IT tools to detect, diagnose, remedy and report application’s performance to ensure that it meets or exceeds end-user
Economics and commerce define an end user as the person who uses a product. The end user or consumer may differ from the person who purchases the product...

s’ and businesses’ expectations. Application performance relates to how fast transactions are completed on behalf of, or information is delivered to the end user by the application via a particular network, application and/or web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

s infrastructure.

Methods for Measuring Performance

There are two main methods by which application performance is assessed for production applications. The first is measuring the resources
Resource (computer science)
A resource, or system resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource...

 used by the application. The second is measuring the response time of applications from the perspective of the end user.

Application performance management is related to end-user experience management and real user management
Real user monitoring
Real user monitoring is a passive web monitoring technology that records all user interaction with a website. Monitoring actual user interaction with a website is important to website operators to determine if users are being served quickly, error free and if not which part of a business process...

 in that measuring the experience of real users in the use of an application in production is considered by many as being the most valid method of assessing the performance of an application in production.


The use of application performance management is common for web applications written to JEE
Java Platform, Enterprise Edition
Java Platform, Enterprise Edition or Java EE is widely used platform for server programming in the Java programming language. The Java platform differs from the Java Standard Edition Platform in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier...

 and Microsoft .NET platforms. All of the leading systems management vendors have JEE and .NET APM products in their portfolios. These APM for JEE and .NET based applications have the advantage of being able to measure response time from the perspective of the web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....

, and being able to provide root cause analysis for the likely causes of performance issues within the applications code executing in the JEE or .NET environment. Many of these products also have connectors that monitor the transaction flow from the business logic
Business logic
Business logic, or domain logic, is a non-technical term generally used to describe the functional algorithms that handle information exchange between a database and a user interface.- Scope of business logic :Business logic:...

 layer of the application to the database server
Database server
A database server is a computer program that provides database services to other computer programs or computers, as defined by the client–server model. The term may also refer to a computer dedicated to running such a program...

, or to external interfaces like web services. Some of these vendors also have HTTP appliances in their product line that can decode transaction specific response time
Response time
In technology, response time is the time a system or functional unit takes to react to a given input.- Data processing :In data processing, the response time perceived by the end user is the interval between the instant at which an operator at a terminal enters a request for a response from a...

s at the web server layer.

Dependency injection software development frameworks on JEE instrument an application to provide performance metrics automatically. For example, Spring-based JEE applications support management protocols to provide observed issues in application operation to a performance management tool/dashboard. SpringSource acquired APM-player Hyperic in 2009 to combine application development, automatic application instrumentation, and application performance management. Aspect Oriented Programming on JEE platforms enables automatic performance monitoring without instrumentation of the application. PushToTest TestMaker is an open source load testing solution that integrates with Glassbox, an open source application performance monitoring and troubleshooter application.

Current Issues

The difficult issues in APM currently revolve around two trends in the IT industry. The first is that for many enterprises, only a small fraction of their business critical applications are web based and written to JEE or .NET. For these enterprises who may have business critical applications like SAP that use "fat
Fat client
A fat client is a computer in client–server architecture or networks that typically provides rich functionality independent of the central server...

" Win32 clients, their APM need can only be met by engaging with vendors offering deep End User Experience monitoring for a specific set of enterprise applications. The second issue is that many applications systems are being virtualized, which has the effect of breaking the validity of time based performance metrics gathered within the guest OS
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 where the application is running. This requires a totally new approach to APM tuned to the requirements of virtualized systems.

While there are a number of established vendors in the APM space, such as IBM and CA Technologies, as well as larger players like Microsoft and Oracle looking to grow in the market through strategic acquisitions, a number of startups have won venture capital funding with new, innovative approaches to the problem.

Five Functional Dimensions of APM

According to Gartner
Gartner, Inc. is an information technology research and advisory firm headquartered in Stamford, Connecticut, United States. It was known as GartnerGroup until 2001....

 research, Application Performance Management includes 5 distinct functional dimensions:
  • End-user experience
    User experience
    User experience is the way a person feels about using a product, system or service. User experience highlights the experiential, affective, meaningful and valuable aspects of human-computer interaction and product ownership, but it also includes a person’s perceptions of the practical aspects such...

  • Application runtime architecture discovery and modeling
  • User-defined transaction profiling (Also called Business Transaction Management
    Business Transaction Management
    Business transaction management , also known as business transaction monitoring, application transaction profiling or user defined transaction profiling, is the practice of managing information technology from a business transaction perspective...

  • Application component deep-dive monitoring
  • Application data analytics

See also

  • Appnomic
  • Apdex
    Apdex is an open standard developed by an alliance of companies. It defines a standard method for reporting and comparing the performance of software applications in computing...

  • AppDynamics
    AppDynamics, Inc. is an application performance management company headquartered in San Francisco, CA. The company focuses on managing the performance and availability of applications across cloud computing environments as well as inside the data center...

  • Application Response Measurement
    Application Response Measurement
    Application Response Measurement 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
    Application service management is an emerging discipline within systems management that focuses on monitoring and managing the performance and quality of service of business transactions....

  • Business transaction management
    Business Transaction Management
    Business transaction management , also known as business transaction monitoring, application transaction profiling or user defined transaction profiling, is the practice of managing information technology from a business transaction perspective...

  • Business transaction performance
    Business transaction performance
    Business transaction performance is a methodology providing for comprehensive visibility into complex, multi-tier business transactions. BTP provides real-time discovery of transaction topology, behavior and performance; visualization, analysis, automation, reporting and process...

  • dynaTrace Software
  • ExtraHop Networks
    ExtraHop Networks
    ExtraHop Networks, Inc. is an application performance management companyheadquartered in Seattle, Washington, USA.ExtraHop sells enterprise network appliances that perform layer 2 through layer 7 network traffic analysis.-History:...

  • Lew Cirne
    Lew Cirne
    Lewis Karl "Lew" Cirne is a Canadian-American Silicon Valley-based technologist and serial entrepreneur who is known as the creator and driving force in application performance management technology...

  • Integrated business planning
    Integrated business planning
    Integrated business planning refers to the technologies, applications and processes of connecting the planning function across the enterprise to improve organizational alignment and financial performance...

  • Nastel
    Nastel Technologies is an information technology monitoring company that provides solutions for business transaction management and application performance management .- History :...

  • Network management
    Network management
    Network management refers to the activities, methods, procedures, and tools that pertain to the operation, administration, maintenance, and provisioning of networked systems....

  • New Relic
    New Relic
    New Relic is an Application Performance Management company based in San Francisco, California. Lew Cirne, known as the inventor of Application Performance Management, founded New Relic in 2008 and currently acts as the company's CEO. New Relic's APM solution is delivered in a Software as a Service...

  • System administration
  • Systems management
    Systems management
    Systems management refers to enterprise-wide administration of distributed systems including computer systems. Systems management is strongly influenced by network management initiatives in telecommunications....

  • Website monitoring
    Website monitoring
    Website monitoring is the process of testing and verifying that end-users can interact with a website or web application. Website monitoring is often used by businesses to ensure that their sites are live and responding....

  • Integration of Performance Management into the Application Lifecycle
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.