写点什么

与其说建设 CMDB,不如说建设 IT 资源图谱

  • 2020-03-16
  • 本文字数:3331 字

    阅读完需:约 11 分钟

与其说建设CMDB,不如说建设IT资源图谱

在运维人员看来,CMDB 是一个绕不开的字眼。在 ITIL 时代,太多的 CMDB 落地项目,但鲜有成功。而我之前有一个观点,CMDB 中的配置字眼要从这个里面去掉,重新给它设定一个边界。在这个边界划分上,我曾经提出过 CMDB 经历过三个阶段,资产管理、配置管理到今天我主张的 IT 资源管理。


资产管理围绕硬件属性、采购属性、成本属性、采购属性、固件管理等等;配置管理围绕服务管理、配置管理等等,但配置范畴太广,导致容易管理失控,比如说应用配置、环境配置、中间件参数管理等不适合进入 CMDB,分布式配置中心 Apollo、Nacos 便是佐证;IT 资源管理进一步缩小其管理能力范围,把不能够产生服务能力的东西都剥离出去,不纳入管理范围。


那到底什么是 IT 资源?一切能直接或者间接产生业务服务价值的 IT 实体都可以称之为资源,比如说应用系统的业务服务、网络带来的网络服务、F5 带来的负载均衡服务、存储资源带来的存储服务、主机带来的计算/网络/存储服务等等。那它和配置管理服务有什么区别?我认为配置是资源的版本化描述,比如说网络配置是对网络服务的版本化描述、主机上会有各类配置(CPU、网络和存储、环境配置)等等,而这种版本化的描述可以通过配置中心来管理。


一旦我们收敛了 CMDB 的管理边界是 IT 资源,此时就需要知道构成资源服务能力的不仅仅是资源自身,还有其关联的资源,资源图谱概念由此产生。资源图谱旨在描述 IT 世界中存在的各种实体与资源及其关系,构成一张复杂的实体与资源关系图,节点表示资源实体,边则由关系构成。


在资源图谱的概念中,对现实世界的图谱描述有两层,第一层是实体层,第二层是资源层,最后是他们的关系表达。实体是从真实的世界出发,直观看到的,比如说网络、防火墙、应用系统、数据库中间件等等,通常一个实体代表一类服务能力。再往下,实体构成对外的服务能力一定是其关联的资源实现的,比如说网络上的端口、应用系统的部署和服务资源、基础设施主机上的 CPU/网络/存储等等资源。这两者在过去,统一用 CI 来表达,我认为是欠妥的,容易对这个世界平面化的描述,但其实他们是层次化的。针对每一个实体和资源都要用结构化表达,这是另外技术建模的问题,在此不多讲。


其次说到关系,实体之间的关系是由资源的关系构成的,主机和主机之间没有关系,而是上面的端口资源访问产生的业务关系,交换机与主机没有关系,是因为交换机端口和主机之间物理连接产生的关系;A 和 B 应用系统因为他们之间的 API 服务访问产生的关系。


到底哪些应该纳入到资源图谱管理呢?上至服务、应用系统及组件,下到数据、基础设施架构等等,员工也属于资源的一种。API 是越来越重要的资源,行业也开始出现各类管理平台,如 swagger;应用系统是由 N 个组件组成,也是一种资源;组件从安装部署态算起,一直到运行态,由大量的关联资源组成,主机、制品包、关联的依赖库、关联的进程端口、提供的服务等等;数据服务关联了各类中间件服务信息,cache 类、DB 存储类等;基础架构的资源分解很简单,就是上面关联的核心资源管理,比如说交换机的端口、F5 上面的 vspool/irules 等。


CMDB 到底要不要建设?我觉得可以不要,但 IT 资源图谱平台要不要建设?我觉得很有必要。我会从 IT 资源图谱的四大定位和五大类场景谈谈他的必要性。


首先说说它的四大定位,这也是我一直在和客户不断说的四个方面:数据地图、基础数据、数据总线、数据治理:


一、数据地图(边界)

IT 资源图谱需要构建一个数据地图的能力,全面构建资源实体对象及对象关系,这个定位有利于控制它的边界。在现实中有各类地图,地图本身维护各类经纬度数据(点)以及点到点之间的路径关系,而基于地图的应用则很多,比如说衣食住行类应用等等。IT 平台也是如此。在一体化运维平台体系中,上层的场景丰富多样,需要底层这样的一个数据地图来描述数据和数据之间的关系。

二、基础数据(能力)

基础数据是一种可供数据消费的能力,IT 资源图谱需要开放所有的数据供外围场景平台消费,比如监控平台、自动化平台、安全平台等等。基础数据平台要解决数据的生成和数据的消费两个方面问题。数据生成一方面依赖自动发现,另外一方面就要依赖流程;数据消费要基于开放式的 API 能力,供外围场景平台和它联动。

三、 数据总线(整合)

在 IT 运行过程中,很多地方,比如说自动化和场景平台,自动发现发现某条记录进入 IT 资源图谱、云管平台分配一台主机进入 IT 资源图谱,此时外围安全、4A 平台、监控等诸多平台需要消费,此时需要一对多的数据发布能力,IT 资源图谱平台是最好的数据聚合点。在这个聚合点,可以在数据入库前做相应的校验,数据发布后做发布的确认等等。

四、数据治理(治理)

它也是一个 IT 资源数据治理的平台。随着 IT 应用系统和基础设施架构越来越复杂,资源及其关系错综复杂,纳入这么多的资源数据进入到平台,需要对原始数据进行数据的甄别、数据清洗、数据转换和数据融合的过程,从而变成高质量外围平台可消费的数据。还有一个场景化的数据治理思路,是和上面的变更服务耦合在一起的。


很多人会说,费这么大的力气建设一个 IT 资源图谱平台,到底是干嘛呢?一定是价值/场景消费导向,我把场景分成五大类:



一、流程服务类


ITIL 里面包含很多流程类的服务,如服务台、事件、问题、变更等等,这些流程服务都可以和 CMDB 关联起来,在不同的流程服务里面需要消费的数据不一样。不知道大家有主要到没有,配置服务流程是 ITIL 里面实施最差的流程,为什么?从流程设计上来说,变更流程执行完成之后,发起配置流程修改配置,但是很少人这么做,一次变更触发了哪些配置项修改,估计实施的人都不知道,别说发起流程选择变更的配置项和属性了,特别是全流程自动化场景。这就牵扯到 ITIL 轻量化的话题,在此不展开。


二、可视化


CMDB 里面很多数据是被关系理解的,这个关系从不同的角色角度去看,需要看到的拓扑和关系视图是不一样的,网络管理员、主机管理员、系统管理员等等,他们都是实例资源拓扑的场景化表达。上层应用架构拓扑是非常复杂的,不容易场景化理解的。可视化的核心是把关系数据有意义的表达出来。


三、自动化类


自动化是变更的主要实现,在这个场景之下一般都会触发资源变更,因此和自动化场景的关联是一种强关系。


IT 自动化可以从资源交付自动化到应用交付自动化两层去分解。资源交付自动化可以从资产到资源自动化整个生命周期过程来分解;应用交付自动化就是今天行业所说的 DevOps CICD 过程,从持续集成开始一直上线到持续反馈,应用作为一个核心的 IT 资源对象,它自身有新上线、升级、运营服务、下线这样一个生命周期过程。覆盖如此复杂的 IT 过程,需要有一个基础 IT 资源数据平台存在,串联整个过程。这套方法我给写进了证券行业的自动化运维规范之中。



四、数据化类


监控、IT 运营分析(容量、性能、可用性、连续性、成本、用户体验、质量)等各类数据场景都和资源图谱平台紧密关联。本质上来说,所有的数据都是这些资源的状态数据,而资源图谱提供了一个元数据基础,它首先解决的是一个到底有多少资源需要数据化。孤立的数据价值越来越小,关联整合的数据价值越来越高。关系是维度的体现,基于维度的数据聚合是很常规的运维需要,比如说从机房、从业务系统、从集群的角度去聚合流量。


五、智能化类


随着 AIOps 应用越来越多,在一些智能化运维场景中,比如说故障根因分析、事件关联分析等等,需要和资源图谱的数据全面关联,相当于一个知识标签库,相比较 AIOps 的标签库,资源图谱是基于场景维护产生的标签库,有着准确性高,实时性好,全面性广等特点。


我们今天正在在招商银行实践从 CMDB 到 IT 资源图谱的升级,改变过去的配置管理思维,全面落地 IT 资源图谱。



建设 IT 资源图谱,需要从四个定位出发,强调它的职能边界、数据生产和消费能力、基于数据总线的整合和面向多源数据的治理。同时要面向五个消费场景,强调这份数据建设的价值——流程和可视化是最基本的场景,也可以说是弱场景;自动化是一种强场景,直接影响资源数据变更;数据化消费资源图谱数据的重要场景,直观体现这部分数据价值;智能化是一个资源语义网络,理解资源和资源关系,提升特定智能场景的价值。


本文转载自成哥的世界公众号。


原文链接:https://mp.weixin.qq.com/s/6DnP5whv2Cih8K-GuE3RYg


2020-03-16 20:281337

评论

发布
暂无评论
发现更多内容

devops工具链基建建设评价标准

laofo

DevOps cicd 研发效能 持续交付 工程效率

MyBatis整合Springboot多数据源实现

Java Spring Boot mybatis

春风送暖,好久不见

BinTools图尔兹

版本发布

火山引擎数智平台协助洞察美图类APP新增长 付费用户转化超过124%

字节跳动数据平台

大数据 增长 产品增长 企业号 4 月 PK 榜 美图

一文弄懂访问者模式

小小怪下士

Java 程序员 设计模式

带你揭开神秘的Javascript AST面纱之Babel AST 四件套的使用方法

京东科技开发者

JavaScript AST 京东云 企业号 4 月 PK 榜

MyBatis整合Springboot多数据源实现

Java你猿哥

spring Spring Boot mybatis ssm 数据源

物流路由线路配载前端算法逻辑实现方案

京东科技开发者

前端 京东云 京东物流 企业号 4 月 PK 榜

对标大厂的技术派方案设计,带你了解一个项目从0到1实现的全过程

Java全栈架构师

数据库 微服务 程序人生 后端 架构师

小程序SDK集成到App有哪些好处?

没有用户名丶

Spring全家桶思维笔记导图(Spring Boot+Cloud+IOC+AOP+MVC等)

Java你猿哥

spring Spring Cloud Spring Boot aop ioc

GPTCache:LLM 应用必备的【省省省】利器

Zilliz

Milvus Zilliz ChatGPT LLM 语义检索

iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践

京东科技开发者

ios 京东云 灵动岛 企业号 4 月 PK 榜

Seal AppManager发布:基于平台工程理念的全新应用部署管理体验

SEAL安全

应用部署 企业号 4 月 PK 榜 Seal软件 SealAppManager

软件测试/测试开发丨ChatGPT训练营来,手把手带你玩转ChatGPT

测试人

软件测试 自动化测试 测试开发 ChatGPT

自阿里P8爆出内部1031道java面试题后,在Boss直聘狂拿千份Offer

Java java面试 Java八股文 Java面试题 Java面试八股文

GitHub程序调优「黑马」!阿里大牛的Java性能优化实战笔记已上线

Java 面试 性能优化 性能调优

得帆云DeFusion融合集成iPaaS平台领先行业,打造先锋集成产品

得帆信息

打破信息孤岛 数据集成 集成平台 数据集成平台 ipaas

玖章算术CEO叶正盛在数据技术嘉年华分享NineData AIGC的应用实践

NineData

数据库 数据管理 AIGC 玖章算术 NineData

Flink CDC 在京东的探索与实践

Apache Flink

大数据 flink 实时计算

面试官:说说MySQL主从复制原理

Java永远的神

MySQL 数据库 程序员 面试 主从复制

深度学习基础入门篇[四]:激活函数介绍:tanh、sigmoid、ReLU、PReLU、ELU、softplus、softmax、swish等

汀丶人工智能

人工智能 机器学习 深度学习 激活函数

解决事务隔离产生问题的MVCC

前端代码安全与混淆

京东科技开发者

安全 京东云 企业号 4 月 PK 榜

一文读懂 Nautilus Chain 上首个 DEX PoseiSwap 的通证经济

西柚子

从内核源码看 slab 内存池的创建初始化流程

bin的技术小屋

操作系统 内存管理 Linux Kenel 内核 动态内存池

历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!

华为云开源

typescript Vue 组件库

解决事务隔离产生问题的MVCC

Java你猿哥

Java ssm 架构师 MVCC

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java你猿哥

Java 数据库 JVM java编程 Java性能优化

对标大厂的技术派方案设计,带你了解一个项目从0到1实现的全过程

Java你猿哥

Java 架构 ssm 项目设计

与其说建设CMDB,不如说建设IT资源图谱_语言 & 开发_成哥的世界_InfoQ精选文章