What is CMDB

What is CMDB?

The full name of CMDB is Configuration Management DataBase, which is temporarily understood as configuration resource management.
Like other databases, CMDB is essentially a database. The difference is that CMDB not only stores data, but also contains the logic for managers to abstract and model resources .
Each manager's business environment is different, and the types, quantities, and relationships of his management resources are different. From this we can understand why there is no CMDB product on the market that can adapt to most scenarios. Therefore, self-developed CMDB is becoming more and more important.

What operation and maintenance personnel think of CMDB

The work content of operation and maintenance personnel focuses more on business release and operation, so the CMDB needs to focus on management: host, IP, port, application, domain name, etc. If a k8s cluster is used, CMDB resources also need to be managed and paid attention to. There is no special explanation. Generally speaking, CMDB refers to the CMDB in the eyes of operation and maintenance personnel.

Principles of resource management in CMDB

Principles of resource management in CMDB

  • basic
  • authoritative
  • integrity

basic

The resources stored in CMDB should be the most basic resources. Since most people who use CMDB belong to the operation and maintenance or infrastructure departments, some resources with a high abstraction layer or very complex resources should not be stored. First, it is not used, second, it will make the design of CMDB too complex, and third, data maintenance is very difficult.

  • Contents that CMDB should store: servers, personnel, applications, domain names, etc.
  • Contents that CMDB should not store: company organizational structure, business calling logic, etc.

In addition, another basic explanation can also be the business calling relationship . CMDB should provide the interface of basic services and be called by other services. Try not to call other basic services or as little as possible. Do not actively call medium and high-level services to avoid calling loop problems in circular calls.

authoritative

The data stored in the CMDB should be the most accurate . In this way, only after establishing authority can we have the ability to promote the operation of the CMDB. Once the data in the CMDB is not the most accurate, users will consider obtaining data through other channels or even maintaining a set of data by themselves. In this way, the CMDB loses its meaning of existence.

integrity

After considering authority, completeness must also be considered. Although the data in the CMDB is accurate, once the data coverage is not complete enough, it will also cause problems when using it. For example, when I looked for a server with IP address 10.0.0.1 in the CMDB, it was not found. If the server data in the CMDB is complete, then I can think that such a server does not exist; otherwise, I have to use other channels to verify whether such a server really does not exist, and the efficiency drops significantly.

What functions should a CMDB have?

Resource management function

To put it simply, it is the function of adding, deleting, checking and modifying resources , which is a necessary basic function.

Sorting out resource relationships

Different resources do not exist in isolation, but have certain relationships with each other.
For example, for a piece of server resource data, there is a field for its person in charge. This person in charge is a piece of data for personnel resources. Under special circumstances, there are also relationships between the same kind of resources, such as personnel resources, which can have superior-subordinate relationships. If you want to maintain this relationship, you need to sort out and store the relationships. When CMDB is established to provide external data services, administrators are required to maintain the data. When data maintenance reaches the standards of authority and integrity, it will have the ability to provide external services. Conventional ways of providing external services include:

  • Develop web interfaces to provide services to real users
  • Develop standard API interfaces to provide services for third-party tools

CMDB can be used for those services and processes

Monitoring and management

Use CMDB to get a complete list of hosts and monitor them.

Release management

Using CMDB and monitoring we can choose to publish the application on the appropriate host

Batch execution

Using CMDB we can perform batch operations in a targeted manner

What functions should a CMDB not have?

Work order process management

Work order process management is a process management method that realizes process flow by submitting work orders and reviewing them step by step, and can provide callback hooks to automatically perform certain operations. Such a work order process management function requires not only a detailed understanding of the work order process, but also the customization of each process. In fact, such a function does not belong to the category of resource management , which only increases the complexity of the project and leads to unclear positioning.

Data version management

Data version management generally requires storing historical versions and change information of data, and using this information for version management. The data management principles of CMDB require authority and integrity , and there is little need to store historical versions, which only increases complexity.

Guess you like

Origin blog.csdn.net/m0_49265034/article/details/132585996