What does APM monitor?
APM doesn’t directly measure the health of the network but rather the health of an application running on that network. At its core, APM monitors the transactional speed of a web application, including the speed at which different services execute their part of the transaction and other metrics related to app performance. While APM tools differ in design and feature set, APM’s primary goal is to collect all the components of every transaction generated by an application and its users, providing organizations actionable insights into every facet of an application. APM can also detect anomalies that the application generates and reports to IT operations and management, allowing developers and site reliability engineers (SREs) to identify and troubleshoot unknown issues hidden in the application architecture.
APM tools are designed to answer several key questions, including:
- Is the application behaving and responding as it’s supposed to?
- Are performance bottlenecks or other errors having an impact on the application?
- If so, what is the source of this bottleneck or error? Is it the application itself? Is it the interdependencies between the different services constituting the application? A problem with the infrastructure?
- What is the impact of this bottleneck on end users and on the business?
- Can we correct this bottleneck?
What are the key metrics for APM?
APM tools usually measure three types of metrics, known as RED metrics:
- Rate: the rate at which a transaction is executed
- Error: whether it produces any errors
- Duration: the time it takes to execute the transaction
Different tools take varying approaches to APM, giving developers and SREs a more comprehensive understanding of application performance issues. Specifically, APM tools typically collect the following metrics:
- Average response time: How quickly is the app responding to user requests and completing transactions, and is this slowing over time?
- Overall user traffic/request rate: Performance often degrades as the number of simultaneous users increases. APM solutions measure the performance of every transaction, providing a granular level of detail that helps SREs and developers understand the source of performance slowdowns.
- Error rates: Is an application generating errors and how serious are they? Where in the application are these errors being generated? This information can expedite troubleshooting and measure the application’s overall uptime.
- Business KPIs and SLOs: Is the app meeting the required business key performance indicators (KPIs), service level agreements (SLAs) and service-level objectives (SLOs), which might include factors such as checkout time, the number of logins and length or frequency of downtime? Any violations to your SLO error budget — the rate at which you can miss those objectives — could have a major financial impact on your organization.
What is an APM solution?
An APM solution is software that provides several key application monitoring features. These features include:
- Application discovery, tracing and diagnostics (ADTD): APM tools discover and create a service map of all the microservices that make up an application, web servers, application servers, application frameworks and other platforms on the network, including on-premises servers, cloud-based servers and systems running on hybrid infrastructures. For this to occur, ADTD uses both bytecode instrumentation (BCI), which can profile applications on the fly, as well as distributed tracing techniques.
- Analytics: APM solutions are designed to track performance data over time so developers, SREs and business owners can determine whether the application meets its SLOs and keep tabs on operations as the environment changes. Such changes could include an increase in the number of users, the degradation of service or changes to the underlying code. Using root cause analysis and anomaly detection logic, artificial intelligence (AI) and machine learning tools can then predict whether performance is likely to deteriorate and why. APM tools may also use and analyze application logs to generate insights that pinpoint trouble spots.
While APM solutions vary in complexity, design, scope and price, it’s critical to realize that the goal of an APM solution is to give developers and SREs actionable insights not only into applications’ performance problems, but also into the reasons those problems exist. Simply knowing that an application is slow or throwing errors isn’t very useful. APM is most helpful when it empowers teams to quickly understand the root cause of those slowdowns and errors. A solid APM tool will present this information graphically through a dashboard that outlines and tracks the performance of each service and its dependencies over time.
Why should I use APM?
APM provides a number of clear advantages to organizations that adopt these tools, such as:
- Reduced service degradations and SLO breaches: One of the biggest reasons that organizations adopt APM is to troubleshoot problems quickly and get systems back up to full functionality to meet their SLOs in case of an issue, while also preventing future issues from occurring. APM is a critical tool in reducing mean time to resolution (MTTR) from problems due to application-related errors and performance issues.
- Increased revenue: If an application or service is unavailable, customers may quickly become frustrated and find an alternative, which ultimately impacts revenue. APM can not only help to ensure your applications stay up and running, it can also help to improve critical application loading time.
- Increased speed and competitiveness: APM helps ensure application optimization, in turn increasing speed and agility that allows organizations to keep pace with the industry’s accelerated demands. In most industries, latency is on par with downtime, so the increased speed and agility translates into a competitive edge.
- Improved digital experience and customer satisfaction: Your customers will be happier the faster your application responds. Latency is a determining factor in customers’ opinions — both desktop and mobile searches use page load time as a ranking factor. If you aren’t regularly evaluating mobile and web application performance, you’re probably losing end-user customers.
- Reduced operating costs: When an application that is not being actively monitored fails, it often does so catastrophically and without warning. Consequently, organizations have to stop everything to deal with the sudden fire drill, putting their DevOps teams in extremely stressful situations. APM helps to minimize these expenses by giving the organization greater insight into any trouble before it becomes a catastrophe. By using APM automation tools, organizations can also reduce staffing, further saving on expenses for IT operations.
How does application performance monitoring compare to infrastructure monitoring?
Both application performance monitoring and infrastructure monitoring help administrators understand and address performance and productivity issues that can impede business operations. They can both aggregate metrics around user experience, assess whether an IT environment is maintaining or falling below performance metrics or experiencing bugs and other disruptive issues. However, the approach to both systems of monitoring varies.
As mentioned, application performance monitoring observes how applications are performing and if they’re functioning appropriately. If they’re not, then the monitoring tool collects data on the source of the issue, alerting IT teams so they can correlate the performance of a specific application or set of applications to business or outcomes. It also allows them to identify and address performance issues on the backend before they affect end-user experience or negatively impact the bottom line.
IT infrastructure monitoring, on the other hand, automates information collection and review for various components of an enterprise's computing environment. Once an issue is identified, the infrastructure monitoring tool communicates it to IT teams so they can more effectively and efficiently get to the root before the problem impedes or degrades productivity. Infrastructure monitoring also ensures that network resources are running optimally and as intended.
How does application performance monitoring compare to container monitoring?
While there is no direct comparison, performance monitoring and container monitoring have a number of overlapping uses. Some APM tools can monitor applications that are deployed in containers as well as non-containerized application environments. Container monitoring tools contain many of the same features as application performance monitoring systems but may also include additional features that go beyond performance measurement. That said, most container monitoring tools are also APM tools.
If your applications are containerized, it’s important to consider a container monitoring tool specifically to keep tabs on them. Traditional APM tools were not historically designed to monitor containerized environments — their architecture is too complex and has too many complicated dependencies for a standard APM tool to handle.
The good news is that dedicated container monitoring solutions are now widely available, so managing containerized application performance is just as possible today as managing traditional application performance.
How do you choose the right APM solution?
Many APM solutions exist, each with advantages and disadvantages. To help you choose the right APM solution for your organization, below are a number of key considerations, keeping in mind that budget will be a factor too.
Organization-specific questions to answer:
- Are your applications a single block of code running on a single virtual machine (VM) or are you using modern design based on microservices?
- Is your organization using modern software development methodologies and adopting a DevOps culture?
- Do you want to find any anomaly and give a wide variety of users a great experience, or are you content with just serving a portion of your customers well?
- How “real-time” do you need your insights to be? Do you need to get alerts within seconds of an issue occurring or can you afford getting alerts after only five minutes?
Features to look for:
- Support for applications deployed both on-premises and in cloud-based environments, developed using a variety of programming languages
- Centralized reporting and management, including an intuitive dashboard
- Full-stack, code-level visibility into all applications, related services and their dependencies (such as databases and external services)
- Inclusion of a wide variety of metrics relevant to your organization
- Support for both synthetic transactions and real user monitoring
- Intelligence that offers contextual information about the source of application errors and bottlenecks, with flowcharting tools that make it easy to pinpoint the root cause of trouble spots
- AI and machine learning tools embedded in the APM solution that make it easy to quickly discover the source of performance problems
- Ability to track important business KPIs and make sure you hit your SLOs in a microservices-based environment
- Support for OpenTelemetry, the leading standard for open source instrumentation
- Support for container and serverless environments as needed by your enterprise
- Ability to scale with your needs
- Effective training to implement and manage the tool, plus high-quality support
The Bottom Line: APM is rapidly becoming a business necessity
In a time when changing service providers is as easy as opening a new browser window, it’s crucial for organizations to guarantee their applications are at peak performance.
APM’s upward growth trends haven’t been lost on industry analysts. MRFR Analysis pegs the growth rate at 10.7 percent through 2025, while Research and Markets predicts an 11.2 percent growth rate through 2027 for application performance monitoring tools.
Today, it’s vital for enterprises with customer-facing applications to include an application performance monitoring system as part of their strategic arsenal. APM can help to ensure high customer satisfaction and, ultimately, prevent revenue loss due to customer defections and performance degradations. What’s more, APM is an essential tool that helps developers build and maintain best practices when coding applications, creating a virtuous circle that benefits everyone.