The notion of a Configuration Management Database (CMDB) is straightforward and compelling. The idea is to have a dynamic repository that reflects the state of all of the assets in an IT environment, including facilities, hardware, software, networking computing and applications resources. An IT organization can use a functional, accurate CMDB to achieve a number of key objectives:
- Reduce costs and improve service by better aligning their computing assets with business goals
- Be more proactive in managing network and computing assets
- Simulate the impact of new software revisions or new hardware on the network and applications
- Improve and automate compliance with Sarbanes Oxley, HIPAA and other regulations
Unfortunately, many organizations that have implemented CMDBs find that in practice they do not deliver the desired benefits because the contents of the CMDB are chronically incomplete and inaccurate. There are several reasons for this:
- Collecting data from across a wide range of systems and devices from different vendors requires the use of many different interface technologies, each with their own quirks and challenges
- Keeping the CMDB up to date is not a top priority task for many IT people, so changes often go unrecorded
- CMDBs strive for flexibility but cannot model devices and relationships that were not anticipated by the CMDB designers. As a result, the available CMDB schema often lags behind the reality of what the IT organization is deploying and therefore cannot reflect the actual IT systems in place.
- Changes in the IT infrastructure are typically discovered by periodically polling the systems in use. This creates an unavoidable conflict between CMDB accuracy, which requires near-continuous scanning of the entire infrastructure, versus minimizing the impact on network and application performance, which argues for less frequent polling and therefore less accurate and timely information.
If CMDBs are to achieve their promise and deliver good value, several things will need to change:
- The wide range of required interfaces that need to be supported by a CMDB (SNMP, syslog, NetFlow, proprietary APIs, etc.) should consolidate to a more coherent standard
- The current polling-driven model of infrastructure discovery should be replaced by an event-driven model. Viewed in the context of the requirements above, IF-MAP technology can have a profound impact on CMDB implementations and thereby help to automate and improve IT operations across the board. With IF-MAP’s Publish and Subscribe operations, changes to infrastructure components can be propagated in real time to the CMDB, ensuring maximum accuracy and completeness with minimum load on the infrastructure.
The example below shows how a conventional CMDB product can be enhanced using IF-MAP technology. In this solution, IF-MAP clients publish updates about their configurations to the IF-MAP server and an IF-MAP client within the CMDB subscribes to that information, updating the CMDB accordingly. The CMDB system is then able to run further discovery on the details of a particular device or component, updating its database with the latest state and configuration information in real time.
If all devices and systems in the world implemented IF-MAP today and reported configuration changes immediately when they occurred, CMDBs supporting IF-MAP could provide better information, faster, and with less impact on IT personnel and infrastructure.
While the day of pervasive IF-MAP may be off in the future, it is possible to use the technology today to make CMBDs more effective even when dealing with legacy infrastructure. One example involves the use of “triggered discovery” to automatically populate the CMDB in real time as devices come on the network. In one implementation, a DHCP server that supports IF-MAP publishes new IP/MAC info to the IF-MAP server whenever a new device gets an IP address. The CMDB, via the IF-MAP client, subscribes to the IF-MAP server for notification whenever a new IP is added and is configured to initiate a discovery scan immediately at the new IP address. In this way, populating the CMDB with infrastructure changes is automated and immediate -- a key step towards delivering a real-time CMDB.