you're reading...

Blog Posts

The Many Faces of Application Performance Management

It doesn’t take a genius to know that business applications have to perform well, particularly if those applications service a company’s customers. This is why most IT staffs understand the importance of application performance management (APM) for protecting and enabling their business’ reputation and success.

But selecting APM solutions can be a very confusing experience for customers choosing from the wide array of APM products and solutions; with one vendor focusing on the importance of end user experience, and another highlighting their automated application mapping, and another featuring their packet inspection capabilities, and yet another discussing transaction management, and the list goes on. They all identify themselves as APM solutions, but which is the best tool? And why are they all so different?

The difficulty of APM is that applications have many faces – kind of like multiple personalities – but they are all categorized with the same generic label of “applications”. The challenge is that each application has unique performance characteristics and user expectations that must be taken into account when managing performance but sometimes IT staffs take a more generic approach.

For example, gamers will quickly jump out of an online game that is not responding almost instantaneously, but a scientist running a large model run in the cloud may be very content to wait several hours for the results. So APM for gamers focuses on response time, while application performance for the scientist’s model run focuses on optimizing compute and database resources for better throughput. The application performance requirements determine the best APM approaches that should be applied to that particular application.     

The End User Experience         

Another face of APM is “end user experience”, which many APM vendors use interchangeably with “response time”. But end user experience encompasses more than just response time. For some applications, like in the gamer example above, response time and fast page rendering play a primary role in the end user’s experience. But for other application users, response time is an important part of their end user experience but it isn’t the only performance related aspect.

Consider the case of a shopper using an online retail site. At a minimum, the web site’s response time must perform at an acceptable level or the shopper may abandon their shopping cart. But what if the application design is inefficient and requires the shopper to go through a sequence of 10 pages to order an item, that a more efficient application could have accomplished with 6 pages. The response time and page rendering time may be very fast but the total amount of time that it takes the shopper to order the item is much longer than the shopper’s expectations and they abandon their cart. So in addition to response time, end user experience and performance expectations can also be affected by good application design.

Programming Techniques and Performance

Since we’ve just touched on the importance of application design on performance, programming techniques can also have an impact on performance. Poor programming techniques can add extra seconds to response time, affecting the end user experience.

This highlights the issue of nature versus nurture for performance. If performance flaws are built into the application’s design or coding techniques, it’s unlikely that throwing more hardware at the problem will solve the performance problem. This also means that the scalability of cloud computing will not necessarily solve this problem either.  And this is why performance testing and consideration, as well as load testing are important for development and testing teams, so they can minimize performance issues caused by development BEFORE the application goes into production. Taking that a step further, APM and application performance awareness is the responsibility of development, QA and IT operations (DevOps).      

Transaction Management                        

Transaction Management is yet another face of APM. Once the various response time measurements tell you that you have a performance issue, the next step is to find what’s causing the performance issue, or the root cause. The strength of transaction management is that it deconstructs response time into segment measurements that can help identify where the performance delay is occurring. Then IT teams can drill down to investigate the root cause of the issue. For example, the delay may be happening in the database server. IT teams must then determine if the issue is due to hardware problems, resource issues such as memory constraints, inefficient programming techniques or other issues.     

The Cloud and APM

APM is valuable when you can do something about performance issues. (Another face of APM.) APM is an important consideration when using cloud computing and outside service providers. Management visibility into application performance, as well as application diagnostic access is essential for critical business apps in the cloud or hosted by outside service providers. (Sometimes this requires resident agents on servers, which some service providers may prohibit.)

Service Level Agreements matching the criticality of the applications are a must for outside cloud services or service providers on which applications depend. There is nothing worse than the only action available to you is wringing your hands during a service provider outage. 

APM and BSM

And finally, APM is a Business Service Management issue – from the perspective of keeping business services performing optimally. That means that APM, like BSM, is everyone’s responsibility – business, development, testing, and operations. IT staffs must understand the unique performance characteristics and user expectations of applications, in order to manage them most effectively.

The multiple personalities of APM, while a challenge, also provide the flexibility to deal with a variety of unique application performance characteristics and user performance expectations. The key is developing performance expertise and awareness throughout the organization to know what and how to best use APM to optimize application performance. The secret is not in the tools themselves (although they do provide a lot of helpful functionality and visibility), it’s in how you use the information and tools to keep your applications humming.

Who’s in charge of application performance?  Go to this link to weigh in. http://poll.fm/3cg2y

Note: Also published in BSMDigest. http://www.bsmdigest.com/the-many-faces-of-apm

 

Discussion

2 Responses to “The Many Faces of Application Performance Management”

  1. You bring up some great points here especially with regards to the end-user experience.

    Applications, when measured from an end-user experience standpoint can often bring to light seemingly small issues but are in fact critical when you consider the loss of brand equity and revenue that even a minute of down time could cause. To add to the examples you provided, consider that of a BPO. In the BPO industry or indeed in any back-office environment, revenue generated, productivity attained and, customer satisfaction created is a direct function of application performance experienced by end-user. Whether it is a customer service agent’s need to access a customer profile to resolve an issue or an outgoing telemarketing call that requires an agent to capture customer information, applications are core to optimal functioning in terms of time management and turn-around. Additionally given the 24×7 nature of a back office, end-user discontent can spread quickly with application downtime. The customer facing nature of the business means one unsatisfied customer can send more business away from a company than ten satisfied ones can attract.

    The measurement imperatives therefore, are relatively clear. First, it is essential to apply business logic across all components in an IT stack. This needs to be followed by base-lining performance at all the layers (as necessary) along with the business impact of any deviation from this base-line. These baselines and deviations then needs to be correlated with the application performance symptoms as they would be observed by the end-user.

    This is later used to manage application performance as experienced by the end user and provide for strong composite SLAs that are aligned with larger business goals.

    Posted by jaydip@anuntatech | November 13, 2011, 10:53 pm
  2. You’re exactly right — the impact of application issues can have serious repercussions for a company, especially when they impact customer experience. Application performance must be viewed from a business perspective, more than a technological one. (Although technology provides the means to monitor and manage the application, it’s the impact on the customer that counts most.)

    And yes, application management requires a multi-layered, multi-faceted approach.

    Thanks for weighing in on this topic.

    Posted by Audrey Rasmussen | November 17, 2011, 4:40 pm

Post a comment

Spam Protection by WP-SpamFree