导语
运维需要思维的突破,从 Ops 走向 DevOps,从项目走向产品,从资源走向应用~
很多问题一直在困扰、在思考,为什么 CMDB 大部分项目都是失败的?为什么讨论的更多的是运维自动化而不是IT自动化?为什么线上问题永远是运维人的黑锅?带着这些问题我们来一探究竟。
一、面向应用的运维管理新思维
今天要和大家阐述一个新的思路——建立面向应用的运维管理新思维,带着这个思路去寻找运维新的解决方案,因此把面向应用管理抽象总结如下:
在 ITIL 时代,大家都知道一个概念,CMDB 是 IT 服务系统的元数据中心,而现在应用更应该是 CMDB 的元数据。把运维的能力建立在面向应用的维度上,把面向应用的IT能力分成三部分:
1. CMDB 即 IT 资源管理系统
支撑一个应用运行到底占用了哪些资源?应用占用的服务器是一种资源、占用的内存是一种资源、占用的存储是一种资源、占用的负载均衡是一种资源。
但大家一定要注意,这个资源更多是以一种后端服务形式出现的,比如说IaaS 服务或者是 PaaS 服务。
2. 动作
应用的变更有很多种场景,按照角色来归类,比如说应用交付、应用升级等场景,这些场景是面向 Dev/Test/Ops 的。
还有一种应用在日常维护过程中的变更,面向纯 Ops 场景的,比如说应用的迁移、应用的扩容。动作是作用于资源的,比如说应用升级是版本发生变化,应用扩容是让应用的资源新增等等。
过去的传统式运维,总是聚焦在碎片式的运维自动化能力理解上。
3. 状态
为了实现对应用的健康状况或者质量的度量,我们需要采集各类状态数据,从而支撑各类场景的应用,比如说监控故障发现的需求,故障恢复的需要,应用服务优化的需要等等。
二、CMDB 的建设新思路
1. CMDB 建设失败的原因分析
CMDB 建设的不成功,部分是系统的原因,但更多是方法论的问题。我们总以为找到了很强的驱动力来建设资源维护的流程和场景,其实这些都是自己的设想。
数据中心的基础设施部门统揽 CMDB 的一切配置建设和管理,资源部门根本不关心且没法关心资源所关联的上层应用是什么。
2. CMDB 的建设需分层进行
因此我主张把 CMDB 建设分层进行,业务层和资源层 CMDB 可以分开建设,但一定以应用的 CMDB 建设为主,倒推资源层的 CMDB 建设完善。
以应用为中心的 IT 资源生命周期管理建立起来之后,资源的广度不断拓宽自动化的深度。
但一定要注意 CMDB 的信息分成两类,一类是实例信息,一类是连接信息,也称为拓扑信息。拓扑信息需要结合我们平时的工作思路来建设和维护,比如说架构视图、应用架构文档,是研发转交运维的过程中,必须要提供的输入。
相关知识点:
部署视图,是指这个应用上线部署在哪些机房,哪些 node。
基础架构拓扑,是物理 overlay,这个地方表达的是基础设施层面的关系。
业务流视图,分成应用服务和端到端服务构建的能力视图,类似访问流拓扑。
3. CMDB 建设需考虑如何支撑应用的动作
从应用的角度,资源的信息都能够很好的维护起来。此时就考虑如何支撑应用的动作了。这个场景起来之后,真正能解决 CMDB 数据维护动力和价值问题。面向应用的视角,提供完整的应用自动化和运维自动化能力。
三、构建面向用户的端到端自动化能力
应用自动化打通 Dev/Test/Staging/Prod 等环境,构建面向用户的端到端自动化能力。典型的场景就是交付流水线,示意图如下:
可以把一个端到端的交付流水线,分成了四个标准化过程,纵向就分解了阶段、环境、动作和角色等概念。
1. 阶段
是对交付阶段的逻辑划分,对于一个企业的某个产品来说,建设的标准是单一交付流水线,而不是多交付流水线,单一交付流水线才能保证整个交付过程的一致性。一般分成研发、测试、预发布和生产运维阶段。
2. 环境
环境是以上四个阶段的进一步细分,在每一个阶段会存在多环境的问题,比如说测试阶段,有 UAT 环境、SIT 环境;在生产阶段,有正式生产集群、有容灾备份集群等等。
3. 动作
交付的能力是动作来实现的,这个动作是一连串的能力编排。这个动作可以分解成部署动作和附加动作。
部署动作,是完成一个环境部署的标准化过程,比如说初始化环境、安装程序包等等;
附加动作,是针对特定环境要完成的一些动作,比如说针对用户接受性测试,可能会运行自动化测试等等。
部署动作要确保在各个环境之间的一致性,这是部署脚本的基本能力,避免动作行为异化导致结果不同。
在动作层,还可以面向封装大量的自动化流程、工具能力等,这些能力都是满足一切应用场景的个性化。
4. 角色
谁来执行这些动作,不同的环境可以面向不同的角色,这是权限的控制。
通常分成开发、测试和运维角色,但真正到企业内,角色的划分会细致的多;
其次这个角色也是随着管理模式变化而变化的,测试人员可能来做生产环境的部署。
这个自动化能力就不是运维自动化,而是IT自动化。IT自动化的平台可以由运维来建设,确保可扩展、插件化的能力。
扩展的能力,是能力可以延伸到不同角色的需要;
插件化,是可以集成不同角色过去的工具能力,从而实现一个面向 DevOps 的应用交付平台。
再回到运维自动化,在面向应用的自动化场景上,依然可以通过服务编排的模式来实现。但是回到其他运维资源上,就逐渐失去和应用的关联,从管理方便性的角度来说,更是如此了。
举个例子,比如说数据库的维护,大家肯定都是喜欢对数据库的实例进行维护和变更,而不是再加一个应用的维度。在面向 Iaas 和 PaaS 能力的自动化上,可以面向资源进行动作服务编排,从而实现运维的自动化。
四、告警建设的新思路
状态其实是面向应用的一种度量手段,度量越贴近应用,越贴近服务,度量的有效性就越强。监控手段是度量的一种,大家很多时候把监控的告警能力、发现问题作为核心手段。
但从这个维度出发,告警泛滥成为必然,大家不断的去看提升告警的准确性,做告警收敛和告警关联。
我们的做法是告警可视化分层面板,在时间这个维度上,把告警统一展示,面向应用层的告警权重增大,底层的告警权重变小,衡量应用的健康状况。
其次在统一的看板上,人的思维会发生变化,底层的告警能力会不断形成决策参考数据,而非当成直接的问题,甚至可以告警一致。这都是因为以应用为中心,数据有了关联所致。
总结
面向应用的运维管理新思维,是切实有效的,给过去的很多未解问题提供了解决方案,这也是我过去不断强调要“建立以应用运维 + 运维研发为核心的组织体系”的原因。应用是贴近业务的,因此应用是驱动力最强的。
相关推荐
CMDB构建与应用 1、CMDB是什么 2、CMDB的构建 3、CMDB的应用 4、CMDB建设经验与案例分享
【CMDB平台建设的核心知识点】 1. **CMDB的价值定位** - CMDB(Configuration Management Database)的本质是一个保管IT数据资产的主数据库,而非仅为ITIL服务。它提供趋势分析、影响分析和根源诊断等功能,是IT...
CMDB 建设思路的重构以应用服务为中心来构建模型,不断细分和往外扩展应用的管理边界。 CMDB 平台如何落地 ------------------ CMDB 平台的落地需要考虑到对象识别、对象属性、对象关系、生命周期的梳理、场景自动...
- **构建应用场景**:通过实际的应用案例来验证CMDB的有效性和实用性。 - **定义和考虑公司治理需求**:确保CMDB的实施符合公司的治理框架和政策要求。 - **定义服务目录的需求**:明确哪些服务需要被纳入CMDB进行...
CMDB的构建与应用涉及到多个方面,包括理解CMDB的定义、构建过程、应用策略以及其在IT运维服务中的价值。 首先,CMDB是一个存储配置项(CI)及其相互关系的数据库,这些CI可以是硬件、软件、网络设备、文档、人员等...
### 以应用为中心的智能化运维基石—CMDB #### 一、新IT管理需要强大的CMDB 在现代IT管理中,随着技术的发展和业务需求的变化,传统的IT服务管理(ITSM)模式面临着新的挑战。CMDB(Configuration Management ...
总结来说,该文提出的CMDB中心化运维平台的建设,就是通过以上这些知识点,实现对大规模服务器的高效管理和运维,提高运维工作的整体效率和可靠性,解决传统运维中面临的人工操作繁复、信息孤岛、沟通不畅等弊端,...
CMDB的建设不仅需要技术知识,还需要对业务流程有深入理解,以确保配置信息与实际业务环境相吻合。 文件"cmdb-master.zip"很可能包含了CMDB项目的主要源代码、文档、配置文件等资源。其中,"master"通常代表这是...
3. CMDB管理系统的应用场景:CMDB管理系统广泛应用于IT资产管理、IT服务管理、问题管理、变更管理和配置管理等领域。 4. CMDB管理系统的实现技术:CMDB管理系统通常使用关系数据库管理系统(RDBMS)来存储配置信息,...
在了解运维平台中的CMDB(配置管理数据库)系统建设时,我们需要从几个方面来深入理解其关键知识点。首先,CMDB作为运维基础核心系统,对ITIL服务管理框架中的其他流程起到了支撑作用,提供了必要的配置信息。下面将...
大型企业CMDB平台建设方案 本文试图从各类复杂的解决方案背后寻找决定性的深层逻辑,将围绕 CMDB 价值定位和数据治理两个核心问题,揭示主数据库这个全局动力与无序熵增这个内在阻力间的矛盾,分析数据治理的政治...
- 在早期,CMDB常与ITIL的实施一同引入,但在中国,由于ITIL的落地主要集中在变更管理和事件管理等流程,CMDB的应用并不广泛。随着IT运维体系的复杂化,CMDB的重要性逐渐凸显,成为运维自动化、DevOps和AIOPS等不可...
CMDB建设思路的重构强调以应用服务为中心,不断细化管理边界。例如,对于主机对象,需要定义如hostname、IP、品牌和SN序列号等属性,以及负责人、所在机柜、机房和所属应用等关系。对于应用对象,除了基本属性如应用...
CMDB 模型设计知识点 一、CMDB 模型设计的重要性 CMDB 模型设计是 ITSM 系统架构的基础,一个稳健的 CMDB 模型可以约束整个 ITSM 系统的骨架或灵魂。CMDB 模型设计的重要性在于它可以形成一个完整的 ITSM 系统架构...
定期评估CMDB的性能和准确性,根据反馈进行调整,以满足业务需求的变化。 8. **培训与意识**:所有与CMDB相关的人员都需要充分理解其作用和操作方式,这包括IT员工、管理层和业务用户。培训和提升意识对于CMDB的...
CMDB的建设过程是一个以业务服务为目标的系统工程,包括确定业务服务目标、系统与数据分析、CMDB模型设计、CI数据关联性定义、CMDB维护设计和应用设计等步骤。在这个过程中,需要识别和分类CI,定义其属性和数据关系...
蓝鲸配置平台是一款面向应用的 CMDB,在 ITIL 体系里,CMDB 是构建其它流程的基石,而在蓝鲸 智云体系里,配置平台就扮演着基石的角色,为应用提供了各种运维场景的配置数据服务。它是企 业 IT 管理体系的核心,通过...
《找钢网CMDB建设之路》是一篇关于互联网企业中CMDB(Configuration Management Database)建设实践的文章。CMDB是IT基础设施的重要组成部分,用于管理和维护企业的配置项信息,以支持运维工作的高效进行。找钢网在...
### 银行企业CMDB系统的建设与运维 #### 一、银行业CMDB系统的建设背景与必要性 在数字化转型的背景下,银行业面临着前所未有的挑战和机遇。为了更好地应对这些变化,许多银行企业开始重视CMDB(Configuration ...
1. **配置项管理(CMDB)**:配置管理数据库(CMDB)是bk-cmdb的核心功能,它存储了企业IT环境中所有资源的配置信息,如服务器硬件、操作系统、应用软件、网络设备等。通过CMDB,运维人员可以实时查看、管理和更新...