What is dependency mapping?
Dependency mapping is an IT operations process that helps organizations identify and understand the relationships among their systems, processes and applications. Dependency mapping results in a visual representation, or mapping, of these relationships.
IT professionals use dependency mapping to understand application and system availability and performance metrics in context, view service flows, and analyze hotspots within an environment.
Entities can include applications, processes, services, hosts, and data centers. Entities can be visualized as nodes in a graph or network, and the relationships and interactions are represented as links or edges between those nodes.
With dependency mapping, organizations can gain visibility into end-to-end processes that involve various entities with interdependencies. Mapping dependencies also provides insight into risks and can help organizations remain compliant.
Dependency mapping poses challenges as well. Cloud environments can be complex, so gaining visibility into these relationships can be challenging. Cloud environments are also constantly changing. This can make it difficult to keep dependency mapping up to date.
Types and sources of dependency mapping
Dependency mappings may be vertical or horizontal. Vertical dependency maps represent relationships between components of different types, such as data centers to hosts, hosts to processes, processes to services, and services to applications. Horizontal relationships are between components of the same types, such as host to host or service to service.
Teams can collect data in several ways for dependency mapping, including polling IP addresses, installing observability agents on components, analyzing network flow, and using orchestration systems.
Polling IP addresses can provide network-level information and some application-level information, such as types and versions of a web server running on a particular port. Observability agents collect data about entities or components in a system, including the type of entity as well as process-to-process interactions. Network flow analysis can identify the paths that information flows between components in a network. This method of collecting data is particularly useful in dynamic environments, such as cloud computing environments and container orchestration platforms.
Lastly, orchestration systems, such as Kubernetes, collect monitoring information for their own purposes, but that data can also be used for dependency mapping. For example, services deployed in Kubernetes pods run on nodes within a cluster. This information is useful for identifying which services are running on particular nodes in the cluster.
To learn more about dependency mapping, see What Is Application Mapping?