技术管理实践 - 21 部署
申明:
本系列ITIL 4中文版本由长河领导的ITIL先锋论坛专家委员会组织翻译,国内众多从事ITIL理论推广及落地实践的专家们参与。需要下载最新翻译版本请关注微信公众号:ITILXF,并回复“部署管理”或“部署”即可。
请注意,ITIL先锋论坛专家团队仅仅只是进行了这些著作的语种转换工作,我们并不拥有包括原著以及中文发行文件的任何版权,所有版权均为AXELOS持有,读者在使用这些文件(含本中文翻译版本)时需完全遵守AXELOS 和 TSO所申明的所有版权要求。
本文档翻译工作参与人员:
翻译:郑中珮
审校:赵同辉
审核:汤维
总审:长河
统筹:常宏
1 关于本文件
本文档为部署管理实践提供了实用指南。它分为五个主要部分,内容包括:
- 有关实践基本信息
- 本实践相关的流程和活动及其在服务价值链中的作用
- 实践中涉及的组织和人员
- 支持实践的信息和技术
- 实践中合作伙伴和供应商的注意事项
1.1 ITIL®4 鉴证方案
本文的选定内容可以作为以下课程的一部分检验标准:
- ITIL专家:创建、交付和支持
- ITIL专家:高速IT
有关详细信息,请参考教学大纲文档。
2 一般信息
2.1 目的和描述
关键信息 |
部署管理实践的目的是将新的或更改的硬件、软件、文档、流程或任何其他组件迁移到生产环境中。它还可能涉及将组件部署到其他环境以进行测试或预发布。 |
部署管理实践负责将服务或服务组件迁移到指定的环境。此实践支持从不同的环境(包括开发、集成、准生产、生产、测试或演示环境)部署或移除服务组件。
该实践通常应用于组织控制的商定范围内的数字化和物理的IT组件,包括软件,硬件,文档,许可证和数据。
2.2 术语和概念
2.2.1 环境
部署管理实践支持在各环境之间迁移产品、服务和服务组件。
服务组件的生命周期可能因其类型和采购方法而异。组织中受控环境的数量和用途也可能有所不同。表2.1提供了开发软件组织的示例环境列表。
环境 | 目的 |
开发/集成 | 开发和集成软件 |
测试 | 测试服务组件 |
预发布 | 测试版本,包括产品,服务和其他配置项 |
准生产/生产 | 向服务消费者提供IT服务 |
表2.1开发软件组织的示例环境列表
对于组织以外的产品和组件,开发环境可能不受组织控制。对于交付给组织以外的服务消费者的产品和服务,对实际环境的控制可能是有限的。其他变化也是可能的。
2.2.2 持续集成、持续交付和持续部署(CI / CD)
在敏捷和DevOps中部署的关键概念是:
- 持续集成:在软件开发环境中集成、构建和测试代码。
- 持续交付:持续交付意味着构建好的软件可以随时发布到生产环境中。频繁的部署是可能的,但是部署的决定是根据具体情况做出的,通常是因为组织偏向于较低的部署速率。
- 持续部署:更改会通过流水线自动发布到生产环境中,而(支持)每天可以进行多次生产部署。持续部署依赖持续交付。
这些方法得到了软件开发和管理、服务验证和测试、部署管理、基础设施和平台管理、发布管理实践的支持。这些实践涉及特定的技能、流程、过程、自动化工具以及与第三方的协议。它们支持持续集成、持续交付和持续部署的流水线。这也会影响其他实践的设计,例如服务配置管理、监控和事态管理、事件管理等。
2.3 范围
部署管理实践的范围包括:
- 产品、服务和服务组件在受控环境(例如开发、准生产、测试和预发布环境)之间 的有效迁移。
- 从指定环境中有效地移除产品,服务和服务组件。
这些添加、修改和删除可以是由以下经授权的变更/发布而触发:
- 服务的新增或变更请求
- 新功能或版本的发布
- 技术和操作上的变更
- 第三方变更请求
- 服务下线和移除
- 支持或故障排除
- 服务请求
有几个活动和职责尽管与部署密切相关,但未被包含在部署管理中。表2.2中列出了这些内容以及它们的实践引用出处。重要的是要记住,ITIL实践仅仅是在特定价值流中使用的工具集合;它们应当根据具体场景做必要的组合。
活动 | 实践指南 |
授权的变更/发布 | 变更支持 |
向用户提供准生产环境中的服务和组件 | 发布管理 |
开发软件 | 软件开发和管理 |
开发和构建基础设施组件 准备和维护目标环境以进行部署 | 基础设施和平台管理 |
提供要部署的IT资产 维护授权的服务组件存储库 | IT资产管理 |
测试和验证服务以及服务组件 | 服务验证和测试 |
命名,版本控制,和控制服务组件 | 服务配置管理 |
表2.2其他实践指南中描述的与部署相关的活动
2.4 实践成功因素
定义:实践成功因素 |
实践中为实现其目的所需的复杂功能组件。 |
实践的成功因素不仅仅是一项任务或活动,它包含服务管理四维模型的所有组件。活动的性质和实践中的资源可能有所不同,但它们共同确保实践有效。
部署管理实践包含以下成功因素:
- 在组织上建立和维护有效的服务和服务组件部署方法
- 确保组织在特定价值流中的服务和服务组件部署有效
2.4.1 为组织中的服务和服务组件的部署建立和维护有效的方法
部署管理实践包括定义并同意一种或几种部署产品、服务和组件时要使用的模型。这些模型可以使用一种部署方法,也可以组合使用多种部署方法,具体取决于它们的特定服务和需求以及所部署的服务组件的大小、类型和影响。
可以定义模型来部署类似类型的服务或服务组件。可以基于以下因素来定义此类部署模型:
- 自动化注意事项
- 成本/资源限制
- 部署的预期频率
- 客户需求变更率
- 技术变更率
- 组件缺陷风险
- 组件来源
- 用户的采用行为和偏好
- 技术变化对服务消费者的可见性
基于这些和其他相关的注意事项,组织定义了一组用于部署不同服务组件的模型。这些模型可以描述服务管理四维模型中各方面的不同解决方案。表2.3概述了一些示例模型。
表2.3 不同服务组件的部署示例模型
部署模型还定义了通过受控环境进行部署的流程、所涉各方的责任、部署触发器以及在值流中与其他实践活动的交互。
这些模型应足够灵活以适应不断变化的情况,例如部署的规模,紧急度或复杂性。
部署模型以及一般的部署管理实践应该作为持续改进的主体,以消除浪费并提高有效性和效率。
2.4.2 确保在组织的价值流背景中有效部署服务和服务组件
确保有效部署要求在所有服务管理四维模型协调资源。
部署的有效性和效率在很大程度上依赖于可用的相关资源、技能、技术、工具和基础架构。在部署中有效地使用技术和自动化可以提高实践的一致性、敏捷性和效率。
为了使变更/发布成功,至关重要的是在整个迁移过程中都必须保持变更/发布的服务或服务组件的完整性。任何未经授权的手动、流程或技术错误的变更都会对变更和发布的目标与结果产生负面影响,这通常会对组织造成严重影响。
服务迁移的成功取决于对变更和发布的有效管理,而这反过来又依赖于符合需求和目标的及时部署。必须有效地管理部署与变更和发布要求的一致性,以及进度和成本等关键方面的一致性。
2.5 关键指标
应该在每个实践所贡献的价值流的背景内评估ITIL实践的有效性和绩效。与任何工具的性能一样,实践的绩效只能在其应用的背景中进行评估。但是,工具可以在设计和质量上有很大的不同,这些不同定义了工具根据其用途使用时的潜力或能力。有关度量标准、关键绩效指标(KPI)和其他技术的进一步指导,请参见度量和报告实践指南。
部署管理实践的关键指标已映射到其PSF。在价值流中,它们可以用作KPI以评估部署管理对这些价值流的效果和效率的贡献。表2.4中给出了一些关键指标的示例。
实践成功因素 | 关键指标 |
为组织中的服务和服务组件的部署建立和维护有效的方法 确保在组织的价值流背景中有效地部署服务和服务组件 |
|
3 价值流和流程
3.1 价值流的贡献
像任何其他ITIL 管理实践一样,部署管理实践有助于实现多个价值流。重要的是要记住,价值流永远不会由单个实践形成。部署管理实践与其他实践相结合,可以为消费者提供高质量服务。实践贡献的主要价值链活动是:
- 获取和构建
- 设计和转换
图3.1中显示了部署管理实践对服务价值链的贡献。
图3.1 部署管理实践对价值链活动贡献的热力图
3.2 流程
每个实践可能包含一个或多个流程和活动,它们对于实现该实践的目的可能是必需的。
部署管理活动分为两个流程:
- 部署
- 部署模型开发和评审
3.2.1 部署流程
该流程包括表3.1中列出的活动,并将输入转换为输出。
表3.1 部署流程的输入、活动和输出
图 3.2 部署流程的工作流程图
在采用CI / CD框架的Agile或DevOps 环境中,许多活动将以自动化方式执行,而无需人工干预。表3.3提供了流程活动的示例。
表3.3 部署的活动流程
3.2.2 部署模型开发和评审流程
这个流程的重点是不断改进部署管理实践、部署模型和部署过程。它可以定期执行,也可以由部署效率低下的部署失败触发,并突出其他改进机会。常规审查可能每三个月一次或更频繁地进行,这取决于现有模型和程序的有效性。
该流程包括表3.4中列出的活动,并将输入转换为输出:
表3.4 部署模型开发和评审流程的输入,活动和输出
图3.3显示了流程的工作流程图。
图 3.3 部署模型开发和评审的工作流程
表3.5提供了流程活动的示例。
活动 | 描述 |
部署模型计划 | 当产品遵循类似的低风险、高成功率部署模式,并且有方法可以消除浪费并减少部署交付时间时,部署经理可以选择定义新的部署模型。部署模型应该减少人员对部署的参与和控制。 |
部署模型实施 | 部署经理安排适当的流水线工具进行配置,以支持新的模型,例如访问设置、代码支持或分支过程。或者,如果自动部署工具不适用,则部署经理会建立适当的指导原则并将其传达给相关的团队和各方。 |
部署模型测试 | 部署经理对新的部署模型进行了测试,以确保正确的边界处理和工作流程。在无法进行测试的地方,部署经理监测模型的首次实时运行。 |
部署评审和部署失败记录分析 | 部署经理与服务所有者和其他相关利益相关者一起,对选定的部署或部署失败进行评审。他们发现优化部署模型和部署过程的机会。 |
部署模型改进启动 | 如果部署模型和过程包含在变更支持的范围内,则部署经理将要处理的改进倡议注册到持续改进实践的过程中,或者发起变更请求。 |
部署模型 更新和通讯 | 如果部署模型成功更新,则将其传达给 相关的利益方。这通常由部署经理和/或服务或资源所有者完成。 |
表3.5 部署模型开发和评审流程的活动
4 组织和人员
4.1 角色,能力和责任
实践指南没有描述实践管理的角色,例如实践所有者、实践领导者或实践教练。相反,他们专注于每种实践的专门角色。每个角色的结构和命名都可能因组织而异,因此ITIL中定义的任何角色都不应被视为强制性的,甚至不应被推荐。请记住,角色不是职务。一个人可以担任多个角色,一个角色可以分配给多个人。
流程和活动的背景中描述了角色。每个角色都具有基于表4.1中所示的模型的能力概况。
能力编码 | 能力侧写(活动和技能) |
L | 领导者,决策、授权、监督其他活动,提供激励和动力,并评估结果 |
А | 管理员,分配任务并确定优先级,保留记录,持续报告,并启动基本改进 |
C | 协调者/沟通者,协调多方,维护利益相关者之间的沟通,并开展宣传活动 |
М | 方法和技术专家,设计和实施工作技术,文件化步骤,流程咨询、工作分析和持续改进 |
Т | 技术专家,提供技术(IT)专业知识并执行基于专业知识的任务 |
表4.1能力代码和资料
在组织中可以找到两个特定于实践的角色:部署经理和部署实践人员。这些角色通常在部署数量很高的组织中引入。在其他组织中,这些角色可以与开发,运营,IT资产团队等中担负相关职责的其他角色合并或分配给其他角色。
4.1.1 部署经理角色
部署经理角色需要对组织的业务,产品和服务,技术,平台,框架以及流程有深入的了解。这个角色需要强有力的规划和项目管理技能以及协调团队合作的能力和权威。此角色的能力概要是LACM。该角色通常负责部署管理实践过程的规划、管理以及协调,以及各个版本的部署,包括:
- 计划部署
- 确保部署计划与变更/ 发布计划、需求和目标保持一致
- 规划、协调并确保有效完成部署所需的可用资源
- 有效管理多个部署之间的重叠或冲突
- 实施和保持有效的控制和治理,以确保整个部署实践中组件的完整性
- 管理和/或确保其他实践和利益相关者之间的有效接口并进行协调
- 管理和优化部署资源,以确保管理部署的可用性、能力和容量达到最佳水平
- 依据定义的KPI,监视、报告、分析和改进部署性能
在更复杂的组织中,某些部署管理职责可能被委派给部署协调员、团队负责人或其他任何类似的角色。
4.1.2 部署实践人员角色
部署实践人员角色需要强大的技术技能和有效的团队合作精神。该角色的能力概要是TAC。这个角色通常负责根据适用的需求、目标和对象,对目标环境进行有效的部署,包括:
- 获得、维护和不断提高部署技术方面所需的技能和能力
- 参与和协助部署规划
- 在整个部署实践中确保组件的完整性
- 管理和协调部署文档、记录和通讯,包括用于培训目的
- 与其他实践和利益相关者进行协调,并促进小组之间的交流
- 验证并向利益相关者提供部署反馈
- 根据定义的KPI,监控、报告、分析和改进部署性能或绩效
在某些组织环境中,根据部署和平台的类型和要求,组织产品和服务的复杂性等,部署实践人员角色可以分为多个类别和级别。
4.1.3 部署管理活动中涉及的角色
表4.1中列出了部署管理活动中可能涉及的其他角色的示例,以及相关的能力概况和特定技能。表4.2负责部署管理活动的角色示例
4.2 组织结构和团队
指定的部署管理团队是不同寻常的,除非是在具有大量和复杂部署的大型组织中。角色通常由技术/运营团队处理。
在DevOps 环境中,部署通常通过使用部署管线通过连续的部署实践/ 框架实现自动化。然而,部署经理的角色通常仍然适用。部署经理将掌控整个实践以及部署的各个方面。该角色可以独立设立,也可以与其他相关的合适角色(例如发布经理)结合使用。
5 信息和技术
5.1 信息交流
部署管理实践的效果取决于所使用信息的质量。该信息包括但不限于以下信息:
- 服务组件和资产的授权存储库,如IT资产数据库和DML
- 资产和配置
- 变更和发布计划
- 部署通信
- 部署文档和记录
- 部署计划
- 部署指标和报告
- 部署的每个阶段的进入、退出和验收标准
- 来自部署的反馈
- 部署期间发现的问题和错误
- 部署范围内的平台和环境
- 产品和服务及其架构和设计
- 有关变更和发布的需求和期望
- 利益干系人需求,期望和联系方式
该信息可以采用各种形式。实践的关键输入和输出在第3节中列出。
5.2 自动化和工具
在大多数情况下,部署管理实践可以从自动化中受益匪浅。敏捷和DevOps环境中的部署主要面向自动化和技术。
如果部署可以实现自动化且行之有效,那么它可能涉及表5.1中概述的解决方案。
表5.1 部署管理活动的自动化解决方案
6 合作伙伴和供应商
6.1 部署实践的采购注意事项
仅使用组织自己的资源提供的服务很少。大多数(如果不是全部)依赖于其他服务,这些服务通常由组织之外的第三方提供(请参阅ITIL 基础 :ITIL 4版 第2.4节:服务关系模型)。支持服务引入的关系和依赖关系在服务设计、体系结构管理和供应商管理的ITIL实践中进行了描述。
了解组织如何依赖第三方组件以及如何与包括部署管理实践在内的许多活动的关键供应商和合作伙伴建立有效的协作至关重要。
在具有多个供应商的环境中,了解每个组织的部署活动的范围和边界以及它们之间的交互方式非常重要。大多数组织都有用于部署的流程,标准工具和详细过程通常会为其提供支持,以确保一致地部署软件。对于不同的环境,通常会有不同的流程。
部署管理实践的许多领域可以通过有效的外包来实现,这可能涉及人员、能力、工具、流程和服务。
部署管理及其PSF可以通过多种形式的选择性和司法性采购来实现和增强,包括表6.1中概述的形式。
发包区域 | 细节 |
人 | 在部署管理活动是手动的情况下,资源可以从合作伙伴那里获取。关键注意事项包括部署计划,内部资源的可用性,成本等。 |
技术/非技术技能和能力 | 在许多部署管理活动中,外包特定技能,包括技术能力(关于特定系统、技术、平台)和非技术能力(规划、管理和执行能力)非常有用,甚至是必需的。关键考虑因素包括技术/服务环境的多样性和复杂性,动态的技术环境、缺乏适当的内部资源等。 |
外包部署管理 | 在某些情况下,从合作伙伴那里获取整个部署管理实践可能是必要或有用的。 |
部署工具和技术 | 通过采用工具和技术,可以增强部署管理实践的多个领域。除少数情况外,这些技术、工具和工具链均来自特定的生产/ 服务提供者。 |
表6.1 部署管理实践中的外包
7 重要提醒
实践指南的大部分内容都应作为组织在建立和培养自己的实践时可能考虑的领域的建议。实践指南是组织可能考虑的主题目录,而不是答案列表。使用实践指南的内容时,组织应始终遵循ITIL 指导原则:
- 聚焦价值
- 从你所处的地方开始
- 基于反馈迭代推进
- 协作和提升可视化程度
- 通盘思考和工作
- 保持简单实用
- 优化和自动化
有关指导原则及其应用程序的更多信息,请参见ITIL Foundation:ITIL 4 Edition的4.3节。
8 致谢
AXELOS Ltd非常感谢为本指南的开发做出贡献的每一个人。这些实践指南融合了ITIL社区前所未有的热情和反馈。AXELOS特别要感谢以下方面:
8.1 作者
Vinod Kumar Agrasala, Roman Jouravlev, Konstantin Naryzhny.
8.2 审稿人
Jon Hall, Anton Lykov, Samantha Robertson, Oleg Skrynnik.