Application Dependency Mapping
From ServiceNow Wiki
|Get the Book|
| Discovery |
Application Dependency Mapping determines which machines are communicating with one another, and on which port, and determines which processes are running on these machines. You can use the data from running processes to determine which machines to drill into for more application-specific configuration data. Discovery maps this data automatically into upstream and downstream relationships, using the following types:
- Runs on/Runs
- Depends on/Used by
- Hosted on/Hosts
- Virtualized by/Virtualizes
- Contains/Contained by
- IP Connection/IP Connection
|Note: For information on how Discovery classifies processes and establishes relationship types, see Process Classifications.|
2 Accessing Dependency Maps
- Navigate to Configuration and select a CI class (Servers, Database Servers, Database Instances, etc.).
- Select a specific CI from the list.
- In the CI record, select the map icon in the Related Items header bar.
- In the dependency map that appears, right-click on the arrow connectors between CIs to display the relationship type.
3 Upstream and Downstream Relationships
In Upstream and Downstream relationships anything that happens downstream can have an adverse affect on upstream configuration items. In our example relationship, if the virtual server sannnm-01 crashes, the database instances and the Web Server upstream are adversely affected. Likewise, if the Web Server fails, the Web Site hosted on it goes down. The CI record for the virtualized Windows server sannnm-01 with its upstream and downstream relationships is shown below. The downstream relationships show that this server is virtualized by VMware running on a Windows server named sandb01. Our upstream relationships show a MySQL instance, a SQL instance, and a Web Server running on sannnm-01. Farther upstream, a Web site is hosted on the Web Server.
3.1 Deleting CIs
When CIs are deleted from the CMDB, upstream CIs with relationship types of Hosted on and Runs on are also deleted. This cascade delete feature is intended to remove applications from the CMDB that have a one-to-one relationship with the adjacent downstream CI. In our example, VMware runs on the sandb01 server in a one-to-one relationship and is deleted when the host machine is deleted. However, the sannnm-01 server is virtualized on the VMware CI in a potential one-to-many relationship and is not deleted when sandb01 is deleted.
If the virtual server sannnm-01 is deleted, then so are the upstream CIs that have a one-to-one relationship with the server. In our example, the MySQL instance, the Web Server and the SQL instance are all deleted, as is the Web site hosted by the Web Server.
4 Application Dependencies
This screenshot shows the Application Dependencies between three different JBoss Application Servers and the local Apache Web site. In this example, the three JBoss application servers on three different physical machines have a TCP connection to the local Apache application on www.online1.com. Additionally, there are 5 Apache Web servers using the local JBoss Application.
5 Adding CI Relationships
Discovery automatically maps the dependencies between CIs that it finds in the network and assigns the appropriate type to each relationship. ServiceNow configuration enables administrators to add dependencies manually and to define the appropriate relationship type between new configuration items based on lists of suggested relationships. The best practice when adding application dependencies to a configuration item is to avoid the use of the Runs on/Runs and Hosted on/Hosts types. When a configuration item is deleted, any upstream CIs with a relationship type of Runs on or Hosted on is deleted as well. In some cases, manually added CIs might have other important dependencies that are adversely affected by the cascade deletion triggered by these two relationship types.
To add a dependency,
- In a CI record, click the + icon in the Related Items toolbar.
- Select the appropriate relationship type from the list at the top of the page.
- Create and run an appropriate filter to make the desired CI visible in the list of available CIs.
- Move the CI from the list of available CIs to the dependent list.
- Save the relationship.
An example of the importance of selecting the proper relationship type is when the Business Service dependency, PeopleSoft CRM, is added to the sannnm-01 virtual server in the following diagram. If PeopleSoft CRM is added with a relationship type of Depends on, it is protected from the cascade delete triggered by the deletion of the Windows server sannnm-01. This is important because PeopleSoft CRM has dependencies to other servers and must not be deleted.