CMDB经验分享之 – 剖析CMDB的设计过程

作为IT管理的核心,CMDB逐渐成为系统管理项目实施的热点。在很多的案例中,由于忽视了CMDB的因素,ITIL的深入应用受到了极大的挑战。同时,由于CMDB是IT管理信息的集中,CMDB也是一个重要的工具和手段。
在CMDB落地过程中需要注意的是,CMDB项目不是一个简单的软件安装过程,而是一个咨询、培训、实施、优化密切结合的综合过程,涉及到平台工具采购、咨询服务、实施服务、培训、甚至扩展开发等内容。同时,一个成功的CMDB项目不能一蹴而就,而是一个循序渐进、持续发展的过程,需要企业后续的投入和不断改进服务。
广通软件在2004年就开始ITIL落地的尝试,并独立自主持续研发积累,形成CMDB为核心的运维解决方案,这两年为海关总署、中国航信、铁路总公司、浙商银行、黑龙江农信等政企用户,提供了专业的CMDB咨询设计及落地实施服务,在整个过程中,笔者深深的体会到,CMDB项目的成功,重中之重在于CMDB模型的顶层设计,下面针对CMDB的设计过程进行深入剖析。
·了解企业政策
企业政策,是企业管理的行动指南和共同纲领,它使企业在认识上形成统一,减少了不必要的沟通成本,并使企业在流程执行上事半功倍。对于构建CMDB而言,主要有以下两类政策需要重点关注:
·宏观政策:主要是涉及IT部门层面指导性、方向性的政策,其目标是在IT部门自上而下形成统一认识,从而有利于项目的成功。
·运营政策:主要涉及到流程目标、人员、输入、输出、活动以及KPI(关键绩效指标)等各要素以及流程之间相互协调、信息交互方面的指导原则,其目标是使流程能够在政策的指引下稳健、有效地执行。
·确定配置项管理范围
·确定CI宽度和深度,建议遵循如下原则:
·企业IT服务的需要(为什么要实施CMDB)
·相关法案和法规对IT管理的需求
·IT库存和资产管理的需求
·服务目录的需求
·企业IT服务管理的水平(依据目前的管理水平能做到什么程度)
·有没有制定与配置项相关的管理规范和制度
·有多少人可以参与管理和维护
·有没有一套可落地的变更流程来对CI项必要的维护
·企业CMDB运营管理成本(后期能够投入多大的人力成本去维护和管理)
·为保障CI项的准确性和表单数据的鲜活性,配置项维护的人力成本
·部门间的内部沟通成本
·确定CI生命周期
ITIL规范认为,CI的生命周期是从CI的接收到最终报废退出的全过程,但在具体实施过程中,由于流程管理主体的差异化,不同项目对CI生命周期的划分和定义会有所不同,主要针对如下两个问题的确定。
·何时生?(识别CI并记录到CMDB)
·何时灭?(对CI记录进行删除)
·构建符合用户的CI模型分类
定义配置项属性(一个原则+一套结构)
·一个原则:“精而不多”。如果我们将大量的配置项或属性纳入到CMDB中,那么将存在大量信息需要进行维护,这无疑增加了成本。反之,如果属性过少,维护工作虽然减轻了,但是CMDB的有效性就大大降低了。因此,“精而不多”就是我们的平衡点,这个‘精’主要体现在对企业有实际意义。
·一套结构:我们通常可以把一个CI的属性分为五大来源
模型分类设计样例:
确定CI项的属性

针对模型中的每个CI的属性项进行调研,根据用户实际需求进行调整、扩充或修改,包括:属性项采用什么类型比较合理(易于展现和维护),需要用户提供哪些资料,例如:字典、默认值等信息。此过程同样遵循“精而不多”的原则。
属性设计样例:
定义CI项之间的关系

所有配置项都有存在的意义,而他们之间的内在关系是CMDB的重要价值体现之一,关系明确了,运维人员就能准确的找到相关实体资源,当发生故障时能够快速定位故障来源及其影响范围,从而迅速的解决各种隐患。
定义配置项关系,一般可使用两种方法:
·自上而下——通常要求企业先明确对外提供的服务目录,然后基于服务目录按照“业务服务→IT服务→IT系统→IT组件”的顺序进行梳理
·自下而上——则是逆流而上,先从对内部IT组件关系开始梳理,然后逐步将IT组件映射到IT服务
CMDB配置项关系设计样例(以某个业务系统为例):

设计图中,完整的展现了一个业务系统所有与之相关的配置项,分析如下:
·逻辑关系——可以了解到,业务系统使用什么中间件、数据库用户、实例以及表空间,运行在哪个操作系统上,使用了什么IP地址等
·物理关系——可以了解到,业务系统安装在哪台PC服务器上,PC服务器是通过哪台交换机的什么端口连接网络的,同时PC服务器与存储如何连接的,PC服务器存放在哪个机柜和机房,以及PC服务器是通过哪个断路器和UPS供电的等
以上信息对于运维人员来说,能够更加清晰的掌握业务系统正常运转的支撑点和来龙去脉,从而做到掌控全局。
结束语:
CMDB的设计过程是一个复杂且与用户交互性非常强的过程,在此过程中需要充分让用户理解CMDB的概念以及相关原则,需要我们将后期维护CMDB可能带来的风险和成本跟用户做好充分的沟通,让用户去逐一去斟酌、考虑和规划,从而避免CMDB项目的失败,同时可以帮助用户优化和完善CMDB管理制度,定义人员角色,并结合变更流程来保持配置的准确性和鲜活性,真正帮助用户持续做好CMDB的维护,发挥CMDB应有的价值。
作者简介:本文作者谢亚涛,任职优云软件:秉承devops的理念,从监控、到应用体验,到自动化持续交付,全栈运维解决方案服务商。
CMDB经验分享之 – 剖析CMDB的设计过程的更多相关文章
- 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享
CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起 这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...
- 领域驱动设计(DDD)的实践经验分享之ORM的思考
原文:领域驱动设计(DDD)的实践经验分享之ORM的思考 最近一直对DDD(Domain Driven Design)很感兴趣,于是去网上找了一些文章来看看,发现它确实是个好东西.于是我去买了两本关于 ...
- 领域驱动设计(DDD)的实践经验分享之持久化透明
原文:领域驱动设计(DDD)的实践经验分享之持久化透明 前一篇文章中,我谈到了领域驱动设计中,关于ORM工具该如何使用的问题.谈了很多我心里的想法,大家也对我的观点做了一些回复,或多或少让我深深感觉到 ...
- SOA架构设计经验分享—架构、职责、数据一致性
阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...
- [转]SOA架构设计经验分享—架构、职责、数据一致性
阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...
- 【转】SOA架构设计经验分享—架构、职责、数据一致性
1.背景介绍 最近一段时间都在做系统分析和设计工作,面对的业务是典型的重量级企业应用方向.突然发现很多以往觉得很简单的问题变得没有想象的那么容易,最大的问题就 是职责如何分配.论系统架 ...
- (转)CMOS Sensor的调试经验分享
CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...
- 关于启用 HTTPS 的一些经验分享(二)
转载: 关于启用 HTTPS 的一些经验分享(二) 几天前,一位朋友问我:都说推荐用 Qualys SSL Labs 这个工具测试 SSL 安全性,为什么有些安全实力很强的大厂家评分也很低?我认为这个 ...
- Expression Blend4经验分享:自适应布局浅析
今天分享一下Blend制作自适应分辨率布局的经验,大家先看下效果图: 这是一个标准的三分天下的布局,两侧的红色区域是背景区域,是用来干吗的呢,下面简单的分析一下,大家就明白了. 1.拿到一个项目,进行 ...
随机推荐
- perl 函数的参数列表
在perl中,定义一个函数的时候,不需要在圆括号内指定具体的参数,所有的参数都从@_ 这个列表中得到 代码示例: sub test { my ($a, $b) = @_; print qq{$a\t$ ...
- 微信支付(公众号支付APIJS、app支付)服务端统一下单接口java版
一.微信公众号支付APIJS: 要完整的实现微信支付功能,需要前后端一起实现,还需要微信商户平台的配置.这里只是涉及服务端的代码. jar包:pom.xml <!-- ↓↓↓↓↓↓↓↓ 支付相关 ...
- AOP技术应用和研究--AOP简单应用
为了更好的理解AOP实践和体现AOP的优势.我们始终将OOP和AOP的比較贯穿到下文中.并在终于总结出AOP与OOP相比所拥有的长处,AOP的缺点以及AOP一般的使用场景. 1.1 问题空间到解空间的 ...
- js openwindow
进入许多网站时,有弹出式小窗口,它们五花八门,使我们捉摸不透下面就来介绍用JS制作9种制作弹出小窗口: 1.最基本的弹出窗口代码 其实代码非常简单: < SCRI ...
- WinSock1.1和WinSock2.0
网络编程很重要,说到网络编程就不得不提Socket编程. Windows提供了Windows Socket API(简称WSA),WinSock,目前有两个版本:WinSock1.1 and WinS ...
- mysql中,如何查看数据库中当前可用的校勘?字符集默认的collation?
需求描述: mysql的字符集在使用的过程中会有一些规则,这些规则就组成了校勘, 也就是通过什么规则做什么事,比如,如何比较两个字符的大小,后台都是有一些 规则,这些规则就是校勘的一部分. 那么,查看 ...
- 而桌面app向来是web前端开发开发人员下意识的避开方
web前端语言的发展有目共睹, 从原来的pc web, 到后来的mobile SAP, 再到 nodejs,全站工程师应运而生. js快速而且稳健的发展让人不得不重视, 相应的前端开发人员的地位也越来 ...
- [jquery] jQuery 选择器>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 端口占用处理(Windows)
1. netstat -ano 看看 443端口被占用没 ,一般是本地地址加上端口号,那个端口号就是你要找的,同时最后一列是PID,即进程号. (常用的软件有虚拟机.VisualSVNServer)2 ...
- Zookeeper(一)-- 简介以及单机部署和集群部署
一.分布式系统 由多个计算机组成解决同一个问题的系统,提高业务的并发,解决高并发问题. 二.分布式环境下常见问题 1.节点失效 2.配置信息的创建及更新 3.分布式锁 三.Zookeeper 1.定义 ...