alphaspirit - Fotolia
Instead of watching infrastructure performance, IT teams are increasingly focusing on application performance monitoring, or APM. APM requires a new breed of tools, and selecting the right application monitoring software can pose challenges for IT and business leaders.
Traditional monitoring entails overseeing the infrastructure; ensuring that the metrics or key performance indicators for servers, storage and networks all remain within the established parameters. But this type of monitoring does not correlate to application performance.
IT leaders know that their organizations often rely on applications. Applications must respond and complete requests and transactions to make sales, meet service-level agreement obligations and keep users happy. This shifts the goal of monitoring.
What is application performance monitoring software?
APM tools can help administrators evaluate an application's performance over time, observe the influence of dependencies and help identify the root cause of performance problems to aid in effective troubleshooting.
This software can monitor application usage, tracking requests and responses from users or other applications, as well as other characteristics, such as request types and webpage volumes. An APM tool can also identify and monitor interactions with dependencies, such as a cache or database, which enables administrators to observe collateral performance characteristics.
This level of monitoring and analysis can yield powerful benefits. For example, application monitoring software might note that certain requests are associated with excessive storage latency or errors, which allows an administrator to find and correct possible storage problems in the application.
This can help an admin understand that a performance problem might not reside in the application at all, but rather in the associated database, which vastly improves his or her ability to isolate the problem.
APM software uses
Application performance monitoring is not new, but it has proliferated and expanded as organizations have adopted a broader array of complex applications. There are five main reasons IT administrators use application monitoring software: to ensure a positive user experience, track business transactions, analyze data, map dependencies and monitor infrastructure.
Monitoring and managing the end-user experience is perhaps one of the most noteworthy uses of APM tools. Generally, such tools evaluate traffic movement between the user and the application, and they can report on metrics such as the time needed to serve a webpage, as well as the time it takes to access and deliver data in storage. The idea is to compare such metrics against ideal or desired metrics that represent adequate application responsiveness.
Application monitoring software can also measure performance in terms of business transactions. For example, administrators can monitor the number of times that a particular webpage is served or a file is accessed or downloaded.
APM tools can also be used to measure the time needed to process a user request or action, such as finalizing a sale by checking out a cart. These metrics can help a business identify important assets or usage patterns and provision additional resources as needed to accommodate increased usage over time.
Applications rarely ever operate alone. Most enterprise workloads depend on middleware and other supporting platforms and frameworks, all of which must also run within acceptable parameters for the application to provide the desired level of performance.
Some APM tools are adept at discovering, mapping and monitoring various software and hardware dependencies. For example, an APM tool may discover that a web server application depends on a SQL database, and then monitor the transaction performance of the database as a component of application performance. If the database isn't operating properly, the application that uses the database cannot improve performance.
Finally, application performance depends on the underlying infrastructure, such as the network and its components. Some APM tools can correlate an application's traffic behaviors to the underlying infrastructure and support the need for optimization, upgrades and troubleshooting.
What to consider when selecting APM software
Selecting an application performance monitoring tool is an important choice for organizations, especially when the tool scans mission-critical workloads and their dependencies. There are many possible dimensions to consider during the selection process.
Perform due diligence. Ensure that the prospective APM tool actually monitors and manages the required applications and associated metrics. Understand the tool's compatibility with each application that it must monitor, and consider the metrics that it must gather.
If the organization must monitor the end-to-end transaction times of web servers, it's important to verify that the tool supports the application and metrics. If not -- or if a metric cannot be calculated from other relevant performance data -- the tool may not be suitable.
Agent vs. agentless monitoring. Consider how the tool gathers and communicates metrics and messaging data. For example, a tool with native support for specific applications, such as Microsoft Exchange Server, might not require an agent to collect and report metrics data, but other applications may require the installation and maintenance of an additional agent.
Evaluate reporting options. Getting data into the tool is only part of the problem. The application monitoring software must still be able to translate that data into meaningful, actionable information for administrators. This can include alerting through setting parameters and producing alerts to responsible administrators; reporting via more comprehensive charts, graphs and trends over time; and moment-by-moment dashboards showing real-time application performance data. Most tools allow a wide range of customization for specific organizational or admin needs.
Cloud vs. on premises. Don't overlook the APM tool's fundamental system requirements in terms of servers, storage and middleware. When on-premises resources or personnel are limited, it may make more sense to employ a SaaS version of an APM tool.
Cost. Consider the implications of purchase and/or licensing costs and support for an APM tool. For example, open source tools may have no upfront or recurring licensing costs, but they only provide community support, which may be lacking or unreliable. Commercial software usually carries recurring maintenance expenses, but the value of support and software upgrades may be worth the additional investment. In addition, SaaS deployments provide a pay-as-you-go option based on factors such as the number of applications being monitored, the number of metrics or the volume of data being produced.
Proof of concept. Don't select an APM tool without a comprehensive proof-of-concept evaluation. Come up with a short list of potential tools and test each one to see how it really operates in your infrastructure.
Application monitoring software examples
New Relic APM has emerged as a noteworthy tool for software developers. It offers code-level visibility that helps developers evaluate the performance of new builds. Advanced features, such as end-to-end transaction tracing, support monitoring across the entire environment, which helps admins remediate bottlenecks and poorly performing components within the environment. The tool also maintains distributed applications, architectures and external services.
Cisco's AppDynamics provides code-level diagnostics that are vital for developers. Baseline management helps administrators establish normal performance criteria for an application and quickly identify any parameters that deviate from the baseline. This speeds up diagnostics and remediation. Dependency and component mapping identify and monitor any supporting middleware and other elements that interact with the application. AppDynamics is also highly scalable for enterprise environments.
SolarWinds Server and Application Monitor offers a mix of more traditional infrastructure monitoring and capacity planning with tools for end-user experience and business transactions. Administrators can assess the effect of changes made to code or components. Alerting and analytics provide detailed troubleshooting and help administrators identify application deviations from baseline performance. Templates and high levels of customization enable the tool to serve a large range of enterprise applications -- such as Apache, Exchange, Internet Information Services, Active Directory and Java -- out of the box.
Zabbix is an open source option for APM and is designed to accommodate enterprise-class use. It is noted for its versatility, and it supports a wide range of devices, systems and applications, including APM within private and hybrid clouds. Zabbix supports agentless monitoring of common services, but also provides agents to monitor other systems and network components. High levels of customization enable administrators to configure Zabbix for a wide range of monitoring needs.
Nagios XI offers quick and comprehensive customization, along with infrastructure management features including host imports, automatic discovery and decommissioning, capacity planning, and mass acknowledgment. Customizable dashboards and varied widgets give admins complete control over the appearance and location of all the performance data. Nagios is also extensible using APIs to integrate with other applications and plug-ins to extend monitoring and alerting capabilities.
It's important to note that this list is by no means complete, and there are dozens of additional application performance software products available in the APM marketplace, such as Splunk Enterprise, Datadog, CA Technologies APM, BMC TrueSight Pulse and Quest Foglight.