每个IT部门都有许多关于IT基础设施方面的信息,特别是在实施了一些较大的项目之后可以产生大量这样的信息。然而,这里的技巧就在于如何保持对这些信息的及时更新。配置管理流程的目标就是要提供有关IT基础设施的可靠和最新的信息。值得一提的是,这些信息不仅包括基础设施中某个特定项目的详细资料,还包括这些配置项与其他配置项之间的相互关系方面的信息。这些关系构成了影响度评估的基础。
配置管理流程负责核实IT基础设施中实施的变更,以及配置项之间的关系是否已被正确地记录下来了;监控IT组件的运行状态,以确保配置管理数据库能够准确地反映现存配置项的实际版本状况。
如果配置管理流程得到了有效的实施,则它可以提供以下几方面的信息:
● 产品政策
我们正在使用的是哪些IT组件?每一个模块(版本)中有多少这样的组件?这些组件我们使用了多长时间?
不同产品线中各存在怎样的趋势?
哪些IT组件可以停止使用、哪些需要进行升级?
我们拥有哪些许可证(licenses)以及这些许可证是否够用?
哪些维护合同需要进行审查?
我们的IT基础设施的标准化程度如何?
● 故障检修信息和影响度评估
灾难恢复程序需要哪些IT组件?
如果配置修改了,灾难恢复计划是否仍然有效?
受试运行(rollout)影响的IT组件有哪些?
设备连接到了哪个网络?
包括在每个套件中的软件模块有哪些?
受某项变更影响的IT组件有哪些?
哪些针对特定IT组件的变更请求正在评估中?
已经发生了哪些事件和问题?这些事件和问题中与当前相关的有哪些?
哪些IT组件导致了已知错误?
● 服务提供和计费
对某个服务项目而言,哪些IT组件配置是至关重要的?
哪些IT组件正在被使用以及谁在使用它们?
哪些是用户可以订购并得到支持的标准IT组件?
基本概念
配置项(CI's):在配置管理流程中,IT组件以及运用这些IT组件所提供的服务被称为配置项(CI's,Configuration Items)。如图1所示,配置项可以包括由IT部门控制的所有PC硬件、软件、有源和无源网络、服务器、中央处理器、文件、规程、服务以及由IT部门所控制的所有其他IT组件。
如果配置管理可以应用于信息系统而不单是信息技术本身,那么配置管理数据库(CMDB,Configuration Management Database)同样也可以用于存储和控制有关IT用户、IT人员和业务单元方面的信息。这些配置项也同样需要进行配置管理,例如在人员进入和退出流程时就需要进行配置管理。
配置管理数据库(CMDB):所有配置项的信息都包括在配置管理数据库中。配置管理数据库对所有IT组件、组件的不同版本和状态以及组件之间的相互关系进行跟踪。在其最基本的形式下,配置管理数据库可能仅由一些纸质表格或一套电子表格(Spreadsheets)组成。
开发部门也经常利用配置管理数据库对所有的程序模块进行版本控制。配置管理数据库可能是几个物理数据库组成的,这些物理数据库形成了一个逻辑实体。因而对这些数据库之间的整合状况进行优化是一种明智的做法。
在此我们需要注意的是,配置管理不应该与资产管理(Asset Management)混同起来。
资产管理是对购买价格超过一定限额的资产进行监控的一套会计核算流程,它记录了购买价格、折旧、所属业务单元和所处位置等信息。一套有效的资产管理系统应该可以为建立配置管理系统提供基础。
配置管理超越了资产管理,它保留了有关配置项的技术信息、配置项相互关系的详细信息以及配置项的标准化和授权状况等方面的信息。配置管理还监控对当前信息的反馈,如IT组件的状态、位置以及对其实施了的变更。
目标与效益
配置管理致力于通过维护IT基础设施和IT服务的逻辑模式来协助管理IT服务的经济价值(客户需求、质量和成本的结合),并将与此相关的信息提供给其他业务流程。它通过识别、监测、控制和提供有关配置项及其版本方面的信息来实现其目标。
配置管理的目标具体包括:维护与IT组件以及运用这些组件提供的IT服务有关的记录并确保这些记录的可靠性;提供准确的信息和文档以支持其他服务管理流程。
配置管理通过下列途径来帮助提供成本合理的高质量的IT服务:
● 管理IT组件——IT组件对于IT服务的提供来说是至关重要的。每项IT服务都包括了一个或多个配置项,而配置管理需要负责检查这些配置项的状况。
● 提供高质量的IT服务——配置管理协助处理变更、识别和解决问题以及为用户提供支持。这减少了错误发生的次数,因而同时减少了对错误的处理次数,降低了成本。
● 有效地解决问题——配置管理可以帮助确定受影响的配置项的位置,并负责对配置项的修改和替换进行管理。配置管理还为问题管理提供有关配置项状态趋势方面的信息。
● 更快速地处理变更——配置管理帮助进行快速而准确的影响度分析,从而可以更快速而有效地处理变更。
● 对软件和硬件实现更好的控制——软件包既可单独组合进行试运行(rollout),也可能是与硬件一起进行试运行(Rollout),这样就可以提前对整个发布组合进行测试。配置管理数据库和配置基线(baselines,基础设施快照、记录的状态)可用来为特定的用户群体制定测试和发布计划。配置管理数据库中还包括在执行回滚计划(back-outs)时所需要的可靠的软件版本信息。
● 提高安全性——通过对所使用的版本进行管理,提供有关对配置项的授权变更以及不同软件版本的使用情况方面的信息。来自配置管理数据库的信息同样可以协助对许可证进行监控。
● 遵守法律法规——将审计结果与配置管理数据库进行对比就可以发现非法拷贝。这样做同时可以获得额外的收益,因为非法软件中可能含有病毒,配置管理,通过防止非法拷贝可以有效地防止病毒被引入公司。虽然对于很多公司来说,由员工引入非法的或受到病毒感染的软件的情况在所难免,但是公司可以通过配置管理、配置管理数据库和审计来发现这样的行为,并采取相应的惩戒措施。员工清楚这样一个事实将有助于抑制自己使用非法软件的意愿。相反,使用非法软件但不被发现这一状况将会助长员工非法使用软件的意向。
● 更精确的支出计划——配置管理数据库可以提供有关维护成本和维护合同、许可证和许可证有效日期等方面的信息。
● 更好地支持可用性管理和能力管理流程——这两个流程都依赖于正确的配置信息来进行服务分析和规划。
● 为IT服务持续性管理提供了一个坚实的基础——如果将配置管理数据库备份至一个安全的地方,则该备份在灾难发生后的服务恢复过程中可以发挥重要作用。
配置管理活动
下面对配置管理流程进行了一个概要性介绍。前面两项活动,即规划和识别,主要涉及配置管理流程的建立,而其他活动则涉及流程的运作。
● 规划——确定该流程的战略、政策和目标,分析现有的信息,确定所需的工具和资源,创建与其他流程、项目和供应商的接口,等等。
● 识别——建立流程来维护对数据库的更新。该流程的活动包括开发数据模型来记录所有的IT基础设施组件及其相互关系、所有人或负责人、状态以及可用的文档等 方面的信息。该流程还要开发一套用于增加新的配置项和对现有配置项进行变更的程序。由于对信息的需求是在不断变化的,对配置数据的识别也应随之进行不断的 调整。
● 控制——通过只认可、记录和监控那些经过授权和确认的配置项来确保配置管理数据库的及时更新。控制流程还需要确保对配置项的增加、变更、替换或移除只有在获得必要文档的前提下才能进行。这里的文档包括如被批准的、附有最新规程的变更请求(RFC)。
● 状态记录——存储有关配置项在其生命周期内所处状态的当前和历史信息。状态监控可用来识别变更所处的状态,如“开发中”、“测试中”、“库存中”、“使用中”以及“停止使用”。
● 核实——通过对IT基础设施进行审计来检验配置管理数据库,以确认已记录配置项的存在性和验证记录的准确性。
● 报告——为其他流程提供信息,并就配置项的使用情况报告其趋势和发展。
与其他流程的关系
配置管理流程高度依赖于变更管理和发布管理流程,并与这两个流程紧密集成。它也为多个其他流程提供支持,如图2所示。
事件管理:事件管理需要关于整个基础设施的信息。在记录事件时,事件管理需要获取关于配置项的信息,如确定配置项的位置及其所有人,确定是否存在与该配置 项相关的具备应急措施的问题或知名错误/已知错误(known error),并且这些配置项对应的客户和服务,以及相关的服务级别协议受到了影响。
问题管理:问题管理需要关于基础设施复杂程度的信息。根据这些信息,问题管理可以将问题和已知错误与配置项对应起来,并且可以根据配置管理数据库中的信息 来分析事件和问题。问题管理还可以通过将基础设施的实际配置信息与配置管理数据库中经过批准的配置信息进行核实,来找出配置信息的不一致之处和基础设施存 在的缺陷。
变更管理:变更管理流程利用配置管理数据库来确定将要实施的变更的影响度。变更管理负责批准变更以及与相应的配置项有关的变更,它也负责记录变更请求。这样,变更管理可以为更新配置管理数据库提供大量的信息。变更管理对于成功实施配置管理具有至关重要的作用。
发布管理:发布管理可以提供配置项的版本和状态等发布计划方面的信息,包括重大发布和小型发布;同时发布管理可以提供与已实施变更有关的信息。在实施变更之前,需要了解有关配置项的信息,如状态、位置和最终软件库(DSL)中与其相关的源代码。
服务级别管理:服务级别管理(SLM,Service Level Management)需要有关服务、服务项目之间的关系以及支持这些服务的基础设施类配置项方面的信息。
服务级别管理数据也可以存储在配置管理数据库中,并与相应的配置项进行关联。服务级别(金、银、铜)也可以针对服务配置项、硬件组件或软件配置项进行记录。
财务管理:财务管理需要有关服务和配置项使用情况方面的信息,如哪个部门使用了数据处理服务、谁拥有一台PC机等。它结合这些信息和来自服务级别协议的信息来确定服务应该收取的费用。财务管理流程还对IT组件及对其的投资(资产管理)进行监控。
可用性管理:可用性管理使用配置管理数据库来识别配置项,从而可以改进服务和便于进行组件故障影响度分析(CFIA)。它还拟定变更计划来消除已经发现的 存在于基础设施中的薄弱环节。因为由基础设施组件有序组合成的一项服务的可用性最多不会超过该组合中可用性最低的组件的可用性。而配置管理可以提供有关这 个组合的构成以及这个组合的每个元素的信息。
IT服务持续性管理:IT服务持续性管理流程利用来自配置管理数据库配置基线中的标准配置来确定灾难恢复需求,和检查这些配置在灾难恢复现场是否可以获得。
能力管理:能力管理流程根据配置管理数据库中的有关数据制定IT基础设施优化机会、分配负荷和制定能力计划。
配置项的控制
必须有效控制信息以维持配置管理数据库的及时更新。一旦某项活动改变了配置项已记录的特征或配置项之间的关系,则必须在配置管理数据库中记录该项变动。需 注意的是:只有变更管理才有权批准对配置项的特征进行变动,事件管理只能改变某个现有的配置项的状态来反映现实状况,如系统中断运行。
配置管理负责控制组织接收到的所有IT组件并需确保这些组件被记录在系统中。硬件可在其已订购或已交付时进行记录,而软件则通常在其被纳入最终软件库(DSL,Definitive Software Library)时进行记录。
配置管理的另一项控制任务是确保配置项只有在已经过批准并被包括在产品目录中以后才被记录。由于这个原因,配置管理应与供应商、事件管理、问题管理和变更管理保持着密切的联系。
如果由配置管理协调的变更在IT基础设施中实施了,则配置管理需要将该信息记录在配置管理数据库中。为了能够实现这点,配置管理对组织内其他流程的成熟度提出了一定的要求,特别是对变更管理、发布管理和采购部门的流程更是如此。
此外,为了确保实际的情形符合经过批准的配置管理数据库中记录的信息,配置管理还需要对下列情形进行监控:
●添加配置项。
●改变配置项状态,如“正常”或“宕机”(对可用性管理有用)。
●改变配置项其所有者。
●改变配置项与其他配置项的关系。
●移除配置项。
●配置项与某项服务、文档或其他配置项产生了其他关系。
●续签或修改配置项。
●审计后对配置项信息进行更新。
只要存在流程方面的问题,配置管理就有责任确保它们会得到解决。
(此文章刊载于清华大学出版社出版的《IT服务管理——基于ITIL的全球最佳实践》)