One may argue that with the advent of cloud and virtualization, Configuration Management Database (CMDB) is losing its relevance. In this dynamic technology landscape, complexity is one of the factors driving systems like CMDB to verge of extinction. Let us look at why organizations could not use CMDB efficiently in spite of its benefits it offers and consider whether using a graph database for building CMDB can help overcome these challenges.
The first question that needs an answer is what is CMDB: Configuration Management Database was a concept introduced in 2002 by the Information Technology Infrastructure Library (ITIL) V2. This before cloud virtualization existed; an age defined client/server computing. CMDB served as the center for Service Management World, but the implementation of CMDB was a complex process. Organizations failed to utilize the CMDB efficiently as typically they did not take this complexity into account.
CMDB was upgraded to Configuration Management System (CMS) in ITIL V3, accompanied by further increase in complexity. Virtualization had been adopted by organizations by then, but it involved a mere replacement of the physical machine with a static virtual one. Therefore, the CMDB managed to retain its functional significance— until now.
In the era of cloud computing and xAAS (anything as-a-service, for example SAAS refers to Software-as-a-service), the IT environment has undergone momentous changes. CMDB began to lose relevance as service catalog and computing infrastructure took the market by a storm. The traditional approach to server management, system management, and network management has absolutely become irrelevant today because infrastructure, platform, and software are all sold ‘as-a-service’ rather as an individual components without vendor support.
Moreover, a virtual environment creates a new set of relationships between hosts, hypervisors, guests and virtual networks that cannot be handled by the traditional CMDs. The virtual platform generates a new class of dynamic data that requiring additional attributes for a contemporary IT environment, which already comprises:
- Legacy environment for legacy client server business application
- Multiple clouds (such as Amazon and Azure)
- ERP systems (largely SAP)
- Virtualized environment for multiple functionalities
Virtual environments are managed by modern tools such as vRealize, and maintain an operation management database (OMDB)— a super set of CMDB designed specifically for the virtual environment. Similarly, an ERP landscape such as SAP maintains its own database, like Landscape Management Database (LMDB).
In the 21st Century Enterprise when, there is a need for infrastructure to be deployed in a model-driven or ‘blueprinted’ approach, the gap between design time and runtime should become negligible. The need for an OMDB based on the current environment conditions, resembling a navigation map, can become the source of operational truth. What is CMDB will become redefined—as the foundation of truth in terms of comprising the ‘surveyor map’. CMDB, a graph model in true sense, will store the service map information across a hybrid enterprise. OMDB will witness a corresponding evolution, using extensive machine learning and graph algorithms, to be able to process real-time service models from various sources and continuously reference the service map for the greater benefit of the enterprise.
Suitability of a Graph Database for building the CMDB:
Relational Database Management Systems (RDBMSs) organize data and data relationships with complexity due to which performance degrades. Moreover, it increases time to market because of which RDBMSs have not seen widespread market acceptance. Using graph database to build CMDB can counter these challenges.
A graph database uses a graph structure with nodes, edges and properties to represent and store information. This makes it relatively simple, and saves potential costs. Graphs enhance the usability of the CMDB significantly by adding visualization capability—making graph database the best medium to build a CMDB. CMDB tools now add a visualization layer, but in many cases, charge extra for the feature.
Simplicity with Graph Database
CMDB tools now add a visualization layer but, in many cases, charge extra for the feature.
Graph database is a Not Only SQL (NOSQL) database, but not all NOSQL databases (that don’t follow RDBMs) are graph databases.
NOSQL databases can be further categorized into the following four categories according to their data model into the following four categories:
- Key value stores
- Big table implementations
- Document stores
- Graph databases.
This is a straight forward view of discovery via Nmap ("Network Mapper" is a free utility for network discovery with an open source license) and Neo4J—a graph database.
CMDB view in graph database
CMDB is relevant for the legacy IT environment using client server business applications. However, this market rapidly shrinking in scope thus pushing CMDB towards irrelevance despite its diverse functionalities.