硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

有了 CMDB,为什么还要应用配置管理

  • 2020-03-18
  • 本文字数:2141 字

    阅读完需:约 7 分钟

有了CMDB,为什么还要应用配置管理

CMDB 翻译过来,Configuration Management DataBase,其实也是配置管理的意思,但从实际情况看,CMDB 的概念定义已经出现了很大的局限性,今天我从我们团队自己的实践过程中的理解和角度再来呼应下,因为这一点理解不清楚,基础打不好,后续的自动化也好,DevOps 也好,都将无从谈起。


先抛观点: CMDB 是面向资源的管理,应用配置是面向应用的管理。


注意:是资源,不是资产,资源 ≠资产

一、CMDB 面向的是资源层面的管理,是运维的基石

通常,我们在建设运维的基础管理平台时,通常要做的事情:


1、把服务器、网络、IDC、机柜、存储、配件等这几大维度先定下来;


2、这些硬件的属性确定下来,比如服务器就会有 SN 序列号、IP 地址、厂商、硬件配置(如 CPU、内存、硬盘、网卡、PCIE、BIOS)、维保信息等等;网络设备如交换机也会有厂商、型号、带宽等等;


3、以上信息之间的关联关系,或者叫拓扑关系。比如服务器所在机柜,虚拟机所在的宿主机、机柜所在 IDC 等简单关系,复杂一点就会有核心交换机、汇聚交换机、接入交换机以及机柜和服务器之间的级联关系,这个就相对复杂一些


4、其实应该是 3.5 步,在上面信息的梳理过程中肯定就会遇到一些规划问题,比如,IP 地址段的规划,xx 网段用于 DB,xx 网段用于大数据、xx 网段用于业务应用等等,再比如同步要做的还有 xx 机柜用于做虚拟化宿主机、xx 机柜只放 DB 机器等等。


以上信息梳理清楚,通过 ER 建模工具进行数据建模,再将以上的信息固化到 DB 中,一个资源层面的信息管理平台就基本成型了。但是,信息固化不是目的,也没有价值,只有信息动态流转起来才有价值(跟货币一样)。接下来我们可以做的事情:


1、基于这些信息进行流程规范的建设,比如服务器的上线、下线、维修、装机等流程。同时,流程过程中状态的变更要同步管理起来。


2、拓扑关系的可视化和动态展示,比如交换机与服务器之间的级联关系、状态(正常 or 故障)的展示等,这样可以很直观的关注到资源节点的状态。


至此,从资源维度的信息梳理,以及基于这些信息的平台和流程规范建设也算是基本成型了。这个时候,以服务器简单示例,我们的视角是下面这样的:


二、应用配置管理是面向应用的管理,是运维的核心

上面说明了 CMDB 的基础信息部分,如果从传统的 SA 运维模式,这些信息已经足够,但是从应用运维的角度,这些就远远不够了。这时我们就需要一个非常非常重要的句柄——应用名,或者叫应用标示。这时,应用运维里面最最重要的一条联系也就产生了——“应用名—IP“的关联关系。(注:这里也可以是定义的其它的唯一主机标示,如主机名、容器 ID 等等,因为我们使用的方式是 IP,所以这里就以 IP 示例)


之所以说应用名和应用名-IP 关联关系非常重要,是因为它的影响力不仅仅在运维内部,而是会一直延伸整个技术架构上,后面的文章,我们介绍到的所有的平台和系统建设,都会跟这两个概念有关。


CMDB 是 IP 为标示的资源管理维度,有了应用名之后,我们后面就是以应用为视角的管理维度了。首先看一下应用会涉及到的信息:


1、应用基础信息,如应用责任人、应用的 Git 地址等


2、应用部署涉及的基础软件包,如语言包(Java、C++、GO 等)、Web 容器(Tomcat、JBoss 等)、Web 服务器(Apache、Nginx 等)、基础组件(各种 agent,如日志、监控、系统维护类的 tsar 等)


3、应用部署涉及的目录,如运维脚本目录、日志目录、应用包目录、临时目录等


4、应用运行涉及的各项脚本和命令,如启停脚本、健康监测脚本


5、应用运行时的参数配置,如 Java 的 jvm 参数,特别重要的是 GC 方式、新生代、老生代、永生代的堆内存大小配置等


6、应用运行的端口号


7、应用日志的输出规范


我们梳理完上述信息后就会发现,这些信息跟 CMDB 里面的资源信息是完全两个维度的东西,所以从信息管理维度上讲,资源配置和应用配置分开会更清晰,解耦之后也更容易管理。


好了,按照上面 CMDB 说的套路,梳理完成后,就是要进行信息的建模和数据的固化,这时就有了我们的——应用配置管理。再往后,就是基于应用配置管理的流程规范和工具平台的建设,这就涉及到我们经常说的持续集成 &发布 &交付,监控、稳定性平台、成本管理等等。


从应用的视角,我们配置管理,应该是下面这样一个视图(简单示例,不是完整的):


三、CMDB 和应用配置管理的关系

有了资源配置信息和应用配置信息,这两个信息应该怎么统一管理起来呢。直接上图:



至此,CMDB 和应用配置管理的分层分解就完成了,应用名关联着应用配置信息,IP 关联着资源信息,二者通过应用名-IP 的对应关系,联系到一起。


CMDB 是运维的基石,但是要发挥更大的价值,光有基础是不够的,我们要把更多的精力放到上层的应用和价值服务上,所以我才会讲应用才是运维的核心。我们可以看到,如果仅仅基于 CMDB 的资源信息作自动化,最多只能做出自动化的硬件资源采集、自动化装机、网络-硬件拓扑关系生成等资源层面的工具,这些工具只会在运维层面产生价值,离业务还很远,就更谈不上能给业务带来什么价值了。但是基于应用这一层去做,就可以做很多事情,比如持续集成和发布、持续交付、弹性扩缩容、稳定性平台、成本控制等等,这些事情,带来的价值就会大大不同,这些后续会一个个介绍出来。


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


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


2020-03-18 20:062237

评论

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

淘宝商品详情API:从ID到详细信息的全面获取

技术冰糖葫芦

API Explorer api 货币化 API 接口 API 测试

Go 语言中的 MySQL 事务操作

左诗右码

Go 语言

【原创】【深入浅出系列】之代码可读性

京东科技开发者

java浅拷贝BeanUtils.copyProperties引发的RPC异常

京东科技开发者

MES系统怎么解决企业车间生产管理难题

万界星空科技

工业互联网 制造业 生产管理系统 mes 万界星空科技

终身受益的AI自动化创收计划

测试人

一文带你深度解析MySQL 8.0事务提交原理

华为云开发者联盟

数据库 企业号 8 月 PK 榜 企业号2024年8月PK榜

Python数据分析:Numpy、Pandas高级

我再BUG界嘎嘎乱杀

Python 编程 数据分析 后端 开发语言

工业边缘网关软件 NeuronEX 中基于角色的访问控制功能

EMQ映云科技

大数据 边缘计算 访问控制 工业边缘网关

玩转生产环境全链路压测

数新网络官方账号

生产环境全链路压测

chatglm2-6b在P40上做LORA微调

京东科技开发者

借你慧眼,把 StarRocks Compaction 看得明明白白

Ding_Kai

数据仓库 LakeHouse StarRocks

“AI能不能代替某某职业”,到底谁在破防?

禅道项目管理

人工智能 程序员 AI IT 项目经理

淘宝商品描述API返回值中的HTML格式内容解析技巧

技术冰糖葫芦

API Explorer api 货币化 API 接口 API 测试

NFTScan 正式上线 AI Search 浏览器!

NFT Research

NFT

SD-WAN助力在线教育教学的发展

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

Prometheus 标签全揭秘:从数据源到仪表盘

腾讯云可观测平台

Python数据分析:Numpy、Pandas基础

我再BUG界嘎嘎乱杀

Python 编程 数据分析 后端 软件开发

直播预约丨《指标体系建设实战》第五期:指标体系构建方法与案例分享

袋鼠云数栈

大数据 数据指标

chatglm2-6b在P40上做LORA微调

京东科技开发者

两分钟“熟读”《国史大纲》,大模型的下一个爆点是“书童”?

Alter

「免费领票」从云计算到生成式AI,2024云栖大会等你来。

阿里云CloudImagine

云计算 音视频 视频云 云栖大会 生成式AI

EMQX Platform & Snowflake:构建可再生分布式能源的智慧未来

EMQ映云科技

分布式 emqx 可再生能源

inBuilder低代码平台新特性推荐-第二十三期

inBuilder低代码平台

做了六年多技术管理,聊一些经验总结

Keegan小钢

技术管理 职场发展 #程序员

一文教会你如何集成百川大模型官网API

幂简集成

人工智能 API

Spring Cloud Alibaba 集成分布式定时任务调度功能

阿里巴巴云原生

阿里云 云原生 spring cloud alibaba

有了CMDB,为什么还要应用配置管理_编程语言_成哥的世界_InfoQ精选文章