jayluns 2019-03-04
大家有没有想过,我们过去做的CMDB模型都是错的?也许真的错了,可以往下看看。
当前CMDB模型面临的问题
当前CMDB的模型问题
CMDB系统截图
构建CMDB模型的正确思路
新一代CMDB到底新在哪儿?
新思维:突破配置管理的认知,导致边界不清。配置往IT资源方向转变。
新方法:自上而下的推动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?我的答案是否定的。但如果选择一个非关系型数据库,如何选型?考虑什么要素?这些数据库的坑怎么填?这里面有涉及到实践经验了。且听下回分解!