What is APM?
Application Performance Management (APM), also called Application Performance Monitoring, refers to performance monitoring tools that enable IT operations and DevOps to monitor and manage the performance and availability of software applications throughout their development lifecycle. The primary function of app performance management is to detect, understand and diagnose complex application performance issues across various application architectures to ensure optimal performance and compliance with service-level delivery requirements. Application performance management tools offer so-called deep-dive monitoring that record and measure the internal workings of application components.
In order for users to take advantage of APM, application development is required to enable APM analytics. This restricts APM tools to monitoring applications that are developed in-house.
Industry analyst firm, Gartner®, breaks APM capabilities into three main functional categories:
- Digital Experience Monitoring (DEM)—Digital experience monitoring is an availability and performance monitoring methodology that supports the optimization of the experience and behavior of a digital agent, human or machine, as it interacts with enterprise applications and services. It includes real user monitoring (RUM) and synthetic transaction monitoring (STM) for both web and mobile device endpoints.
- Application discovery, tracing and diagnostics (ADTD)—ADTD tools automatically discover your application topology, map services, and provide transaction tracing of user requests as they navigate and traverse through an application at the code level.
- Application Analytics (AA)—Application analytics is the ability of the APM product to assist in troubleshooting an application's performance problems. Application analytics enables the automated detection of the source (or root cause analysis) of performance anomalies for HTTP/S transactions supported by Java and .NET application servers, web browsers and mobile applications through machine learning, statistical inference and other performance indicators.
APM solutions addressing these capabilities should include the following capabilities:
APM Digital Experience Monitoring
- Real-user monitoring of apps via code injection performed by server-based agents
- Support for various synthetic APM monitoring tests including HTTP server, Web page loads and other web server transactions to gather response time statistics
- End-user experience monitoring through the capture of data based on how end-to-end application availability, latency and quality of service impact the user experience
APM Application Discovery, Tracing and Diagnostics
- Agentless real user monitoring (RUM)
- Application path snapshots
- Automated discovery of web application servers, Java and .NET application servers, as well as other middleware
- Automated detection of the source (or root cause analysis) of performance anomalies for HTTP/S transactions supported by Java and .NET application servers through machine learning, statistical inference or other methods
Ideal APM Solution Characteristics
A useful application performance analytics best practice, in general, is to collect raw data in real-time from the APM application environment that allows for a wide variety of performance issues to be examined as they arise including complex multi-layer network issues in cloud environments. Many products summarize or roll-up the detailed data for reporting and archiving purposes but fall short in answering long-term trending questions required for accurate troubleshooting, so capturing full underlying detail is key to fast problem resolution.
APM solutions that implement a big data approach makes it much easier to access detailed performance data across more prolonged periods, facilitating accurate long-term analysis.
NPM Complements APM
APM performance metrics alone aren't sufficient to troubleshoot application issues, since apps rely on IT and network infrastructure for delivery. APM solutions are complemented by Network Performance Monitoring (NPM) functions that monitor, diagnose and generate alerts for:
- Network endpoints—On-premise servers, virtual machines, storage systems or anything with an IP address by measuring these components directly, in combination with a network perspective, including cloud-hosted and wireless endpoints.
- Network elements—Routers, switches, and other network devices that includes SDN and NFV components.
- Network links—Connectivity between network-attached infrastructure.
Network infrastructure KPI metrics provide additional troubleshooting detail to better distinguish between application and network problems.
Multi-Layer Correlated Insights for Application Delivery
ThousandEyes offers DEM that integrates synthetic app-layer monitoring with network performance metrics, Path Visualization, Internet routing and Internet outage insights. ThousandEyes DEM addresses the challenges of modern application delivery that depends on complex, external Internet and cloud ecosystems that aren't directly under the control of IT. ThousandEyes provides visibility into experience for:
- Public cloud, hybrid cloud and multi-cloud adoption
- Customer-facing digital experience delivery
- Employee-facing digital experience delivery
- SaaS adoption
- Modern hybrid and SD-WAN transformation
For more information on how ThousandEyes can help you to complement your current APM tools and their performance metrics with deeper DEM, network, cloud and Internet insights, read this blog post on ThousandEyes + APM: Better Together.