Choosing an Application Performance Management (APM) Tool – Four Criteria to Assess
Imagine going to your doctor because you have a sore throat. Your doctor sticks a tongue depressor in your mouth, tells you to say “ahhhh,” confirms that your throat looks red, and sends you on your way! This example is much like legacy infrastructure monitoring tools. These tools provide a very focused, but limited, view of the overall problem. To effectively diagnose a problem in today’s complex application and infrastructure landscape, you need Application Performance Management tools to see the complete picture.
How Application Performance Management tools keep your application environment healthy
Now, let’s return to the doctor’s office in a more realistic scenario. A nurse asks you about your symptoms, medical history, and any medications that you’re taking. The nurse then checks your blood pressure, temperature, and pulse. Your doctor gives you a complete examination, checking not only your throat but also your breathing, heartbeat, and ears, before making a diagnosis and prescribing any treatment. This is similar to how complete Application Performance Management (APM) tools work.
The right APM tools deliver performance insights that expose and diagnose bottlenecks within the application code, including containerized services and micro-service environments. They help you fix issues before users are impacted, giving you the information you need to keep your applications environment healthy!
Four capabilities to look for in your Application Performance Management Solution
As you look at the range of APM solutions—how do you choose? The 2nd Riverbed Special Edition eBook Application Performance Management for Dummies discusses how today’s complex application and infrastructure landscape requires an APM solution that looks across all critical parts of the application delivery chain. Whether you are rolling out new applications, containerizing an application, consolidating or virtualizing data centers, or migrating to the cloud, managing application performance requires a holistic view that includes:
- End-user experience data
- Application discovery, tracing, and diagnostics
- Application analytics
- Views into infrastructure and network performance
1) End User Experience Monitoring – closely related to APM
End users expect instant access and a consistent experience with the business applications they need. Many APM products can provide information on the availability and performance that end users actually experience as they interact with web applications. Most enterprise environments are more complex than that. Web is just one type of application in the typical enterprise app portfolio. Whether using web- or thick-client applications, and regardless of whether they are local, around the world, or use a mobile device, you must be able to monitor and troubleshoot the ultimate measure of application performance: the end-user experience.
Analysis of end-user experience data enables App Support teams to observe and analyze the interactions between users and the application. It gives the teams the ability to break down total application response times into contributing sources, launch troubleshooting of root causes, and analyze traffic and response times among servers to manage multi-tier applications.
2) Application discovery, tracing, and diagnostics
What an end user perceives as a single operation might actually involve many distinct sub-transactions across many different application components. These can include different application servers, databases, or even completely different web sites like those that serve up ads or maps and directions. You need an APM solution that can track, monitor, and troubleshoot the performance of each of these critical transactions, correlate them, and dive deeply into the various components of the application. It should also provide:
- Performance metrics that cover all application components such as Java, .NET, web servers, databases, operating systems, and storage.
- An application dependency map that provides a complete picture of your application and infrastructure components, and their relationships.
- Code-level transaction tracing and application component performance monitoring that enable you to see deep inside your applications to diagnose the root causes of performance problems.
3) Application analytics
Gartner updated its 2016 Magic Quadrant for Application Performance Monitoring Suites definition and acknowledged the importance of application analytics to APM. The APM Magic Quadrant now lists application analytics as one of the main functional dimensions in an APM tool.
Analytics monitor system and application metrics to automatically detect anomalous behavior, correlate information, identify the root cause of problems, and predict events and performance trends. This is a critical capability in modern and complex environments where applications frequently change, are built with microservices, and are elastic, transient, and highly virtualized. APM tools use statistical analysis, machine learning, pattern recognition, or mathematical theories for automatic detection of the source of transaction performance problems.
Dashboards provide a big picture view of your applications and infrastructure in a “single pane of glass” that provides different teams with actionable alerts and information.
4) Insight into infrastructure and network performance
Application Performance Management enables app teams to monitor SLA compliance beyond simple uptime measures. Availability remains an important SLA metric, but teams also use end-to-end responsiveness as an indicator of service levels.
Although individual components in an application infrastructure may be running within established performance thresholds, the digital experience may be slow or unresponsive. To a user, the application or website appears, in effect, unavailable or “down.” For example, transactions of a website application will typically rely on the efficient operation of multiple steps and components.
A failure or delay in any one of these steps or components results in an inability to use the application. Additionally, although each of the individual steps or components may be performing as expected, the resulting performance may be unsatisfactory.
Therefore, an APM solution must monitor the overall digital experience so that DevOps teams can:
- Perform Triage. A comprehensive Application Performance Management solution provides IT with an end to end view of the entire application and infrastructure landscape, including all transactions and components. DevOps teams can then drill down into the details of the problem and quickly triage and assign the problem to the appropriate team or third-party vendor.
- Troubleshoot Problems. APM provides Application teams with the tools to troubleshoot vexing performance problems. This should begin with a “big picture” top-down approach that enables them to pinpoint and then dive deep into the individual transactions and components to isolate and resolve the root cause of performance issues.
- Map Application Dependencies. Application Performance Management provides the capability to map an application to the application components and underlying infrastructure elements that deliver it. This understanding of the application architecture enables more effective troubleshooting and helps to reduce unknown risks associated with application and infrastructure changes.
- Manage Application Performance in the Cloud. APM provides a unified view in a hybrid environments comprising multiple cloud services and data center applications. It integrates application knowledge from multiple perspectives—including application components, network, server, database, and web services. It should offer a holistic approach that treats the application as more than a sum of its parts.
- Manage Performance with Application and Infrastructure Change. Application and infrastructure changes inherently reduce visibility and increases application complexity. To proactively address these performance issues, these change initiatives should include APM implementation.
Riverbed SteelCentral APM Software
Riverbed SteelCentral Application Performance Management provides visibility and diagnostics across your entire infrastructure, from end user devices, to the application, network, and infrastructure. SteelCentral’s APM portfolio includes:
- SteelCentral AppInternals—Software-based APM to monitor apps on and off the cloud that helps ensure high-performing apps and superior user experience.
- SteelCentral AppResponse 11—Network-based APM to monitor end-user experience and fix network and application performance issues.