Know What You Got
Thoughtful Operations starts with documenting your current state and your desired state.
As we discussed in our prior article on Automation and Orchestration, the path to Thoughtful Operations starts with careful documentation of both your current state and your desired future state. Future state can be captured in architecture diagrams and documents, but current state is best represented in a configuration management database (CMDB). Armed with this information, you can move toward your desired goals.
If you work in IT, a CMDB is a necessary tool for your team. CMDB is the central location where all information about assets and configurations are stored. CMDB allows monitoring of changes over time to make sure there will be no unexpected issues with any configuration when it goes live or when something new gets implemented on top of existing infrastructure.
An active CMDB, or a CMDB that is both automatically updated and contains the information needed to automate change, is an essential enabling component in Thoughtful Operations.
Over the years of building and running these platforms, we have found that there are 8 key steps to building an effective CMDB that will provide your organization with a secure, structured and documented environment.
1 Define the Purpose, Scope and Resources for the CMDB
A CMDB is an essential tool to manage configurations in your environment. It will help you with your automation as well as provide the necessary information for monitoring changes over time. It is important to think about what specific challenges you want such a system to address. Additionally, you will need to define the scope of data that will be contained in the CMDB. Are you going to include data center assets and applications? Do you want to include corporate IT assets and systems? Lastly, a CMDB is a living system that has to be monitored and updated regularly, so you should set up a schedule to do so as well as outline the people responsible for maintaining CMDB’s content and structure.

2 Identify Your Sources of Truth
One fallacy of typical CMDB design is to think of a CMDB as the sole source of truth. Instead, think of a CMDB as a database that aggregates truth from many sources including itself. For example, the source of truth for the IP address of a device is the device itself. It may not match what the DHCP server shows, but the device is the authority for that piece of data. So, CMDB should be a system that aggregates information from multiple sources and presents it as a single entity. In this way, a CMDB is a facilitator more than it is an authority.
3 Select a Technology Stack
There are many CMDB technologies and platforms available on the market today. However, not all of them will be suitable for your specific use-case or environment.
One fallacy is to think of a CMDB as the sole source of truth.
We recommend open source CMDB technologies as they tend to have a more flexible approach. A CMDB is a tool that should be able to evolve alongside your organization and open source CMDB technologies can adapt faster than some commercial platforms.
Here are some tools that can be used to implement a CMDB:
NetBox is an infrastructure resource modeling (IRM) application designed to empower network automation. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers. NetBox is made available as open source under the Apache 2 license. It encompasses IP address management (IPAM), data center infrastructure management (DCIM) and IT asset & inventory management (ITAM)
Device42 is a comprehensive IT infrastructure management software suite with powerful agent-less auto-discovery and application dependency mapping tools, a configuration management database (CMDB), a complete data center infrastructure management (DCIM) suite, full IT asset & inventory management (ITAM) functionality, plus IP address management (IPAM), password management and lots more — all in a single tool.
ServiceNow is software that has CMDB capabilities as one of its many modules. ServiceNow allows you to build CMDB with plug-ins and automatically bring new information into CMDB from multiple sources.

4 Determine Your Data Model
CMDB data models can be designed in different ways, with some CMDB technologies offering more flexibility than others. However, regardless of your technology stack, here are a few questions that need to be addressed:
- Which CMDB entities will be created?
- What attributes will need to be populated for that CMDB entity?
- What entity relationships will be created?
- How CMDB attributes should be categorized for ease of use and updating?
One thing to consider when designing a CMDB data model is to try and keep it simple. It can be tempting to try and store everything you might ever need, but that can lead to stale data, complex implementation and overall project failure. Keep it simple.
5 Create a Process Model
It’s important to create CMDB in conjunction with a system or business process model. The CMDB is more effective when it reflects the way your organization works and what needs to be managed on a day-to-day basis. For example, if you have multiple teams that manage different areas of IT infrastructure (e.g., Networking, Servers and Storage), CMDB should reflect the way those teams work.
6 Collect CMDB Data
In order to have an effective CMDB, it must be full of correct data. It’s important that this process be automated to keep data current and minimize inaccuracies. No one likes filling out forms in CMDB manually and everyone makes mistakes – every time you add a new asset, a CMDB update should be automated. One of the key tasks that the automation should take into account is reconciling conflicting data.
7 Create Reports
A CMDB can provide various types of reporting, but there are some that might prove especially useful for your IT department and the clients you serve. CMDB reporting needs to have predefined filters and CMDB data access. A CMDB can be used for creating reports about changes, logs or incidents that need to be published. CMDB reporting also provides information about CMDB usage and status of automation updates in real time.
8 Use Your Data
This is the fun part. One of the primary benefits of having a CMDB is using it for IT automation and DevOps. Make sure your data is available to the widest relevant audience so that new use cases can be identified and implemented.
In Summary
Thoughtful operations starts with knowing what you've got and having an active CMDB is a powerful enabling component that is both automatically updated and provides the information needed to implement automated changes.
Brilliance isn't always doing something innovative, sometimes it is just doing the hard things correctly. Knowing what you've got might not be the most fun or glamorous IT job, but it is one that you need to master. Learn from experts who have been in your shoes before and get a leg up on building an effective CMDB for your business.
If you would like to discuss in more detail, please reach out to john@opstack.com or jered@opstack.com.
We start where you are and get you to where you want to be.