面向需求,灵活管理数据的CMDB

早期CMDB是以数据存储为驱动来进行建设的,现在比较主流的CMDB的建设方式,是以应用和业务驱动的,需要什么数据,就创造什么数据,通过灵活数据建模,来实现以需求为导向的CMDB建设。

什么是CMDB?

CMDB即配置管理数据库,通过获取、维护,检查企业的IT资源,从而高效控制与管理不断变化的IT基础架构与IT服务,并为其它系统,例如任务调度、运维工单、发布管理等系统提供准确的配置信息。

以上是早期对CMDB的介绍,从上面的介绍中可以看出来,早期的CMDB是以数据为驱动来进行建设,也就是说,我想存储什么数据,就准备什么样的数据结构,基本上是一张表对应一种类型的数据,这种CMDB的建设方式,优点就是简单,好理解;缺点就是不够灵活,无法适应现在的运维体系架构。

现在的运维体系,非常的复杂,比如说,一家公司可能会同时用到物理机、云主机、虚拟机、容器等等这些程序运行环境,而且,还可能会因为以后技术的发展,增加新的数据来源,当新增数据来源的时候,就需要去创建表结构,同时需要迭代代码兼容新的表结构,这种方式,非常的繁琐,而且容易出错,因此,以数据为驱动的CMDB建设,就显的不太合适了。

现在对于CMDB的建设,有了一种新的方式,叫做面向需求的CMDB建设,需要什么数据,就创造什么数据,通过灵活数据建模,来实现以需求为导向的CMDB建设。它还有两种其他的叫法,面向应用的CMDB面向业务的CMDB

CMDB建设中需要注意的4点要求

灵活性

灵活配置数据字段,现在的系统或者平台多样化,例如:云平台、Docker、物理机、虚拟机等等,这些在数据存储上字段都是有区别的,因此需要灵活配置字段可以兼容这些系统或平台。

安全性

对于CMDB来说,数据的安全是非常重要的,不能随意的去更改,因此一定要注意安全保障,如:设定严格的权限访问控制。

准确性

CMDB是数据存储的集合,是建设其他系统的数据基石,因此就需要保证CMDB的数据的准确性,否则会引起一些不必要的麻烦。

实时性

其实这个事项,在有些人里面觉得不太重要,甚至认为以天级来收集、更新数据即可,但是我认为,虽然CMDB对数据的实时性要求不高,但是还是需要达到最优的实时性。

CMDB在数据存储的时候需要注意的事项

  1. 对于数据的建模,应该从使用数据的角度考虑,而不是从数据的提供角度考虑,一旦形成数据建模,数据提供者应该按照既定的规则进行数据的提供。
  2. CMDB的目的是为了在其他流程或应用之间共享数据的,如果一个应用或流程需要对某类数据单独使用的话,则不建议将这类数据存入CMDB中,存在自身应用即可。
  3. 对于业务服务的建模,建议粒度尽可能的小。
  4. 动态数据,如服务器当前负载,CPU使用率,这类数据建议不存储在CMDB中,因为这类数据更新过于频繁。
  5. 如果没有任何流程、应用及人员,需要对特定的数据进行使用,则没有必要放到CMDB中进行存储。

实际项目演示

demo地址:http://cmdb.fdevops.com/

面向需求,灵活管理数据的CMDB
面向需求,灵活管理数据的CMDB

本文为原创文章,未经授权禁止转载本站文章。
原文出处:兰玉磊的个人博客
原文链接:https://www.fdevops.com/2020/03/17/flexible-cmdb
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(1条)

  • wennjoe
    wennjoe 2020年10月6日 18:23

    能详细说说怎样实现吗?