关注嘉为科技,获取运维新知
针对CMDB这个主题,之前一直想写一篇文章来表达我的看法,但是之前一直不敢写,为什么?因为CMDB这个主题属于一提大家都懂,但是深入讨论大家都晕菜的一个话题;在2018年实施了几十个自动化运维项目后,我对CMDB的理解又进一步加深,因此想谈谈我对CMDB的看法。
关于CMDB的两种截然相反的论调:
我们不用讨论对错,其实上面两种观点在对应的场景下都可能是对的,如你的IT对象不多,IT管理系统和ITSM系统都没有建设,其实用Excle表格管理比较方便;如果你的IT对象非常多,并且变化快,IT管理系统也非常多,这种情况下,你发现没有建设好CMDB就会带来很大的问题。
我们理解的CMDB:
理解CMDB之后,现实中我们就不要对CMDB系统提出太高的要求,如要求CMDB系统为我们提供系统架构图、提供业务访问调用链关系等等。
一、站在更高的视角搞明白CMDB
有时候,我特别讨厌老外创建一堆的词汇,看到这些词汇让人感到头晕,比如我刚研究CMDB的时候就了解到CMDB相关的词汇如下:CMDB、CMS、ITSM、ITAM、ITOA、NSM、CM、ACM、SCM……哈哈,怎么样,头晕了吧!另外更让人郁闷的是CMDB和CMS都被中文翻译成配置管理,而CM也被中文翻译成为配置管理,我当时为了理解这些东西简直快要崩溃了。
CMDB和CMS,应该是要被放在一起讲的。CMS叫配置管理服务,是用来管理和维护CMDB,并且把CMDB数据的能力开放出去给到其他系统使用的服务;
ITSM是IT服务管理,IT服务管理系统需要调用到CMDB提供的数据,当然也有纯流程的ITSM和CMDB没有任何的耦合,也有ITSM系统中自己带了一个CMDB,需要用户手动维护数据;
ITAM是IT资产管理,资产管理和财务系统有一定的关系,主要关注硬件和软件资产信息的管理。ITAM需要使用到CMDB中的数据;
ITOA是IT运营数据分析,如Splunk这种商业软件和基于开源的ElasticSearch软件,ITOA可以消费CMDB数据为海量运营数据打上标签,提供各种数据分析的维度等;
NSM是网络及系统管理,主要是指我们通过监控、自动化等工具对运维对象进行运维管理的额各种操作;
CM、ACM、SCM这三个词应该放到一起讲,CM泛指针对IT对象的配置进行操作管理,如Puppet工具;ACM是应用配置管理,如Apollo配置管理中心;SCM是软件配置管理,如SVN等;SCM主要是给开发团队用的,ACM主要是运维团队使用,因此大家沟通的时候如果不理解就更容易混淆,CM、ACM、SCM事实上和CMDB没有非常紧密的关系,当然他们也可以去消费CMDB提供的数据。
二、CMDB建设的思路
1、业务需求分析
CMDB的建设也需要做业务需求分析?太扯淡了吧。其实我们在此说的业务不是指企业的“业务”,如快递业务、机票业务,而是指IT业务。把IT作为业务来看待,IT业务用来支撑企业“真实的业务”;把IT作为一项业务来看待后,可以进行如下的分析:
2、组织和人员安排
CMDB如此的重要,CMDB建设的组织和人员到底应该如何安排?根据CMDB落地比较好的企业,我们推荐CMDB建设的发起人应该是由IT运维总监或IT服务部门发起。
CMDB建设的负责人建议有一个人专门负责CMDB平台的建设及推广,并且制定CMDB对应的流程和规范,同时建议CMDB团队应该是由各领域技术团队和CMDB负责人组成的一个小组。
CMDB的组织和人员也需要根据IT业务发展的不同阶段进行动态的变化和调整。
3、工具平台建设
CMDB建设目前是以下三种现状混合的状态,根据我们的客户调研,我们认为选择“动态的CMDB”解决方案才是满足中大型企业未来业务需求的CMDB。
三、CMDB的价值
1、CMDB和CMS服务的技术价值
我们用SOA的技术理念去理解CMDB带来的技术价值:
如果没有构建CMDB服务,可能存在以下的情形,我需要修改一个配置信息,可能各个系统都要去做修改,并且还极容易导致配置数据的不准确;
如果构建了统一的CMDB,如下图所示:
2、CMDB和CMS的业务价值
CMDB是IT现实世界在数字世界的抽象,通过这个抽象,我们能够基于CMDB构建企业IT运营管理的各种场景,如更高效的发布系统、甚至未来我们实行AIOPS,CMDB仍然是基础;这就好像,我们把现实中的地理位置,抽象成为地图,我们可以结合GPS实现导航、送餐等便捷服务,甚至未来实现智慧城市都和电子地图有非常紧密的关系。
总之,中大型的企业构建一个“动态CMDB”,一定要从自己的IT业务需求出发,合理的安排人员、选择技术先进的技术平台就可以实现;另外,完善的CMDB不是通过一个项目,2~3个月就构建出来的,CMDB要具备较强的灵活性,方便管理人员进行扩展,通过持续的优化和改善才能够达到目标;CMDB本身不具备很高的业务价值,只有它的数据被各种运维工具消费才会产生更高的业务价值。