点击标题下「蓝色微信名」可快速关注
很多的企业都有自己的CMDB,通过它和各种内部管理系统关联,形成一张网,推动各种管理工作的开展。技术社群的这篇文章《我们运维的 CMDB 模型是不是都做错了?》从一个新视角看CMDB,可以了解学习。
大家有没有想过这个问题,我们过去做的CMDB模型是错的?
一、当前CMDB模型面临的问题
当前CMDB模型问题:
CMDB系统截图:
二、构建CMDB模型的正确思路
新一代CMDB到底新在哪儿?
CMDB元数据的两类用途:
CMDB模型最终是要实例化数据和关系的,正确的模型构建可以为多变的场景提供数据基础。
总的来说,新一代CMDB应该能支撑整个IT过程管理(ITPM),所以CMDB可以成为:基础元数据平台、数据总线分享平台、共享实例数据平台、统一数据规则平台等等。
两层CMDB,构建不同管理视角:
CMDB架构分基础资源层架构和应用资源层架构。应用层资源架构把相关的资源以应用为中心实现资源整合。资源及其资源的关系称之为拓扑(应用拓扑、物理拓扑),资源管理方式有人工维护和自动发现两种方式,从详细的事前、事中和事后来看,可以分成详细的四中模式:人工、IT对象生命周期流程、场景化变更管理、自动发现等等。
基础CMDB建设五原则:
应用CMDB建设七原则:
应用CMDB模型层次化理解:
图片应用CMDB是面向资源的完整描述,应用的资源分成应用的部署资源、服务资源和动作资源。
三、新一代模型的标准化框架
新一代CMDB的资源模型框架:
核心准则:一个资源能够提供服务,还要看它关联的资源,因此必须采用结构化模型方案。纷繁复杂的IT对象模型,其实只有两种:一种是硬件对象模型,一种是软件对象模型。这两种模型都要用新的模型表达方法来做——结构化模型定义方法,而非关系型平面表达模式。
IaaS层硬件对象模型:
针对每一个象实例化描述它们就可以了,无非就是属性和关系。
PaaS层对象模型核心概念:
一定要深刻理解服务、实例和主机之间的层次关系,并且要精确表达注意组件和集群的区别,例如Mysql组件和Mysql集群。待会儿和SaaS层对象一起详解。
应用层对象模型核心概念
对于PaaS和SaaS对象来说,他们都是软件对象。我们把其对象模型整理成三个层次,这三个层次中必须要包含服务、组件服务节点和主机三层,而他们又分别对应三层、四层和七层模型。
应用层和PaaS对象都要深刻理解服务、实例和主机之间的层次关系,并且要精确表达。
四、一个应用架构的示例
接下来,我们以一个真实的应用系统架构为例子,如下:
通过我们讲的模型,最终表达如下:
在CMDB模型中,必须要表达这些元素的横向和纵向关系,才能构建一个真正的应用系统完整的视图,其中包括应用架构视图、应用访问视图、应用部署视图等等。
这是我要讲的新一代CMDB模型的全部,为什么我说以前的CMDB模型可能都是错的,大家也应该看出构建模型的思路有所不同。这个地方还有一个关键的技术问题没讲:是否应该关系数据库来实现CMDB?我的答案是否定的。但如果选择一个非关系型数据库,如何选型?考虑什么要素?这些数据库的坑怎么填?这里面有涉及到实践经验了。
如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发朋友圈,