做者:嘉维蓝鲸产品总监,贺勇数据库
针对CMDB这个主题,以前一直想写一篇文章来表达个人见解,可是以前一直不敢写,为何?由于CMDB这个主题属于一提你们都懂,可是深刻讨论你们都晕菜的一个话题;在2018年实施了几十个自动化运维项目后,我对CMDB的理解又进一步加深,所以想谈谈我对CMDB的见解。安全
关于CMDB的两种截然相反的论调:服务器
CMDB没什么卵用,就是国外厂商搞出来忽悠人的,咱们企业以前花上百万上的CMDB,尚未我使用Excel表格管理方便;网络
CMDB是运维工具建设的核心,只有CMDB建设好了,建设完善了,才可以建设自动化。架构
咱们不用讨论对错,其实上面两种观点在对应的场景下均可能是对的,如你的IT对象很少,IT管理系统和ITSM系统都没有建设,其实用Excle表格管理比较方便;若是你的IT对象很是多,而且变化快,IT管理系统也很是多,这种状况下,你发现没有建设好CMDB就会带来很大的问题。运维
咱们理解的CMDB:工具
CMDB本质上就是一个数据库,能够开放数据服务给到各个系统来调用和访问的数据库;优化
CMDB本质上是现实世界的IT系统在数字世界的抽象。打个比方,咱们每一个人在现实世界是存在的,可是咱们在公安系统中抽象出来的存在就是咱们的身份证信息,这一串信息表明了咱们的我的信息,以及咱们和家人之间的关联关系。云计算
理解CMDB以后,现实中咱们就不要对CMDB系统提出过高的要求,如要求CMDB系统为咱们提供系统架构图、提供业务访问调用链关系等等。spa
有时候,我特别讨厌老外建立一堆的词汇,看到这些词汇让人感到头晕,好比我刚研究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的建设也须要作业务需求分析?太扯淡了吧。其实咱们在此说的业务不是指企业的“业务”,如快递业务、机票业务,而是指IT业务。把IT做为业务来看待,IT业务用来支撑企业“真实的业务”;把IT做为一项业务来看待后,能够进行以下的分析:
分析IT业务和“真实业务”之间的关系,如网上银行业务和网上银行IT系统是很是紧密耦合的关系,IT系统故障或使用体验很差,将会直接致使网上银行用户的不满和流失,固然也会致使企业的业务损失(也就是钱的损失);
分析IT业务的现状和将来的发展,若是说企业的业务正在进行互联网转型,那么你的IT服务器规模和云计算的使用均可能是将来要考虑的;
分析企业对IT管理的需求,咱们是作好基础的监管控,保障稳定便可?仍是说咱们队IT服务的质量有更高的要求?
分析企业对IT安全的需求;
分析企业IT采用技术的状况;
分析企业目前IT业务面临最大的挑战和问题。
二、组织和人员安排
CMDB如此的重要,CMDB建设的组织和人员到底应该如何安排?根据CMDB落地比较好的企业,咱们推荐CMDB建设的发起人应该是由IT运维总监或IT服务部门发起。
CMDB建设的负责人建议有一我的专门负责CMDB平台的建设及推广,而且制定CMDB对应的流程和规范,同时建议CMDB团队应该是由各领域技术团队和CMDB负责人组成的一个小组。
CMDB的组织和人员也须要根据IT业务发展的不一样阶段进行动态的变化和调整。
三、工具平台建设
CMDB建设目前是如下三种现状混合的状态,根据咱们的客户调研,咱们认为选择“动态的CMDB”解决方案才是知足中大型企业将来业务需求的CMDB。
基础CMDB建设:
谁说用Excel构建的配置信息表就不叫CMDB?只要能知足IT业务的需求、维护方便、具有运维人员都遵照的流程,它就是合适的CMDB;
流程CMDB建设:
CMDB的建设仅仅是为了知足发布、变动等流程的需求,这样的CMDB建设难度是很是大的,维护准确的配置信息将会耗费运维人员不少的精力;
动态CMDB建设:
利用自动化的运维工具,构建动态的CMDB,而且可以实现配置管理服务的提供;动态的核心是可以自动的发现配置对象和配置信息,可以按照用户设定的规则进行配置信息入库,而且具有很好的开放能力,把CMDB做为服务开放给其余系统进行使用。
一、CMDB和CMS服务的技术价值
咱们用SOA的技术理念去理解CMDB带来的技术价值:
若是没有构建CMDB服务,可能存在如下的情形,我须要修改一个配置信息,可能各个系统都要去作修改,而且还极容易致使配置数据的不许确;
若是构建了统一的CMDB,以下图所示:
二、CMDB和CMS的业务价值
CMDB是IT现实世界在数字世界的抽象,经过这个抽象,咱们可以基于CMDB构建企业IT运营管理的各类场景,如更高效的发布系统、甚至将来咱们实行AIOPS,CMDB仍然是基础;这就好像,咱们把现实中的地理位置,抽象成为地图,咱们能够结合GPS实现导航、送餐等便捷服务,甚至将来实现智慧城市都和电子地图有很是紧密的关系。
总之,中大型的企业构建一个“动态CMDB”,必定要从本身的IT业务需求出发,合理的安排人员、选择技术先进的技术平台就能够实现;另外,完善的CMDB不是经过一个项目,2~3个月就构建出来的,CMDB要具有较强的灵活性,方便管理人员进行扩展,经过持续的优化和改善才可以达到目标;CMDB自己不具有很高的业务价值,只有它的数据被各类运维工具消费才会产生更高的业务价值。