TLDR: There are four key steps to implementing an effective CMDB: planning and design, data collection, configuration and customization, and ongoing maintenance and management. These steps are crucial to the success of the CMDB; a properly filled out CMDB should enable better planning for IT department strategy and associated project management.
If you're not yet comfortable with the concept of a CMDB, you can read this article What is a CMDB ?
In this article, we will see how Mama's Little Bakery (MLB), the leading European cheesecake producer with a workforce of 500, starts and implements its CMDB.
Planning and Design
This is where it begins! The first step in implementing a CMDB is to plan and design its structure. This means defining the objectives and requirements of the CMDB, while also identifying the data sources that will feed into it. You also need to determine what types of configuration items (CIs) will be included in the CMDB, such as servers, software, applications, networks, and much more.
During this phase, it's important to involve key stakeholders, including IT department teams, business leaders, and end-users, to ensure alignment between the CMDB and the needs of the entire organization. You'll also need to establish governance processes to ensure the quality and integrity of the CMDB's data.
Who should we invite to the kickoff?
The CIO, who is quite likely the project's sponsor. Building a CMDB serves him/her directly for well-planned IT strategy.
The Architect! (If you have one...). He/she is expected to work heavily on this, but the following persons should not be forgotten.
Project managers. Whether they are business managers or a project leader deploying a CRM, they are the ones knowledgeable about the application and business layer.
The Ops. The operations team knows the technical components such as servers and databases well, and they will also be able to connect them with the applications running on top of to these components.
At MLB, one of the most sensitive areas is Human Resources. By agreement with the management, the CIO decided to start by modeling the entire HRIS from the server to the applications to identify the most critical processes and applications. Information will be collected from the technical tools of the IT department (monitoring tools, incident management tools, VCenter...) but also by launching a collection from the business managers of HR processes (Recruitment, Payroll Management, Administrative Management). The IT department has given itself three months to complete this project.
Once planning is complete, you can move on to data collection to populate the CMDB. This can involve integrating data from various sources such as incident management tools, change management tools, network monitoring tools, automated configuration scans, etc.
It's important to ensure that the collected data is accurate, complete, and up-to-date. To do this, you'll need to clean and standardize the data before importing it into the CMDB. Documenting data sources and integration processes is also essential to ensure data traceability and reliability.
You might, for instance, rely on:
An Extraction from your supervision platform (Nagios, PRTG, Zabbix): You would have a good proportion of servers and equipment that count in the IS (or they are not being supervised…)
An RVTools inventory to snapshot the inventory of vCenter. It’s pretty standard but worth mentioning.
An organizational chart of the company**: We’ve all see one! Now’s the time to utilize it for defining the business services of the company and most importantly, the persons in charge of each.
At MLB, the data collection phase is a crucial step. After defining the CMDB's objectives and requirements, the IT department developed a Python script to collect and gather all data from previously identified sources into an Excel file.
In addition, a Typeform questionnaire was sent to each of the HR business managers to collect the list of applications used to carry out all their tasks. It's a hybrid IT system: custom and editor applications hosted on a private cloud but also a set of SaaS applications.
Configuration and Customization
Once the data has been collected, you can proceed with configuring and customizing the CMDB. This involves defining the classes of Configuration Items (CIs) and the relationships between them, as well as configuring the attributes and values for each CI. You’ll also need to define rules for version and dependency management to ensure the accuracy of the CMDB’s data.
During this phase, it's important to maintain an iterative approach, regularly testing and validating the CMDB's configuration to ensure it meets the organization's needs. You may also need to train the CMDB's end-users and administrators in its use and its features.
After the data collection, it's now time to model them in the CMDB. The form data has been compiled, and the script data has been cleaned and standardized. For the sake of simplification, MLB decided that only processes, applications, servers, and networks would be represented. Middleware types such as enterprise buses / ESBs will not be represented in the CMDB. Throughout the data integration process, the person in charge regularly sends a report to the business managers for validation.
Maintenance and Ongoing Management
Once the CMDB is up and running, it's crucial to establish maintenance and ongoing management processes to ensure its quality and long-term utility. This involves regularly monitoring and updating the CMDB's data, resolving errors and inconsistencies, and responding to changes in the organization's IT environment.
It's also important to regularly assess the CMDB's efficiency based on the objectives defined during initial planning and make any necessary adjustments to optimize its performance. Continued collaboration with stakeholders and establishing a data governance culture are also critical for long-term CMDB success.
We have a review process at MLB, largely inspired by the ISO9001 standard. So, in our control plan, we have planned to review the content of the CMDB monthly. When work is regularly monitored, the effort to update isn't that great, and we have built our different "views" on the IS to identify the latest changes (VMs created less than 1 month ago, new applications in Azure SSO, etc.)
Implementing an effective CMDB requires careful planning, accurate data collection, careful configuration, and continuous management. By following these four key steps, you can ensure that your CMDB is well-designed and represents a valuable tool for your organization's IT management.