What is Application Performance Management (APM)?
In this article
In my last post, I talked about the emerging AIOps discipline, which includes four key components: Enterprise Monitoring, Network Performance Management, Application Performance Management and Security Monitoring and Management. In this post, I'll drill down on a component that deserves much more attention than it gets in most enterprises: Application Performance Management (APM).
But before I talk about APM, it's occurred to me that the industry (WWT included) doesn't always standardize its usage of the term. Sometimes its Application Performance Monitoring. Other times its Application Performance Management. While it's true that you can't manage what you can't see, it's equally true that you need to be able to manage what you do see. Call it what you will, but both monitoring and management are vital.
With that out of the way, let's dive in.
Why is APM important?
In a technology-driven world, a user's experience with an application can make or break a company's reputation. Even organizations that don't see themselves as tech organizations are creating applications. For example, while there are plenty of Fintech startups, it's hard to find a bank or financial services firm that isn't also (or even exclusively) developing their own financial services applications in-house.
A survey conducted by Citi in 2018 found that 81 percent of respondents use their phones to manage their money an average of nine days every month. That's a lot of "moments of truth" for these application developers and the banks' customers!
Whether developed in-house or sold as a Software-as-a-Service subscription, the performance of these applications often defines the customers' perceptions of the organization. Even if the development team is just developing applications for internal use, IT's reputation is still on the line. The last thing you need is for your customers (internal or external) to be performing the QC role.
Many enterprises have invested heavily in cloud and network management solutions that provide visibility into the application environment, but there's more to application performance than resource capacity, latency, etc. APM offers a holistic look at application performance.
This includes the operating environment, but it also includes the application itself. This deeper focus helps the development team cut mean time to remediation (MTTR) of application issues even further for a better overall customer experience.
What does APM measure?
To illustrate the difference between other monitoring/management applications and APM let's look at some of the metrics in the APM solution we use the most with clients: AppDynamics. Keep in mind that this is not a complete list. The intent is simply to provide an idea of why you need APM in addition to your other monitoring/management solutions.
- CPU usage: AppDynamics monitors your web server for data related to CPU usage, memory demands and disk read/write speeds to make sure usage doesn't negatively affect performance. Some of this might overlap with other applications, such as cloud performance management, but in this case APM is drilling down into metrics specifically related to the application.
- Error rates: This metric looks at issues such as how often web requests end in an error or operations fail during a memory-intensive process.
- Request rates: Evaluating how much traffic your application receives and collecting data on spikes, inactivity or number of active users can help pinpoint the source of problems and identify areas in need of optimization.
- Response time: How long does it take for the application to respond to a request? With so much computing power available these days, more than a few milliseconds gets noticed. Also, is response time degrading? This may indicate a potential issue with the application environment.
- Application availability: At no time does your reputation suffer more than when your customers can't access your application at all. Monitoring the uptime of your application can help you better understand the user experience and ensure that performance is in line with internal and external SLAs.
Since APM is a component of AIOps, an APM solution should naturally share many of the same characteristics, such as:
- Real-time analysis: It doesn't make any sense to look at weekly, monthly or yearly reports when the problem is long past. Waiting for customers to alert you to a problem is even worse. Your APM solution should provide you visibility into application performance right now. In addition to role-based dashboards, it should also offer an advanced alerting system that ensures the right people know about any issues that crop up.
- Predictive, not reactive: Catching an issue before it happens is the best way to impact the customer experience positively. Your APM solution should also include predictive analytics that can tell you what might happen based on current data.
- Self-healing: Advanced APM solutions use machine learning and AI to preemptively address some issues, making MTTR almost instantaneous.
- Holistic: Your APM solution should look at application performance from a holistic perspective, including third-party solutions, to determine the root cause of a performance problem.
- Code level: Tracking performance down to the code level also makes it easier for developers to determine the root cause of a performance problem and speed up remediation.
Why you need to incorporate APM into AIOps
Of course, your applications don't function in a vacuum, and those IT professionals charged with keeping an eye on application performance may be managing many other elements as well. Incorporating APM into AIOps provides your team with a comprehensive look at the whole. They don't need to be monitoring multiple dashboards to have a positive impact on the end-user experience.
To get an idea of what this integration between APM and AIOps looks like, I invite you request a demo of an APM & AIOps solution with the WWT team. This demo dives into the most advanced solutions in the market today, bringing in APM to AIOps allows for a collaborative environment through out the IT org (DBA, networking, security, etc).