写点什么

有了 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:062073

评论

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

使用云手机运营TikTok,实现更多可能性

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版

AI for Good | AI+环保,点亮可持续的智能未来

澳鹏Appen

人工智能 AI向善 环境保护

上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?

阿里巴巴云原生

阿里云 微服务 云原生

手把手系列!无需 OpenAI 即可搭建 RAG 应用

Zilliz

Milvus openai AIGC LLM rag

上市难不上市更难,谁能佐证中国企服的光明前途?

ToB行业头条

一个响指,代码生成!华为云CodeArts Snap正式公测

华为云PaaS服务小智

人工智能 华为云

一文深度解读多模态大模型视频检索技术的实现与使用

阿里云CloudImagine

云计算 大模型 视频云

传统外贸和代购独立站的区别

tbapi

传统外贸 外贸独立站

小红书如何做混部?

阿里巴巴云原生

阿里云 云原生 Koordinator

2023 IoTDB Summit:昆仑智汇数据科技(北京)有限公司董事长陆薇《IoTDB在先进制造领域数据资源管理运营的应用》

Apache IoTDB

为什么跨境电商成为海外云手机的主要受众群体?

Ogcloud

云手机 海外云手机 跨境电商云手机 云手机海外版

Higress 开源一周年:新版本,新标准,新工具,新征程

阿里巴巴云原生

阿里云 开源 云原生 Higress

探索 Vue 3.0 下的低代码创新

不在线第一只蜗牛

低代码 开发 Vue3 API

软件测试学习笔记丨Linux数据处理

测试人

软件测试

选择海外云手机需要考虑什么?

Ogcloud

云手机 海外云手机 云手机海外版

DAPP合约代币质押流动性挖矿系统开发丨源码丨技术设计

l8l259l3365

【完整版教程】iOS混淆加固原理篇

据说这道Go面试题90%的人都搞错了!

王中阳Go

面试题 面经 defer Go 语言 断点

物流快递电子面单对接规则指南

快递鸟

电子面单

减少文件体积优化性能,你的姿势对了吗?

Yestodorrow

云原生 前端开发 可观测性 用户体验 网站性能

区块链开发项目:构建去中心化未来的蓝图

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

17 位社区大咖寄语,Seata 进入 Apache 孵化器

阿里巴巴云原生

Apache 阿里云 云原生 seata

一文详解全栈可观测的实现路径

阿里巴巴云原生

阿里云 云原生 可观测

从 Greenplum 到 Databend,万全网络数据库平台架构演进

Databend

数据库迁移

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