配置管理

缘起

最近开展系统配置管理相关的项目,但配置管理的概念仍比较模糊,做一个梳理,对配置管理的概念,相关软件的对比,企业级的使用情况做一个了解。

定义

看了中文诸多对配置管理的解释和说明,比较片面,领域很窄,通过对维基百科英文版的“configuration management”的学习,将个人理解解释如下:

配置管理(configuration management简称CM)是详细记录和更新企业硬件和软件的信息,是一个需求、设计、运营对产品性能、功能和物理属性信息建设并持续维护的过程。配置管理过程广泛应用于军事工程组织管理复杂的系统,比如武器、运载工具、信息系统。军事外,也用于信息技术服务管理。

配置管理介绍

配置管理用于系统的整个生命周期,提供可控和可视化的性能、功能和物理属性维护。配置管理验证系统预期性能,确认并归档足够的数据支撑整个工程的生命周期。配置管理促进系统信息和系统修改有序的管理,目的是增加系统的修正能力,提升性能、可靠性和可维护性,修正缺陷;除此之外,消减成本,降低风险和负债。最小的实现配置管理能降低成本。缺少配置管理,或无效的实现会非常昂贵,有时会带来灾难性的后果,比如服务器挂了或者员工挂了。

配置管理强调功能的关联,比如各个组成部分、子系统、有效控制系统变更的系统。系统修改经过系统的思考减少不利的影响。系统修改使用标准的、系统的方法经过提案、评估、实现,这样就能保证系统的一致性。配置管理确认系统预先设计的修改并且归档影响配置的项目。一个完整的配置管理程序提供存储、追踪、更新所有组件、子系统和基础系统的信息。

一个制定的配置管理程序保证了项目文档和实际的项目是一致、精确的。很多情况下,没有配置管理,文档只是存在,但和实际项目并不一致。由于不一致的原因,在修改项目的时候,工程师、外包人员、管理员经常被迫去编写反应实际项目情况的文档。这个反工程的过程浪费了项目的相关人员时间和其它可以通过配置管理节约和消除的资源。

配置管理的历史

配置管理是美国空军在五十年代为美国国防部硬件项目管理开发的一项正式的管理方法,现在已经广泛的应用于各行各业。配置管理过程作为一项技术管理原则是在二十世纪六十年代,那时美国国防部发展了一系列军方标准,成为“480系列”,随后发行于七十年代。1991年,“480系列”统一为一个标准,称为MIL–STD–973,后来为响应军方减少军方标准的目标而赞成标准开发组织的工业技术标准被MIL–HDBK–61取代。这标志着涉及各行各业被广泛接受的ANSI–EIA–649–1998标准开始了。现在被组织和机构广泛接受的配置管理原则包括:系统工程、集成支撑系统(systems engineering)、能力成熟模型集成(integrated logistrics support)、ISO 9000、PRINCE2(project management methodology)、COBIT(Control Objectives for Information and Related Technology)、信息技术基础设施库(Information Technology Infrastructure Library)、产品生命周期管理(product lifecycle management)、应用生命周期管理(Application Lifecycle Management)。上述方法和模型重新定义了传统配置管理的方法用于技术管理。一些人认为配置管理类似于一些库管理程序活动,摆脱变更控制或控制管理而作为一个分离、独立的原则。

配置管理概览

配置管理是通过系统的处理变更维护系统完整性的实践。配置管理实现了管理、变更评估、变更状态追踪需要的策略、过程、技术和工具,系统变更时维护系统的配置清单、支持文档。配置管理程序和计划提供技术和管理的方向,保证成功的开发和支持复杂系统所需的开发和实现过程、方法、服务、工具、进程和资源。开发过程中,配置管理允许程序管理跟踪生命周期中的变更、操作和维护。对于需求和设计来说,变更不可避免,而且变更必须批准并归档,创建准确的系统状态记录。理论上配置管理过程适用于系统的整个生命周期。

在MIL–HDBK–61和ANSI–EIA–649中,硬件和软件项目的配置管理过程有5个重要的原则。这些原则作为策略或者规范建立基线,执行一个标准的变更管理过程。

配置计划和管理:一份正式的文档和计划指导配置管理程序包括项目:个人、员工、资源、培训需求、管理会议指导,包括过程和工具的定义、基线流程、配置控制和配置状态报告、命名大会、审计和review、供应商和承包商的配置管理需求。

配置标识:包括设置和维护基线,在此定义了系统或子系统的架构、组件和任何时间点的开发。这是任何信息系统变更识别、归档、跟踪的基础部分,之后会通过设计、开发、测试和发布的追踪。配置标识逐渐建立和维护当前系统的配置状态,贯穿整个生命周期直至报废。

配置控制:包括评估的所有变更请求和变更提议,之后的赞同和驳回。是对系统的设计、硬件、固件、软件和文档更改的控制过程。

配置状态报告:包括记录和报告配置项目的过程和基线设计和产品的所有差别。如有可疑问题可以通过验证基线和批准的变更迅速决定。

配置审计:一次独立的浏览硬件和软件配置,目的是评估系统和基线的性能要求、商业需求和合适的军方标准、功能。在确定架构基线之前,配置审计核实系统和子系统配置文档遵从功能和物理性能特性。

软件配置管理

传统的软件配置管理(SCM)过程被从业者看成解决软件工程变更最好的解决方案。在不同的时间点确认软件功能和物理属性,系统的控制确认的属性变更,目的是在软件开发的生命周期内维护软件的完整性和可追溯。

软件配置管理进一步定义了变更追踪的定义,确认最终发布的软件准确完成计划的能力。软件配置管理定义了四个过程,而这四个过程对于一个完整的软件配置管理实现是必不可少的。他们是:

配置标识:是一个定义项目配置每个方面属性的识别过程。一个配置项目是一个有最终用户的产品。这些属性记录在配置文档和基线中。基线中的属性变更时启动配置变更控制过程。

配置变更控制:是一系列批准变更后改变配置项属性并重新形成基线的过程。

配置状态报告:是记录和报告基线相关文档的配置项在各个时间状态。

配置审计:是确认系统功能和物理配置的审计。发生在发布或者系统更改的时候。功能配置审计确保功能和性能属性的每个配置项都得以实现,一个物理配置审计确保一个配置项的安装和详细设计文档中保持一致。

这些短语和定义从一个标准到另一个标准,但本质是一样的。

信息安全

信息安全定义为通过对硬件、软件、固件、文档、测试、测试文档在信息系统生命周期中的安全和保障管理。配置管理在信息安全中是安全配置管理(Secure Configuration Management)依赖的基础设施性能、功能、物理属性、产品和环境,决定合适的安全特性和保障常用于评估一个系统的配置状态。比如,一个外网的防火墙配置和内网的防火墙配置是不同的。

运维系统

配置管理过去是通过维护一个高水准服务视图理解复杂资产状态并降低成本。目的是防止由于资产过期运行破坏计划中的运营或服务质量。在军队中,这中类型的事情归类为“任务就绪”,去定义哪种任务的资产是就绪的。经典案例是,一架挂有炸弹的飞机可能需要地面或者导弹的支持作为防御。

操作系统配置管理

配置管理能用于维护操作系统的配置文件。类似的系统包括CFEngine、Bcfg2、Puppet和Chef。

预防维护

明白“现状”的情况,比如资产和他的主要组成部分状态是做预防维护、修理、返修、企业资产管理的关键要素。

总结

通过配置管理的历史,了解其特殊背景和在软件工程中的应用领域、使用要素和原则。

您的支持是我最大的动力!