Application Dependency Diagram

By | September 11, 2014

In a Virtual design you need an application dependency diagram.  An application dependency diagram determines which items are related. During the discovering process of running services you can use this information to draw down the upstream and downstream relationships.

If you have a website for example. The website runs on a webserver which runs on a linux server which is hosted by a VMware Cluster. This is an example of the dependency map:

Diagram was taken from virten.net

Upstream and Downstream Relationship (from Vmware white paper):

Everything that happens downstream can have an effect on upstream items. For example, if the webserver crashes, the website upstream is affected and goes down. Neither the operating system, nor the cluster are affected, as this are downstream relationships. To memorize this, you could think of a house. The roof is “up” while basement is “down”. If you break down the basement, the roof upstream” also collapses

This objective also talks about Automated Application discovery which helps in mapping the application dependency. There are 3 types of Discovery methods:

Active Discovery, which discovers the inventory components like Application, App Infra, Host and App usage on a regular basis which may cause huge burden on the network bandwidth

Passive Discovery, provides more of the relationship data. By connecting to core Span, port mirroring on network switches it can collects the Network hosts and servers, and their communications and connections, and what services and protocols are being exchanged at what time. But this still requires additional skills to collect the raw data and compile it in a readable format

Discovery Analytics, a combination of Active and Passive Discovery methods which performs a deep-packet analysis of observed traffic and help to establish the relationship between Active & Passive discoveries.

The best way to break this down is to look at the dependency’s and take one box out.  What is left?  Can these pieces work correctly without the break in the dependency.