Configuration management database
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
A configuration management database (CMDB) is a database that acts as a data warehouse for storing a range of relevant information about hardware and software assets (commonly referred to as configuration items (CI)) in an organization, as well as the relationships between them. The repository provides a means of understanding the collection of critical assets and their relationships, such as information systems, upstream sources or dependencies of assets, and the downstream targets of assets.
Purpose and benefits
The CMDB is a fundamental component of the ITIL framework's Configuration Management process. CMDBs are used to keep track of the state of assets such as products, systems, software, facilities, people as they exist at specific points in time, and the relationship between the assets. A CMDB helps an organization understand the relationship between the components of a system and track their configurations. The maintenance of state-related information allows for things like the reconstruction of the assets at any point in their existence. CMDBs can also be used for things like impact analysis, root cause analysis, or change management.
CMDB implementations often involve federation, the inclusion of data into the CMDB from other sources, such as asset management, in such a way that the source of the data retains control of the data. Federation is usually distinguished from ETL (extract, transform, load) solutions in which data is copied into the CMDB.
CMDBs can be used for many things, including, but not limited to, business intelligence, software and hardware builds, inventory, and impact analysis for change management and incident management.
In the context of ITIL, the use of CMDBs as part of infrastructure operations and support. The CMDB represents the authorized configuration of the significant components of the IT environment.
The CMDB contains and records data that are also called configuration items (CI). It also provides details about the important attributes of CIs and the relationships between them.
CI attributes and data
Depending on the CI type or category, there are many attributes that might be captured:
- CI Unique Identifier or Identification Code
- CI Name or Label (often, both, long names and short names)
- CI Abbreviations or Acronyms
- CI Description
- CI Ownership (organizations and people)
- CI Importance
There can be many more, depending on the CI types. In some cases, there may be hundreds of attributes.
Because attributes are defined by metadata, CMDBs also contain metadata, and thus the concept overlaps with that of a metadata repository, which is also used to more effectively run IT organizations. Configuration management addresses how the data is to be kept up to date. This has historically been a weakness of metadata repositories.
Relationships between CIs
At a minimum, relationships are often composed of a Source CI that is related to a Target CI. In the case of more advanced relationships, such as semantic relationships, it is desirable to have a descriptor between the Source CI and Target CI that helps provide context. For example, "Database X" is related as a "Component" of "Application Y". The descriptor is also known as a Predicate.
Configuration item types
A configuration item type (or CI type) is the data type of the element or configuration item an enterprise wishes to store within the CMDB. At a minimum, all software, hardware, network, and storage CI types are stored and tracked in a CMDB. As enterprises mature, they start to track business CI types in their CMDB, such as people, markets, products, and 3rd party entities such as vendors and partners. This allows the relationships between CI's to become more meaningful and the CMDB to become a stronger source for knowledge management.
CI types are:
A key success factor in implementing a CMDB is the ability to automatically discover information about the CI's (auto-discovery) and track changes as they happen.
Relational data models are based on first-order predicate logic and all data is represented in terms of tuples that are grouped into relations. In the relational model, related records are linked together with a "key", where the key is unique to an entry's data type definition. Such relational models provide declarative methods for specifying data and queries. In other words, users directly state what information the database contains and what information they want from it, and let the database system take care of describing data structures for storing the data and retrieval procedures for answering queries.
Semantic data models typically rely on the resource description framework that maps the relation between a number of things through the use of relationship descriptors, giving context to how things are related to each other.
There are three specific core challenges to creating and maintaining a CMDB:
- Relevance: Collecting data throughout each record's or CI's life cycle is necessary. This means putting in processes and tools to collect the most recent changes to data as they occur.
- Maintenance: Companies face constant change. Data about CI's and the relationships between them are constantly changing. This maintenance is a significant undertaking that is often not planned for or expected. Organizations often find this the greatest challenge.
- Usability: Most CMDB's are just databases. This means they have no traits, features, or benefits of more complex applications. They lack tools to view data via complex visualizations or tools for advanced discovery. This means that most companies need to invest in an application layer that adds such constructs to their CMDB, which adds a layer of complexity and cost that most companies do not plan for or expect. However, implementing features that ensure the database is up to date or allow it to interact with systems to run commands, apply updates, or deploy new applications extends the functionality and usefulness of the CMDB.
Because of the above reasons, companies usually choose to purchase their CMDBs, rather than designing, building, delivering, and supporting them themselves.
- "What is CMDB (configuration management database)? - Definition from WhatIs.com". SearchDataCenter. Retrieved 2018-11-14.
- Gary (2015-11-10). "IT: disconnected from the business?". Axios Systems. Retrieved 2018-07-31.
- "Whitepaper: Ansible in Depth" (PDF). Ansible. Archived from the original (pdf) on 2 May 2014. Retrieved 21 April 2018.
There are many points of integration that can be used to extend Ansible, including: (...) inventory data retrieved from CMDB systems or cloud sources.
- Sauvé, Jacques; Rebouças, Rodrigo; Moura, Antão; Bartolini, Claudio; Boulmakoul, Abdel; Trastour, David (2006). Business-Driven Decision Support for Change Management: Planning and Scheduling of Changes. Springer Berlin Heidelberg. pp. 173–184. ISBN 978-3-540-47662-7. Retrieved 30 August 2014.