The Network Performance Management vs Application Performance Management Debate

There have recently been a spate of articles and blogs that are attempting to create a contest between “Network Performance Management” tools and “Application Performance Management” tools.  This includes a Network Computing survey that finds fault with APM solutions, and a SOA World Magazine comparison that tries to compare the two types of solutions. This is silly and unproductive. It is far more productive to approach this problem from the perspectives of what your needs and applications look like.

Who Are You?

The first question that you have to ask when looking at these kinds of tools is whose problem (yours) are you trying to solve, and therefore if this is your problem, from what perspective are you coming. Here are some important guidelines:

  • If you run a team that develops custom applications and that team (or a part of it) is also responsible for supporting those applications in production then you need a tool that is oriented towards helping you put fewer bugs in production and when you do have a bug in production, give you the data you need to fix it as rapidly as possible. So if this is who you are then you need an APM solution that is all about monitoring the operation of code in production.
  • If you work for a company where the “application is the company, and the company is the application” then a lot is going to depend upon your role. If you are responsible for the operation of the code in production  then your needs are going to be almost identical to the developer team discussed in the first bullet above. If you are in IT Operations, and you support the infrastructure for the application but not the application itself, then your needs are going to be very much like the bullet directly below.
  • If you are Application Operations, the team that supports multiple applications in production, spanning both purchased and custom developed applications then a solutions focused upon code is not for you. For purchased applications you do not have the code. For custom developed applications the code is someone else’s responsibility. You are responsible for ensure that the infrastructure for the application is performing well. The infrastructure includes all of the hardware, the virtualization platform, and even the middleware and the databases that support the application.
Who you are and what kind of problem you are trying to solve should strongly influence the tools you pick. If you are a developer supporting your application in production you need a developer oriented tool. If you are in IT Operations, you primary concern is not with code – it is with understanding how your infrastructure is impacting potentially a broad mix of applications.

What Kind of Applications Do you Have?

This is the second key consideration in terms of picking your tool-set (you may well need more than one). Considerations are:

  • Are your applications 100% custom developed, 100% purchased, or in what mix of these two alternatives? Do you have compound applications that consist of custom wrappers for purchased applications and that integrate purchased applications into a larger end-to-end business service?
  • Which applications are really important, and which ones are not? Should you take the approach of managing just the important ones, or managing all of them (an important consideration is in the next bullet).
  • Are you trying to virtualize “everything”? Are the owners of some of those applications resisting virtualization? Are they demanding performance assurances from you in order to let you virtualize their applications?
  • If your applications are custom developed, custom developed in what? In a relatively modern framework like .NET, Java, Ruby, PHP or Python or in C or C++ using a proprietary RPC protocol over TCP/IP?

Your application mix and how virtualization is changing the requirements for application management constitutes the second important criteria in your decision process. Supporting one custom Java or .NET application in production is a completely different undertaking than supporting 1000 different applications regardless of their source and development methodology.  This should guide you in choosing between developer focused and operations focused tools.

The table below groups some modern APM tools into two broad buckets. The groups are split along two important dimensions. The first group is tools that are all about providing development teams that tools that they need to ensure quality operation of code in production. These tools are therefore about depth of analysis into code so that problems, when they arise can be quickly addressed. The second group of tools do not give you in-depth code analysis, but do support a broad range of applications, and do not care where the application came from (custom developed or purchased).

Solutions Focused Upon Supporting Custom Developed Applications in Production

Vendor/Product Deployment
Method
Data Collection
Method 
Supported
App Types
Application
Topology
Discovery
Cloud
Ready
“Zero-
Config”
Deep Code
Diagnostics
AppDynamics On Premise/SaaS Agent inside of the Java JVM
or the .NET CLR
Java/.NET

dynaTrace (Compuware) On Premise Agent inside of the Java JVM
or the .NET CLR
Java/.NET, Websphere Message Broker CICS, C/C++

New Relic RPM SaaS Agent inside of the Java JVM, .NET CLR or the PHP/Python runtime Ruby/Java/.NET/PHP/Python
VMware
vFabric APM
On Premise Agent inside the Java JVM Java

Solutions Focused Upon Supporting Every Applications in Production (Application Operations)

Vendor/Product Deployment
Method
Data Collection
Method 
Supported
App Types
Application
Topology
Discovery
Cloud
Ready
“Zero-
Config”
Deep Code
Diagnostics
AppFirst SaaS Agent inside the Windows or Linux OS All TCP/IP on Windows or Linux OS
BlueStrip FactFinder On Premise Agent inside the Windows, Linux, AIX or Sun OS All TCP/IP on Windows, Linux, AIX, or Sun OS  
Correlsense On Premise Agent inside the Windows, Linux,
AIX or Sun Operating System
All TCP/IP on Windows, Linux, AIX, or Sun OS
Confio Software IgniteVM On Premise Agentless collection of detailed database data
and storage latency data from vSphere
DB2, Oracle, and SQL Server Database applications running on vSphere
 ExtraHop Networks  On Premise  From a mirror port on a physical switch or the vSphere vSwitch  All TCP/IP regardless of application run time or operating system  

Summary

There is no one APM tool, be it network based or application based that can meet the needs for every constituent and every application. The tool should be chosen based upon the needs of the team supporting the application(s) in question, and the type of applications that must be supported (purchased or custom developed, and if custom developed via what method). Virtualization plays a key role and that it is giving rise to new organizational function often called Application Operations which is responsible for the performance of all of the applications in production.

Bernd Harzog (310 Posts)

Bernd Harzog is the Analyst at The Virtualization Practice for Performance and Capacity Management and IT as a Service (Private Cloud). Bernd is also the CEO and founder of APM Experts a company that provides strategic marketing services to vendors in the virtualization performance management, and application performance management markets. Prior to these two companies, Bernd was the CEO of RTO Software, the VP Products at Netuitive, a General Manager at Xcellenet, and Research Director for Systems Software at Gartner Group. Bernd has an MBA in Marketing from the University of Chicago.

Connect with Bernd Harzog:

Tags: , ,

5 Responses to The Network Performance Management vs Application Performance Management Debate

  1. March 21, 2012 at 11:11 AM

    Excellent points Bernd. As I like to say, “Different tools, for different schools (of practice and thought).”

  2. David Khokhar
    April 2, 2012 at 10:09 PM

    Absolutely right. If there were a product that could fulfill the application performance question being it infrasture monitoring-based or network traffic-based then we would not be looking at so many players in the market. It is a tough and somewhat painful process of evaluating all the products in this market so what products are best for what areas of concern can be a difficult question to answer so Bernd has done an excellent job in beginning the process.

  3. TJ
    August 15, 2012 at 4:45 PM

    Different tools for different schools. Well said. There is a huge amount of market confusion currently. Vendors are usually complicit in the obfuscation.

    IF you’re looking for a App Ops or IT ops focused monitoring tool. Broadest coverage, ease of implementation, and transaction tracing capabilities should be of paramount concern.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please Share

Featured Solutions