REPORT

2022 Gartner® Magic Quadrant™ for APM and Observability Read the Report

DevOps and Security Glossary Terms

Glossary Terms
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Application Performance Monitoring (APM) - Definition & Overview

In this article
What is Application Performance Monitoring?
What is Cloud APM?
Application performance monitoring: three categories of data
Application performance monitoring: what should you measure?
Application performance monitoring with Sumo Logic
What is Application Performance Monitoring?
What is Cloud APM?
Application performance monitoring: three categories of data
Application performance monitoring: what should you measure?
Application performance monitoring with Sumo Logic

What is Application Performance Monitoring?

APM (Application Performance Monitoring) tools capture data, and aggregate and analyze the data to detect patterns and present actionable insights in a human-readable format.

TLDR

  • APM is a capability that enables development teams to monitor and manage the performance of their software in a live environment.

  • APM tools drive value by capturing data from IT infrastructure, aggregating it into a single database, analyzing the data to detect patterns and trends, and presenting actionable insights in a human-readable format.

  • Cloud application performance monitoring (or cloud APM) is a set of software and tools used to monitor and measure the resources used to support environments built in the hybrid cloud, public cloud or private cloud.

Modern application management has become increasingly complicated for software developers, due in part to new software architectures, like IaaS (infrastructure as a service), PaaS (platform as a service) and CaaS (container as a service); the widespread use of microservices and functions; and new software development practices, like Agile and DevOps. Many IT organizations are also increasing the number of applications they deploy in hybrid cloud environments, which increases administrative overhead and makes it more difficult to effectively manage applications without a cloud-based APM tool.

With APM, software development teams can track a variety of metrics for applications that are deployed in the cloud. APM enables development teams to monitor and manage the performance of their software in the live environment.

APM has been described as the translation of IT metrics into business meaning. APM tools drive value by capturing data from IT infrastructure, aggregating it into a single database, analyzing the data to detect patterns and trends and presenting actionable insights in a human-readable format.

However, a shift in APM is underway. For decades, the domains of security and IT operations have worked in separate silos within most organizations. This has been the case even when the teams are using the same telemetry, most commonly seen with log files (e.g., SIEM).

As more and more applications become public-facing and business critical, there is a growing overlap and similarity of the IT operations and security operations toolchains, cohorts and strategies. More collaboration between security and ITOps is practically inevitable. In fact, to reflect the growing interest and adoption of full-stack observability in the domain of APM, some definitions of APM now extend to “APM and Observability” and include security.

The primary distinction between observability and traditional APM is that observability-centric solutions support an exploratory, analytics-driven workflow that may bear more resemblance to business intelligence (BI) than IT operations. The continued growth in mobile, cloud-native applications and workload migrations from the traditional data center to cloud architectures continues fuels the APM and observability market.

What is Cloud APM?

Cloud application performance monitoring (or Cloud APM) is a set of software and tools used to monitor and measure the resources used to support environments built in the hybrid cloud, public cloud, or private cloud. Cloud APM monitoring tools ensure these systems have optimal performance by improving incident response time and management.

Application performance monitoring: three categories of data

Application performance monitoring is a versatile capability that can be used to measure many different types of data. There are three categories of data that your IT organization should differentiate between when configuring your APM capability:

Metrics offers a wealth of information about application performance. A metric is a quantified measure that conveys the status of a specific process. Metrics are frequently generated by a variety of applications and operating systems and can easily be correlated across different elements of the IT infrastructure. Metrics can be compared to a known baseline to yield information about the status of a system or a process. Changes in metrics can often be viewed as symptoms of an underlying problem.

A trace is the complete processing of a request. The trace itself illustrates the entire journey of a request as it moves through all of the services and components of the network. A trace is made of segments, operations that take place within an individual service or network component. A trace contains hundreds of data points that can be used to diagnose errors, identify and isolate network issues and detect security threats. Traces help security analysts or artificial intelligence applications track inter-dependencies between network objects and see how things are connected within the IT infrastructure.

A log file is a computer-generated data file that is automatically created by an application or operating system. Each application's log file contains information about events and user behavior that took place on the application. An application may create several log files for recording different events—one for application logs, one for security logs, one for system logs, one for directory service logs, etc. Logs are useful for conducting root cause analysis and determining why a metric changed or where an event originated.

Application performance monitoring: what should you measure?

When it comes to application performance monitoring, developing the capabilities is as important as understanding what specific things you should be tracking and how those measurements help you diagnose and resolve user issues. There are four general categories of metrics that you should be tracking with your APM tool:

Your APM tool should measure system performance

An application is only as good as its underlying infrastructure. Monitor system performance for metrics including:

  • Load - understand how many users are accessing the servers, how many requests your servers are dealing with and whether you are overloaded

  • Resource Usage - track usage of IT infrastructure across time and determine when it's time to increase your capacity

  • Input/Output - gain visibility into the movement of data throughout your IT infrastructure and identify bottlenecks that could negatively impact system performance

Your APM should measure application performance

Application metrics can reveal critical data that reflects how users experience the application and whether they return. Monitor application performance to evaluate:

  • Latency - strong correlated with user satisfaction and positive user experience, latency measure the time that it takes for a user to complete a transaction on the application

  • Service uptime - application downtime translates directly into lost revenue. APM solutions can provide real-time insight into application availability, enabling a rapid response to unplanned service interruptions

  • Throughput - throughput measures the rate of data transfer into and out of your application. This can be correlated with user activity or measured against a baseline to verify that the application is functioning correctly.

Your APM should measure system and security events

Monitoring events means capturing log files from the IT infrastructure and analyzing them to diagnose events on the system. An effective APM tool should capture events such as:

  • System errors/failures - System errors or failures can be caused by any number of conditions. Monitoring system events can help to initiate a rapid response that discovers and corrects underlying issues before customers are negatively impacted.

  • System Changes - Changes in the IT infrastructure that supports your application can affect data transfer rates and latency, leading to user dissatisfaction and other issues. System changes should be monitored and evaluated to quantify their impact on the user experience.

  • Code Deploys - If a code deploy contains an unknown issue, it may immediately begin to trigger errors in the application. The ability to track new commits and correlate them to application errors and events can streamline the process of restoring the application after a faulty code deployment.

Application events

Application event monitoring is achieved by capturing log data from the application itself. These logs contain a range of useful data that can be used to assess and improve application performance:

User Actions - Your application performance monitoring capability should capture application event logs that reflect user actions. Track the behavior of users in the application that can help you identify opportunities to improve user experience and funnel users toward preferred or target activities.

User Transactions - Trace the pathways that users take when navigating your application to identify and remove bottlenecks or failure points

Success/Failure - Track conversion successes and failures for users to determine when a serious issue could be affecting your bottom line.

Application performance monitoring with Sumo Logic

Sumo Logic’s customers leverage its unified platform to address multiple use cases to manage the reliability and security of cloud-native apps, monitoring and managing application performance across your entire hybrid cloud environment.

Explore how Sumo Logic makes it easy to capture and aggregate event logs and other data from your applications and IT infrastructure and turn it into actionable insights with the help of artificial intelligence and pattern recognition algorithms.

Complete visibility for DevSecOps

Reduce downtime and move from reactive to proactive monitoring.