本次分享分为四个部分:
第一,一体化运维平台为什么需要强CMDB;
第二,应用CMDB模型如何构建;
第三,应用CMDB平台如何建设;
第四,应用CMDB关键问题的探讨,怎么来落地。
01为什么需要强CMDB
IT全过程管理需要统一元数据, 从ITIL、DevOPS和CMDB的关系来看,最上层服务门户层,有产品目录、服务目录、任务中心,下面就是ITIL的服务受理层,包括时间管理、问题管理,再往下是服务开通层,分两种,一种是自动化的运维平台,是工具平台。还有另外一种DevOPS自动化和持续交付。
另外是数据化运维,分为两种一个是监控平台,数据的监控。业务状态是什么样子的,服务器的状态。另外是上层拿到数据之后的按容量分析,舆情分析更高层次的分析平台。他们通过API的方式调用CMDB的数据。
CMDB的模型一般分为三种,逻辑资源,管理组织人代理商,另外是基础资源,像服务器,像网络设备,存储设备,另外一个就是最重要的,应用资源。最底层是CMDB数据的来源,比如CMP、基础设施平台、私有云等等。
02应用CMDB模型如何建设
第二个部分,CMDB的模型如何构建。CMDB建设思路首先是要进行一次重构,像以前资产系统,我去管理一些采购、会用到的一些台帐,这个是和在线业务没有联系的。
但CMDB,配置管理数据库,做CMDB会找所有的配制项,所有的属性拿过来,放在里面统一管理,CMDB一般会管三种,第一种传统的代码管理(SCM)。第二种是业务应用的配置管理。第三个环境的一些信息管理,比如说像主机,一些设备。
现在来说的话,我们更会强调IT资源系统,以资源的视角重新地去做CMDB。为什么说IT资源系统,不是说传统的配置项呢?当梳理CMDB的时候,我们哪一个对象其实是一个业务会使用到的一个资源。一切支撑线上的业务的资产和配置的都需要纳入管理,大到机房基础设施,小到操作系统的配置,配置管理更多的是面向IT服务过程。可以看到这个变化其实是从离线到在线,从资产到业务的过程,这一过程中范围也是逐渐缩小的,比如现在我们不会去管以前资产管理的办公设备,也不会去管配置管理的文档信息了,因为这些不会影响到我的在线业务。
对与IT对象的属性或者关系的梳理。首先要强调讲一下IT对象并不是传统的CI的对象。我们要从与在线业务有联系的资源对象的视角来看,比如说面向识别对象的,给的是一个对象,这个对象是鲜活存在的,不是死的一些属性和关系,首先要识别对象,一般对象分为IAAS、PAAS、SAAS,然后这个资源它本身会有哪些属性,比如主机名IP等,还有我们要识别这个对象和其他的IT资源有哪些联系,比如应用会部署在主机上面,这个主机会连到交换机上,这就是主机和应用、交换机两个资源产生了联系。接下来是比较重要的是要梳理这一个资源对象的生命周期,就是从它的诞生,申请使用,到释放资源,销毁。最后是要定义整个生命周期中每一步会影响到这个业务资源的哪些属性,这些属性的使用规范是什么。这就是五步的标准化建设的过程。
我们总结了一个IT资源对线的通用框架,对于所有的IT资源对象,首先有它的属性和关系的,这个非常好理解。这些属性会被使用以满足具体的需求,这就是消费场景。这些属性和关系是要给场景来使用它的。当资源被不断使用时就会涉及到状态的反馈。这个就会涉及到资源的监控了。这就是对象管理的核心三要素,属性关系、场景和状态。所以我们首先要梳理好属性以及与其他资源的关系,找到能够支持场景消费,反言之,没有消费场景的属性/关系,就不应该储存。对应到我们公司的产品,具体化了之后,其实就是CMDB负责对象的属性和关系,资源的消费场景落到运维自动化和持续交付,状态的话就是智能监控。
接下来我们来专门谈一下应用,一个应用包含哪些信息呢?首先是部署资源,什么是应用的部署资源,比如说应用部署的程序包,它的一些配置信息,还有所依赖中间件。应用运行后会提供一些服务,就是左边的服务资源,服务资源也会包括使用的其他应用提供的借口和服务资源。然后是应用的运维动作,像部署、启停监控等等操作,部署动作会在应用环境上产生一些的部署实例,部署实例的运行之后,反过来提供一些服务资源。这五个是一个应用的核心框架。
(点击查看大图)
03应用CMDB平台如何构建
第三部分讨论下CMDB平台如何构建。首先以应用为中心的CMDB,这是至高无上的配置管理准则。什么样的场景是最频繁、最可靠的场景呢?显然应用的消费场景频率最高,依赖性最强的,常见的构建原则,这些就第一个是要提供统一的源数据的能力,第二个对应用生命周期的管理要是一个全生命周期的管理,必须以应用为中心,不要从基础资源去看,一定要从应用的视角,从上层来看,要从应用的角度构建资源管理的关系。这其实就是刚才说的,应用到集群到主机,主机再跟其他资源进行关联。要对应用的资源、应用动作、应用状态三个层次进行支撑管理必须要有统一的CMDB的作为基础,不能说同时有几个独立CMDB。
CMDB的几种类型,一个是基础资源,一个是应用,一个是逻辑(组织和人)。往上是数据的来源,一种自动发现,一种是人工或者流程。这些数据通过两种视角展示,一个是资源管理的视角,一个是资源拓扑的关系。这些拓扑和基础的信息生成之后,我们在消费的场景就是上面这一栏,像分析平台、变更平台都会消费它。
04应用CMDB平台如何落地
最后讲一下CMDB如何落地。落地分为五步,第一步是现状,评估资源的状态、流程的架构、知识架构和组织架构。第二步是做CMDB项目启动,CMDB落地中需要把CMDB的模型和CI模型关系整理好,同时和各个IT资源模型的负责人开会,确定负责人负责数据的管理,一定要做到去中心化,把你们的CMDB各个模型推到专门的部门管理,第三个是CMDB数据实例化,要搭建生产和测试环境,导入资源模型,编写自动发现数据,初始化已有数据。第四部是要经常去校验数据的准确性。数据导入初始化之后,这只是一个开始,后面的这个非常重要的一个环节,要去消费数据,要去有流程去管理覆盖这些数据,管理整个IT资源的生命周期,这个是不能忽略的。消费一般会有常见的自动化平台、持续交付平台、监控平台。他们都可以拿CMDB数据消费它,拿数据用什么方式呢?推荐刚才说的API的方式。