【FCon上海】与行业领袖共话AI大模型、数字化风控等前沿技术。 了解详情
写点什么

我们的 CMDB 模型是不是都错了

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

    阅读完需:约 8 分钟

我们的CMDB模型是不是都错了

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

大家有没有想过,我们过去做的 CMDB 模型都是错的?也许真的错了,可以往下看看。

当前 CMDB 模型面临的问题

当前 CMDB 的模型问题

  • 首先是思考的深度不够,当今很多 CMDB 的模型还是聚焦在底层资源。这个底层资源指的一部分是 IaaS 层的资源管理,另一部分是 PaaS 层中间件的资源管理。到上层应用这块,其实它的模型表述特别简单,只有一些应用的基本信息。

  • 第二个要讲的问题是无应用视角。今天我们创建管理了这么多资源对象,但不知道是给谁用的,其实真正的着力点是应用。这个我将其总结为无应用层的理解力。

  • 模型的动态性不强。每个模型对象调整它的属性或者关系的时候,在传统数据库里技术端的特点带来的代价特别高。我把模型的动态性抽象成两个维度,第一是模型对象之间在 CI 级别的动态性,第二个就是实例级。

  • 第四个问题是场景的过度设计。我认为场景是可以预设的,但是细粒度的模型会带来很大的管理负担。有时候会把场景考虑得过于复杂,导致这里面的模型管理后续负担特别重。从简到繁很容易,但是从繁到简很难。

  • 技术限制想象力。受 CMDB 平台技术本身的能力限制,导致无法扩展这个模型。

  • 欠缺 IT 架构思考力。我要讲的是从业务架构到应用架构再基础架构。业务架构中还包含了基础设施架构和数据架构。弄清楚这三者的关系后,就能表达出在每一层架构上所带来的本质上的关系连接到底是什么。

CMDB 系统截图

构建 CMDB 模型的正确思路

新一代 CMDB 到底新在哪儿?

新思维:突破配置管理的认知,导致边界不清。配置往 IT 资源方向转变。


新方法:自上而下的推动 CMDB 落地,而不是自下而上。


新模型:模型重构,传统的关系模型无法满足。


新技术:使用新的技术,新的功能架构,重新定义功能边界。

CMDB 元数据的两类用途

CMDB 模型最终是要实例化数据和关系的,正确的模型构建可以为多变的场景提供数据基础。


1.面向管理层的 ITSM 流程。在很多传统企业里面,CMDB 还是要为 ITSM 的流程做好数据支撑服务。


2.面向执行层的 DevOps 过程。端到端整个 IT 交付过程需要完整的元数据,特别是应用层面的元数据。


总的来说,新一代 CMDB 应该能支撑整个 IT 过程管理(ITPM),所以 CMDB 可以成为:基础元数据平台、数据总线分享平台、共享实例数据平台、统一数据规则平台等等。

两层 CMDB,构建不同管理视角


CMDB 架构分基础资源层架构和应用资源层架构。应用层资源架构把相关的资源以应用为中心实现资源整合。资源及其资源的关系称之为拓扑(应用拓扑、物理拓扑),资源管理方式有人工维护和自动发现两种方式,从详细的事前、事中和事后来看,可以分成详细的四中模式:人工、IT 对象生命周期流程、场景化变更管理、自动发现等等。

基础 CMDB 建设五原则

1.面向 IaaS 和 PaaS 设计,能够管理底层的一切资源。


2.状态控制借助运维流程自动化完成。


3.CI 的维护要深度使用自动发现,而不是人工维护。


4.资源信息必须能为上层应用提供服务。


5.必须满足基础资源的 CI 管理需要。

应用 CMDB 建设七原则

1.提供统一的应用元数据管理能力,和应用类型无关。


2.核心诉求是应用生命周期管理。


3.以应用为中心,而非基础资源为中心。


4.从应用资源的角度构建起与 IT 资源的弹性关系。


5.为应用资源、动作、状态的统一管理提供支撑。


6.以统一的基础资源层 CMDB 作为基础。


7.核心场景就是持续交付。

应用 CMDB 模型层次化理解


应用 CMDB 是面向资源的完整描述,应用的资源分成应用的部署资源、服务资源和动作资源。


  • 部署资源是一次应用部署所依赖的资源,一般又称本地资源,比如说主机 Host、程序包等等。

  • 服务资源是应用运行依赖的资源,一般有称之为附加资源(来自于 12factor),比如说应用的服务接口、应用依赖的 PaaS 资源、应用依赖的应用资源等等。

  • 场景动作是资源其上附加的动作描述,是资源的管理方法。

新一代模型的标准化框架

新一代 CMDB 的资源模型框架


核心准则:一个资源能够提供服务,还要看它关联的资源,因此必须采用结构化模型方案。纷繁复杂的 IT 对象模型,其实只有两种:一种是硬件对象模型,一种是软件对象模型。这两种模型都要用新的模型表达方法来做——结构化模型定义方法,而非关系型平面表达模式。

IaaS 层硬件对象模型


针对每一个象实例化描述它们就可以了,无非就是属性和关系。

PaaS 层对象模型核心概念


一定要深刻理解服务、实例和主机之间的层次关系,并且要精确表达注意组件和集群的区别,例如 Mysql 组件和 Mysql 集群。待会儿和 SaaS 层对象一起详解。

应用层对象模型核心概念


对于 PaaS 和 SaaS 对象来说,他们都是软件对象。我们把其对象模型整理成三个层次,这三个层次中必须要包含服务、组件服务节点和主机三层,而他们又分别对应三层、四层和七层模型。



  • 最底下的层次其实应该叫做部署资源,主机只是其中的一种。

  • 服务运行过程中起了哪些运行实例、这些实例进程在哪些主机上,主机延伸出来就是 IP 列表。组件实例有两种,一种是自有实例,当程序运行的时候需要的应用包实例化。一种是依赖实例,就是将依赖组件实例化。

  • 自有服务是自己启动的服务对外提供的时候以怎样的方式暴露出去。依赖服务则是运行时还关联了哪些服务。

  • 应用层和 PaaS 对象都要深刻理解服务、实例和主机之间的层次关系,并且要精确表达。

一个应用架构的示例

接下来,我们以一个真实的应用系统架构为例子,如下:



通过我们讲的模型,最终表达如下:



在 CMDB 模型中,必须要表达这些元素的横向和纵向关系,才能构建一个真正的应用系统完整的视图,其中包括应用架构视图、应用访问视图、应用部署视图等等。


这是我要讲的新一代 CMDB 模型的全部,为什么我说以前的 CMDB 模型可能都是错的,大家也应该看出构建模型的思路有所不同。这个地方还有一个关键的技术问题没讲:是否应该关系数据库来实现 CMDB?我的答案是否定的。但如果选择一个非关系型数据库,如何选型?考虑什么要素?这些数据库的坑怎么填?这里面有涉及到实践经验了。


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


原文链接:https://mp.weixin.qq.com/s/k3vp_CBDHmB_aRER591ZIw


2020-03-16 20:342510

评论

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

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

威廉META

IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践

JackJiang

即时通讯 即时通讯IM

最全金融数据安全政策汇编,你应该需要它!( 附下载 )

极盾科技

数据安全

专业的RAW图片处理:DxO PhotoLab 6 中文直装版

真大的脸盆

Mac Mac 软件 raw raw图片处理软件 Raw图像处理软件

Github上获赞59.8K的面试神技—1658页《Java面试突击核心讲》

Java你猿哥

Java 架构 面试 面经 春招

Linux 的 TCP 连接数量最大不能超过 65535?

Java你猿哥

Java Linux 后端 ssm

测试流程规范如何推动落地?

老张

软件测试 目标识别 流程规范

开源即巅峰!《Java程序性能优化实战》GitHub三小时标星已超34k

做梦都在改BUG

Java 性能优化 性能调优

MobTech MobLink|场景分享的原理

MobTech袤博科技

解密COUNT(*)与COUNT(1):SQL查询你选哪个更高效?

Java你猿哥

Java sql 后端 ssm Java工程师

在GitHub首页3分钟被下架!爱奇艺《高并发网关设计》笔记被盗?

做梦都在改BUG

Java 负载均衡 高并发 网关设计

云原生容器高可用运维能力应用

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

DaVinci Resolve Studio 18(达芬奇调色剪辑)中文版

Rose

达芬奇18破解版

一文告诉你如何一键复现“TSBS 时序数据库性能基准测试报告”测试结果

TDengine

tdengine 性能测试 时序数据库

基础篇丨链路追踪(Tracing)其实很简单

阿里巴巴云原生

阿里云 云原生 Tracing

一看就懂,一学就会的Raft解析

爱德华

raft PAXOS 共识算法 深入理解分布式共识算法

云图说 | MSSI之应用业务模型ABM,搭建业务与技术的数据治理桥梁

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

Nautilus Chain 首个生态基础设施 Poseiswap,公布空投规则

鳄鱼视界

警惕看不见的重试机制:为什么使用RPC必须考虑幂等性

做梦都在改BUG

GitHub上架即巅峰!《Spring Cloud微服务架构实战》标星已超30k

做梦都在改BUG

Java 架构 微服务 Spring Cloud

灵魂拷问:你写的SQL一般有几个JOIN ?​

Java你猿哥

Java sql 后端 ssm join

夜莺n9e监控配置支持电话短信报警

外滩运维专家

夜莺监控 电话报警 短信报警 夜莺监控电话

连接 AI,NebulaGraph Python ORM 项目 Carina 简化 Web 开发

NebulaGraph

Python ORM 图数据库

互联网工程师1480道Java面试题及答案整理( 2023年 整理版)

Java你猿哥

Java 面试 面经 春招 Java八股文

如何使用责任链默认优雅地进行参数校验?

做梦都在改BUG

Alibaba官方上线!Java并发编程全彩图册(终极版)GitHub已置顶

做梦都在改BUG

Java 并发编程 多线程 高并发

官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南

洛神灬殇

Java JVM 3月日更 XPocket 技术 优化体系

扫盲篇:Java中为啥一个 main 方法就能启动项目?

Java你猿哥

Java JVM ssm Java工程师

MobTech 秒验|防控羊毛党

MobTech袤博科技

龙蜥白皮书精选:面向异构计算的加速器 SDK

OpenAnolis小助手

开源 sdk 异构计算 加速器 龙蜥白皮书

面试必问:JVM 如何确定死亡对象?

做梦都在改BUG

Java 面试 JVM

我们的CMDB模型是不是都错了_文化 & 方法_成哥的世界_InfoQ精选文章