Search: in
Application performance management
Application performance management in Encyclopedia Encyclopedia
  Tutorials     Encyclopedia     Videos     Books     Software     DVDs  
       





Application performance management

Application performance management (APM), is the discipline within systems management that focuses on monitoring and managing the performance and availability of software applications. APM is the translation of IT metrics into business meaning (value).][1] This discipline looks at workflow and related IT tools deployed to detect, diagnose, and report on application performance issues to ensure that it meets or exceeds the expectations of end-users and the business.

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 services infrastructure.

Contents


Methods for Measuring Performance

There are two main methods by which application performance is assessed for production applications. The first is measuring the resources used by the application. The second is measuring the End User Experience which in and of itself has two components. The first, is response time of an application from the perspective of the end user, and the second is the volume of transactions that are going through the system during the response time measurements.

These methods for measuring performance ultimately compose into an Application Profile, which consists of three high level categories.

  • Transaction Performance / Response Times (EUE)
  • Transaction Volume (metrics trending)
  • Resource Consumption (Infrastructure)

Application performance management is related to end-user experience management and real user management 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. Maximum productivity can be achieved more efficiently through event correlation, system automation and predictive analysis which is now all part of APM.[2]

Platforms

The use of application performance management is common for web applications written to JEE 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, 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 layer of the application to the database server, 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 times 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" 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 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 Hewlett-Packard, Compuware, 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.[3] In December 2011, Gartner published a report on six newer vendors that are driving innovation in the APM market: Splunk, Netuitive, New Relic, BlueStripe, AppDynamics, ITRS Group, and ExtraHop Networks.[4] Gartner s 2011 APM Magic Quadrant identified vendors such as InfoVista as a leader in the space for its work with communications service providers and application performance analytics. Some vendors offer Cloud-based monitoring services tailored to specific verticals, such as e-commerce.

Five Functional Dimensions of APM

According to Gartner research, Application Performance Management includes 5 distinct functional dimensions:[5]

The APM Conceptual Framework

The APM Conceptual Framework was designed to help Prioritize Gartner s APM Model outlining an approach on what to focus on first for a quick implementation and overall understanding of APM support. The framework slide outlines 3 areas of focus for each dimension and then describes their potential benefits on one page. These areas are referenced as "Primary" below, with the lower priority dimensions referenced as "Secondary."[6]

End User Experience (Primary)

Real-time Application Monitoring also referred to as Top Down monitoring, is the cornerstone that gives the EUE its tangible value. This is a low risk implementation and provides one of the highest values within APM in terms of application visibility for the business, and helps lay the foundation for performance trending and predictive analysis.

This approach of Top Down monitoring has two components, Passive and Active. Passive monitoring is usually an agentless appliance and low risk to implement using network port mirroring, this is also known as Real user monitoring (RUM) technology. In general, this can be up and running providing details of the application performance in less than two days. When considering an agentless solution, a key feature to look for is the ability to support multiple protocol analytics (e.g. XML, SAP ABAP, SQL) since most companies have more than just web-based applications to support.

This slide outlines 3 areas of focus for each dimension and describes their potential benefits.
This slide outlines 3 areas of focus for each dimension and describes their potential benefits.
Active monitoring, on the other hand, consists of synthetic probes and web robots which help report on system availability and predefined business transactions. This is a good complement when used with passive monitoring that together will help provide visibility on application health during off peak hours when transaction volume is low.

Runtime Application Architecture (Secondary)

A minimal take away here would be to ensure that you have up/down monitoring in place for all nodes/servers within the environment. Also referred to as Bottom Up monitoring, this will become a critical component to build on when working on event correlation to help implement an overall runtime architecture solution.

Providing the transaction path snapshots will also help bring together the Top Down and Bottom Up monitoring. This will give you better service dependency mappings and an understanding on how the network topologies interact with the application architecture. Keep in mind though the runtime views are something you can focus on after you have built a solid application profile with the EUE, Business Transactions and Reporting/Analytics dimensions.

Business Transaction (Primary)

Using a subset of this dimension, we focus on the user defined transaction or the URL page definition that has some meaning to the Business community. There may be 200 to 300 unique pages definitions for any given application however; we will group them together into 8-12 high level business transaction categories. This helps begin the process of articulating meaningful SLAs to the business, and provides early warning trend reports on performance degradation before it becomes apparent to the majority of the user population.

Once your APM solution matures, you can then fine tune what each business transaction means as you implement other facets of the APM model. Keep it simple, start with broad categories and then refine them over time. For a deeper understanding see Business Transaction Management.

Deep Dive Component Monitoring (Secondary)

This will require an agent install and is generally targeted in the middleware space focusing on the Web, application, and messaging Servers. It should be able to give you the runtime view of the J2EE and .NET stacks, tying them back to the user defined business transactions. A robust solution will give you a clear path from the code execution standpoint (e.g. springs, struts, etc.), to the URL rendered, to the user request and where it came from.

Since this is closely related to the second dimension in the APM model, you will find that most products in this space will also provide application discovery dependency mapping (ADDM) as part of their broader solution.

Analytics/Reporting (Primary)

A good practice is to collect the raw data from the other tool sets that will allow you to answer a wide variety of performance questions as they arise. Most products will summarize or roll-up the detail data for reporting and archiving purposes and may fall short in answering long term trending questions. It is also beneficial to find a product that has an open data mining interface within the context of their own tool set. This will give others the flexibility to create their own reports and become somewhat of a self-feeder when it comes to answering questions on performance.

It is important to come to a common set of metrics that you will collect and report on for each application. Then standardize on a common view on how you will present the real-time performance data as well as the monthly SLA reports despite the diverse technologies and different platforms each application may be running on.

Your best bet: Alert on the Averages and Profile the Percentiles. Use 5 minute averages for real-time performance alerting, and percentiles for overall application profiling and Service Level Management.

Notes

References

  • Gartner report, Magic Quadrant for Application Performance Monitoring, February 2010 - Users have to have a Gartner account in order to see document

See also

ko:






Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article



Search for Application performance management in Tutorials
Search for Application performance management in Encyclopedia
Search for Application performance management in Videos
Search for Application performance management in Books
Search for Application performance management in Software
Search for Application performance management in DVDs
Search for Application performance management in Store




Advertisement




Application performance management in Encyclopedia
Application_performance_management top Application_performance_management

Home - Add TutorGig to Your Site - Disclaimer

©2011-2013 TutorGig.info All Rights Reserved. Privacy Statement