Discovery in ServiceNow is an application that allows an enterprise to determine the devices in its internal network or resources in its public cloud and the applications running on them. This is accomplished with the help of an intermediary called a MID server, which is responsible for the communication between the two systems. The data that has been found by discovery is then entered inside the Configuration Management Database (CMDB) which stores the information about the IT infrastructure of an enterprise.
Types of Discovery
There are two types of discovery techniques:
- Horizontal Discovery: This approach allows the discovery application to search a given network for various devices present, and then put all of that data in the CMDB. It also establishes relationships between the found CIs in the CMDB. For example, a direct relationship can be established between a computer and any application that runs on it.
- Top-down Discovery: This technique is used by another ServiceNow application called Service Mapping which maps the various services provided to the technical resources they utilize, like a website using a database and server.
The technique that the discovery application uses to discover devices and applications on a network is called horizontal discovery. Now, horizontal discovery can be done using the following:
- Probes and Sensors: Horizontal discovery using probes and sensors involves sending requests to the MID server seeking information about any device or application. These requests are then picked up by the MID server from the External Communication Channel (ECC) queue. The ECC queue is used by the MID server to monitor the requests made by the probes. After getting the requests from the queue, it looks for the required information and then puts the information received, back into the queue for the sensors to act on it and update the CMDB.
- Patterns: Like probes and sensors, patterns also achieve the same purpose of getting information on the devices and applications on the network. But patterns are faster and make it easier to figure out what went wrong as there is only one ECC queue created with a pattern which needs to be looked at in case of any issue. This is unlike probes, as there might be multiple ECC queues which need to be analyzed thus making troubleshooting tedious.
The relationships created can be viewed through the dependency viewer in ServiceNow as depicted below:
Choosing a Global Software Development Partner to Accelerate Your Digital Strategy
To be successful and outpace the competition, you need a software development partner that excels in exactly the type of digital projects you are now faced with accelerating, and in the most cost effective and optimized way possible.
The above dependency map has been formed after performing a cloud discovery on an AWS account containing a Windows Server.
Why Use Discovery in ServiceNow?
Any organization that maintains a CMDB wants the data within it to be as accurate as possible and updated at regular intervals, as this data is instrumental in making important decisions. Discovery should be used to populate the CMDB because it assures periodic updates in the CMDB and requires no human intervention once configured properly. Especially, with organizations using cloud environments, automation of processes to keep track of the IT resources could become exhausting, and discovery solves that problem.
Organizations have been using other data sources for maintaining their CMDBs, but the risks associated with these data sources are inconsistent data, manual intervention, and additional costs for maintaining the overall functioning of the system. Discovery solves all of these problems and maintains the data integrity of the CMDB by running at regular intervals, as required by the organization, without human intervention. It also updates the database with accurate information about the devices and applications in the organization’s internal network or cloud environment.
As an organization expands, its IT infrastructure would also continue to grow. With increased cloud platform adoption, the maintenance of these resources with conventional methods would only become more tedious and prone to errors. This is why I recommend using ServiceNow discovery. Before you consider implementing discovery, you should have a clear understanding of your organization’s goals and a rough idea about the size of the network.
What is a MID Server?
A Management, Instrumentation, and Discovery Server also known as MID server is a Java application that runs as a Windows service or UNIX daemon on a server in your local network. It is responsible for allowing the communication between the ServiceNow instance and external systems.
Why Use a MID Server?
ServiceNow has several applications like service mapping, discovery, operational intelligence etc. that need to interact with external systems, but that cannot happen directly, so that’s where MID server comes into the picture. Configuration of the MID server is an important aspect in implementing an effective discovery. A MID server is installed in the client’s internal network which allows it to have access to the client’s IT infrastructure, thereby providing the required information for discovery. The below fig. depicts the whole configuration.
So, to sum it up, it is most likely that moving forward, companies will have a rapidly growing IT infrastructure, and to keep track of all the applications and devices in their networks manually, would be quite difficult. Therefore, using ServiceNow discovery would be an effective solution.