The enterprise sure likes its acronyms. ITSM, ITIL, ITOM… it seems like there is no shortage of tools, software, methodologies and best practice abbreviations popping up on vendor websites and analyst reports. And just like the aforementioned segments, there are often misinterpretations or confusion among those new to the IT industry when trying to describe them. Previously, we’ve covered the differences between ITSM and ITIL, but for this article I’d like to shift focus away from the service desk and take a look at another segment that carries its own set of misconceptions – monitoring tools.
When it comes to monitoring software in the enterprise, there are two distinct areas that many people often confuse – Application Performance Management (APM) and Network Performance Monitoring (NPM). Both of these consist of tools and automation to perform separate functions for the IT organization.
Let’s take a closer look at APM vs. NPM and compare and contrast the differences as to why they’re useful for the enterprise.
Application Performance Management (APM) is an industry term often describing tools or software that manage or monitor code performance, user experience, application dependencies, and more. According to Webopedia, APM is defined as:
“Tools and processes responsible for monitoring and managing the performance and availability of software applications. Application performance management (APM) tools alert IT staff to disruptions in availability and/or quality to end users when accessing mission-critical applications. Applications monitored by APM tools can include traditional non-connected applications, Web-enabled applications, streaming apps and cloud applications.”
APM does not just include real-time monitoring functionality. Its purpose is to provide better, more proactive solutions for agents so they can take preventative measures against application related issues, and detect early signs of performance problems before they escalate. Usually, APM software deals mostly with monitoring, but also includes some controls for management and collaboration built-in to allow users to take action based on insights gathered over time.
Network Performance Monitoring (NPM) refers to the system tool put in place that constantly monitors and analyzes traffic via packets sent over the network. Its job is to gather network-related metrics like response times, server and port protocols, route analytics, and more to gauge the general health of the network’s infrastructure. Wikipedia defines NPM as:
“…the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator (via email, SMS or other alarms) in case of outages or other trouble.”
Unlike APM, Network Performance Monitoring tools are mostly automated, and lack the deeper insights as to why network performance may be dropping in certain key areas (as often these problem are application-based). Its function is more about real-time monitoring and general visibility over network infrastructure, and less about the actual management and preventative measures that are applied to APM.
When examining both APM and NPM in the enterprise, it’s important to keep in mind how exactly each will function and bring value to the IT organization. APM is the more modern solution that is inherently software based. It also aligns better with the cloud and gives dev and ops teams more information into an application’s performance problem before it gets worse. However, NPM is still useful for network teams, as it generally resides within the hardware itself and provides always-on, continuous oversight over packets flowing through the network.
The long and short of it comes down to the buyer and which purposes the organization deems more valuable. In general, network teams purchase and implement NPM while operations, app support and dev teams will get more use out of APM tools. However, many enterprise organization may take a hybrid approach and use some iteration of both within their IT ecosystem.