What is Application Dependency Mapping (ADM)?
In This Article
When it comes to enterprise app usage, there are a lot of blind spots. A Forrester report on IT efficiency found that nearly one-third (31%) of enterprises engaged in server consolidation and virtualization lacked a complete view of all applications they used. Among these enterprises, 36% didn't know what resources were needed by various applications, while 56% also lacked a complete view of dependencies.
Beyond the numbers, the report highlights a few facts everyone can understand: It's impossible to manage what you don't know, and all these blind spots will eventually lead to performance bottlenecks and critical services going offline.
Fortunately, there is some good news: These issues can be resolved with application dependency mapping (ADM).
What is ADM? It's a process of mapping all the components of an IT service infrastructure. It involves detecting and following all interdependencies between components and services, documenting their integrations and interactions, and understanding how they impact each other.
These components include:
- Servers (physical, virtual, cloud)
- Ports in use
The blind spots highlighted in the Forrester report are a primary driver for the rise of ADM. This lack of visibility is increasingly making ADM, contextual topology, and comprehensive enterprise discovery critical to IT operations.
They are vital elements that support the management of today's IT ecosystem.
In the modern digital world of interconnected applications and services, IT managers must understand the interdependencies and interactions between the components that make up their IT ecosystem.
Having a coherent view of these underlying relationships makes it easier to pinpoint the cause of bottlenecks and performance outages. This speeds up the ability of IT teams to resolve outages (thus minimizing the duration and fallout from these events) and perform other critical tasks with ease.
Enterprises that successfully manage their IT environments almost always deploy application dependency mapping capability. These capabilities often leverage one or more approaches to understand the underlying relationship between applications, services, and software in any IT infrastructure.
In a general sense, there are three major approaches to discovering the interdependencies and interrelationships between components of an IT ecosystem. While there are some similarities, each presents a different type of opportunity.
1. Agent on server
This approach to ADM leverages agent-less and agent-based methodologies to discover the following details about an IT ecosystem:
- Discover running services
- Determine which services are using which ports
- Detect instances and named pipes on a database
- Find all installed apps on a web server
- Discover which applications are running and any attendant information (such as config files)
Agents can be placed on machines or special protocols used to crawl through a network to gather the needed information.
This approach to ADM identifies and maps only the applications, dependencies, and services that are running at the point when the discovery was made. For a more comprehensive diagram of application dependencies, enterprises would have to schedule multiple discoveries to run sequentially.
2. Network monitoring
NetFlow refers to a protocol that collects data from IP network traffic as it flows through an interface. It was created by Cisco to analyze the traffic flowing through its switches and routers. The "flow data" can be used to determine the type, point of origin, volume, pathways, and destination of network traffic.
Analyzing NetFlow data enables enterprises to determine whether there is communication between two or more applications running on separate IP addresses and ports. If you have a list of the applications running on all IP/port combinations, you can combine this with the Netflow data to create a master list that links individual applications to others they interact with.
Data center managers can also use flow-based analysis to visualize a network's traffic patterns. With this, it's easy to monitor how and when an application was accessed as well as the overall utilization of application and network resources.
NetFlow does have a few shortcomings, however. For one, it can only be used to view application interactions that go through a physical switch or router. It can't read interactions taking place within the physical, cloud, or virtual servers.
This approach is used to discover the services running on a particular port. With this, enterprises can identify what services are listening on what ports, enabling them to create a service dependency map.
On the other hand, it may be unable to provide a list of services if there are restrictive firewalls on the network. Also, the list of services it provides is more or less an educated "guess" rather than a certainty. So one downside is that enterprises could end up with the wrong version number.
While executing an ADM manually may be feasible (though not ideal) for smaller IT deployments, it's virtually impossible for more complex systems.
Conventional techniques, such as extensive audits and the use of multiple spreadsheets, introduce inaccuracies and complexities when used to track dependencies. What's more, the proliferation of microservices, cloud deployments, and virtualized data centers is making it far more difficult to visualize the entire IT environment using conventional techniques.
To achieve optimal results with ADM, enterprises need to leverage the right application dependency mapping tools. Rather than spend the valuable time, effort, and resources of your IT team on manually mapping IT services, you can leverage robust ADM tools to automatically generate a centralized repository of device, service, and application dependencies and relationships whether they are on a virtual machine, domiciled in an on-premise environment or hosted on the cloud.