Changes for page 服务管理实践 - 07 发布
Last modified by roll tech on 2024/12/30, 17:25
Summary
Details
- Page properties
-
- Content
-
... ... @@ -1,19 +1,16 @@ 1 -(% class="jumbotron" %) 2 -((( 3 -(% class="container" %) 4 -((( 5 -= = 1 +{{box cssClass="floatinginfobox" title="**Contents**"}} 2 +{{toc/}} 3 +{{/box}} 6 6 7 - 8 - 9 - 10 - 5 +((( 11 11 12 12 ))) 13 -))) 14 14 15 15 需要下载 **ITIL 4发布管理实践【中文】**pdf版全文,请关注微信公众号itilxf ,并回复“发布”即可。 16 16 11 +[[image:微信截图_20210206234644.png||height="153" width="152"]] 12 + 13 + 17 17 **申明:** 18 18 19 19 本系列ITIL 4实践中文版本由ITIL先锋论坛专家委员会组织翻译,国内众多从事ITIL理论推广及落地实践的专家们参与,需要下载最新翻译版本请关注微信公众号:ITILXF,也可访问ITIL4中文知识库网站:itil4hub.cn。 ... ... @@ -23,14 +23,10 @@ 23 23 24 24 翻译:李威 审校:郑中珮 审核:刘晓慧 25 25 26 -(% class="row" %) 27 -((( 28 -(% class="col-xs-12 col-sm-4" %) 29 -((( 30 - 31 -))) 32 -))) 33 33 24 + 25 +---- 26 + 34 34 = **1 关于本文件** = 35 35 36 36 本文档为发布管理实践提供了实用指南。它分为五个主要部分,内容包括: ... ... @@ -64,7 +64,7 @@ 64 64 |((( 65 65 关键信息 66 66 67 -发布管理实践的目的是使新的和变更的服务及功能均可用。 60 +发布管理实践的目的是使新的和变更的服务及功能均可用。 68 68 ))) 69 69 70 70 发布管理实践是为了确保组织及其服务使用者在符合组织政策和协议的前提下,服务可以正常使用而产生的最佳实践。 ... ... @@ -76,7 +76,109 @@ 76 76 77 77 == **2.2 关键术语和概念** == 78 78 72 +|((( 73 +发布 79 79 75 +使服务或仸何其他配置项的版本或配置项的集合可用。 76 +))) 77 + 78 + 79 +=== **2.2.1 发布管理和部署管理** === 80 + 81 + 82 +组织应该定义发布和部署管理实践的最佳方法,并明确它在整个组织价值流以及服务关系中的具体角色。 83 + 84 + 85 +一种方法是将发布和部署活动结合在一起。一旦服务组件被发布到生产的环境中,用户便可以去使用。生产环境中不同版本的相同组件很少有共存的情况,就算在某一时间点共同存在,也不会持续很久。发布和部署活动(以及产品的整个生命周期)之间没有明确的边界。这种方法通常应用于硬件服务组件和大型独立的软件系统。 86 + 87 +另一种在敏捷开发模式、现代架构以及基于云的解决方案中比较适用。通过这种方法,可以在发布活劢启动之前将新版本的软件部署到生产环境,然后再发布给部分或所有用户。在这种情况下,发布管理活动只需将重点放在启用服务上,便可以简单的实现发布的目的(例如,在存储库中更改应用的状态,指定的用户就可以进行下载操作了),另外降低复杂的人工操作的故障率(例如,训练用户降低风险并增加版本发布的有效性)。 88 + 89 +|((( 90 +CI (持续集成)/ CD(持续部署)和发布管理 91 + 92 +敏捷和DevOps中部署的关键概念包括持续集成、持续交付和持续部署。Martin Fowler 将它们定义为: 93 + 94 +* 持续集成通常是指在软件开发环境中集成、构建和测试代码。 95 +* 持续交付扩展了持续集成,涵盖了生产部署的最后阶段。持续交付意味着构建的软件可以随时发布到生产中。 96 +* 持续部署是指通过流程并自动投入生产的变更。这样便可以每天进行多个生产部署。 97 +* 持续交付意味着可以频繁部署,但部署决策是根据具体情况而定的,通常是因为企业更喜欢较慢的部署速度。持续部署要求完成持续交付。 98 + 99 +在组织中,将发布的连续部署管理作为单独的实践来使用是普遍且有效的。新版本的软件、文档和数字基础设施配置一准备就绪,便会立即部署到运行环境中,然后使用发布管理实践为用户“打开”它们。 100 + 101 +如果使用不带持续部署的持续交付,则部署新的和更改的发布组件可以在相应的价值流中作为单个步骤进行同步和管理。 102 + 103 +最后,如果组细不使用持续交付或持续部署,则发布管理活动更可能与部署管理结合使用。 104 +))) 105 + 106 +组织为所有产品和服务或每个产品定义了发布和部署管理实践的方法。这通常由组细的产品体系结构(及其跨产品的一致性)和组织对软件生命周期的管理方法来定义的。 107 + 108 + 109 +=== **2.2.2发布管理的方法,模型和计划** === 110 + 111 + 112 +如果组织管理不同的架构产品,则可能会定义不同的发布管理方法。一旦就特定产品达成一致,就可以开发特定于产品的发布管理模型。该模型包括但不限于∶ 113 + 114 +* 商定的高级方法 115 +* 针对用户及发布对象设置规则 116 +* 发布单元和打包规则 117 +* 推/拉条件 118 +* 验证和验收标准 119 +* 假设验证和实验的发布使用条款 120 + 121 +产品可能有多个发布管理模型。例如,当产品用于在不同的市场上提供服务,或用于企业和个人服务消费者。 122 + 123 + 124 +组织对产品的控制范围是影响发布管理模型开发和实践的因素之一。当组织控制整个产品生命周期(包括开发和部署)时,它可以更自由地定义发布管理模型。相反,如果组织的服务基于第三方组件,或者开发和部署由供应商管理,则通常引入组织应该考虑的约束。虽然组织仍然可以决定是否在其服务中包含更新的组件,但是只能在一定程度上进行决定(取决于组件的供应商是否允许继续使用历史版本)。 125 + 126 +|发布单元 127 +配置项或部分配置项的预定义集合,它是发布包含的基本大小。 128 + 129 +=== 130 +**2.2.3 发布单元** === 131 + 132 + 133 +发布单元可能包括不同类型的软件组件,用户设备以及其他硬件资源,文档。对于新用户而言,用于服务的初始发布的发布单元可以不同于用于更新同一服务的发布单元。但是,可能会建议甚至强制要求组件的某些组合。例如,每个更新都应包括为用户准备的版本发布说明;但是,在某些情况下,用户设备应在用户最初使用发布之后进行更新。 134 + 135 +某些发布实例可能包含不完整的发布单元,但这种情况应作为特例∶如紧急发布(紧急更新),或者过于复杂且已定义了不切实际的发布单元。 136 + 137 +重要的是要记住,发布单元可能不同于部署单元,后者定义了通常一起部署的组件。发布是面向用户的,发布单元的定义取决于服务的哪些组件会影响到用户使用服务和用户的体验。 138 + 139 +=== 140 +**2.2.4 推/拉条件** === 141 + 142 + 143 +发布管理模型的开发期间需要做出的决定之一是将服务组件的新版本推向用户,还是由用户拉取最新的版本,或是将多种方法混合使用。 144 + 145 + 146 +"推"式方法意味着在未经用户特定许可的情况下为用户启用了新的或变更的服务组件,用户必须使用这些版本。相比之下,"拉"式方法为用户提供了新的组件和服务,但是用户可以自己决定是否使用新的版本或坚持使用较旧的版本,甚至直接不使用这个服务。 147 + 148 + 149 +通常,组织不会采用单一方法。一般会为了更好地满足工作条件,定义了"拉"或"推"方法。无论对内部和外部用户,都有很多亲和性。这包括∶ 150 + 151 +* 在整个用户群中使用单一版本(可维护性,兼容性) 152 +* 用户体验更灵活(更好的可视化,灵活的定价选项) 153 +* 提供在运行环境中管理多个版本的技术和组织能力 154 +* 关键变更(严重的安全漏洞更新这种场景更适合"推"模式) 155 +* 功能和其他客户的需求(如果实现了所需的新功能,客户可以要求所有用户进行更新) 156 +* 监管要求 157 + 158 + 159 +=== **2.2.5 假设检验和实验** === 160 + 161 + 162 +发布管理可用于验证假设和实验。当一个组织需要用一个样本用户群体来测试一个假设时,可以将可测试的服务发布给该组样本用户(有时称为治疗组)。这种方法被社会网络等大众服务提供商广泛使用,但也适用于小用户群体。相关技术包括蓝/绿发布,金丝雀发布和A/B测试等。 163 + 164 + 165 +这些实验需要其他实践的共同参与。这包括但不限于∶ 166 + 167 +* 基础设施平台管理 168 +* 软件开发管理 169 +* 部署管理 170 +* 架构管理 171 +* 服务台 172 +* 事件管理 173 + 174 + 80 80 == **2.3 发布管理和部署管理** == 81 81 82 82 ... ... @@ -296,6 +296,7 @@ 296 296 297 297 图3.1中显示了发布管理实践对服务价值链的贡献点。 298 298 394 +(% style="text-align:center" %) 299 299 [[image:图片1.png]] 300 300 301 301 ... ... @@ -313,7 +313,6 @@ 313 313 == **3.2 流程** == 314 314 315 315 |((( 316 - 317 317 流程是一组将输入转化为输出的相互关联或交互的活动。流程接受一个或多个已定义的输入,并将其转换为已定义的输出。流程定义了动作的执行顺序及其依赖性。 318 318 ))) 319 319 ... ... @@ -360,10 +360,10 @@ 360 360 361 361 表3.1 发布规划流程的输入活动和输出 362 362 363 -==== ==== 364 364 365 365 图3.2显示了流程的工作流程 366 366 461 +(% style="text-align:center" %) 367 367 [[image:图片2.png]] 368 368 369 369 ... ... @@ -447,10 +447,11 @@ 447 447 448 448 表3.3 发布协调流程的输入、活动和输出 449 449 450 -===== ===== 451 451 546 + 452 452 图3.3显示了工作流的流程图 453 453 549 +(% style="text-align:center" %) 454 454 [[image:图片3.png]] 455 455 456 456 图3.3 发布协调流程的工作流程图 ... ... @@ -463,4 +463,448 @@ 463 463 464 464 ---- 465 465 466 - 562 += **4 组织和人员** = 563 + 564 + 565 +== **4.1 角色,能力和职责** == 566 + 567 +实践指南没有描述实践管理的角色,例如实践所有者,实践领导者或实践教练。实践指南着重于每个专门角色的实践经验。每个组织架构中,对不同角色的命名可能都不同,因此ITIL中定义的任何被推荐的角色都不是强制的。请记住,角色不是职务。一个人可以担任多个角色,一个角色可以分配给多个人。 568 + 569 +流程和活动的背景中描述了角色。每个角色都具有基于表4.1中所示的模型的能力概况。 570 + 571 +|能力代码|描述 572 +|L|**领导者** 决策、授权,监督其他活动,提供激励和动力,并评估结果 573 +|А|**管理员** 分配任务并确定优先级,保存记录,持续报告并启动基本改进 574 +|C|**协调者 /沟通者** 协调多方,维护利益相关者之间的沟通,并开展宣传活动 575 +|М|**方法和技巧专家** 设计和实施工作技术、文化步骤、流程咨询、工作分析和持续改进 576 +|Т|**技术专家** 提供技术(IT)专业知识并执行基于专家经验的作业 577 + 578 +表4.1能力代码和资料 579 + 580 +在组织中发布管理实践会有一个特定的角色:发布经理。该角色通常是在发布大量产品的组织中,尤其是在需要手动规划和执行发布动作的组织中引入的。在其他组织中,产品或服务所有者可以承担发布经理的职责。 581 + 582 + 583 +=== **4.1.1 发布经理角色** === 584 + 585 +在定义发布经理角色的情况下,通常将此角色分配给对组织的业务,产品和服务,技术,平台,框架和流程有深入了解的专家。该角色需要全面的规划能力和项目管理技能以及权威来协调团队合作。 586 + 587 +该角色的能力要求是AMCT。该角色通常负责规划、管理和协调整个发布管理实践以及各个发布实例,包括: 588 + 589 +* 审查和开发发布方法和模型 590 +* 促进整个组织采用被认可的的发布管理方法和模式 591 +* 规划复杂发布方式 592 +* 管理和传达发布日程 593 +* 确保实践与其他实践保持一致性和协调性 594 +* 审查并不断开发新实践 595 + 596 +在某些复杂的组织中,发布经理的部分职责可能委派给发布协调员。 597 + 598 + 599 +== **4.2 发布管理中涉及的角色活动** == 600 + 601 +表4.2中列出了发布管理活动中可能涉及的其他角色的示例,以及相关的能力概况和特定技能。 602 + 603 +|实现价值|负责角色|能力简介|具体技能 604 +|(% colspan="4" %)发布规划流程 605 +|生产架构和服务关系分析|((( 606 +企业架构师 607 + 608 +服务负责人 609 + 610 +产品负责人 611 + 612 +关系经理 613 + 614 +开发团队成员 615 + 616 +客户经理 617 + 618 +交付经理 619 + 620 +设师 621 +)))|ATC|((( 622 +服务关系的知识 623 + 624 +商业分析 625 + 626 +服务架构的知识 627 + 628 +发布和部署方法的知识 629 + 630 +基础架构和平台方面的专业知识 631 + 632 +沟通技巧 633 +))) 634 +|发布管理方法|((( 635 +服务负责人 636 + 637 +产品负责人 638 +)))|AMTC|((( 639 +服务关系知识 640 + 641 +发布和部署方法的知识 642 +))) 643 +|评审和开发|((( 644 +关系经理 645 + 646 +开发团队成员 647 + 648 +客户经理 649 + 650 +交付经理 651 +)))| |((( 652 +基础设施和平台方面的专业知识 653 + 654 +沟通技巧 655 +))) 656 +|发布管理模型评审和开发|((( 657 +服务负责人 658 + 659 +产品负责人 660 + 661 +开发团队成员 662 + 663 +客户经理 664 + 665 +交付经理 666 +)))|AMTC|((( 667 +服务关系的知识 668 + 669 +发布和部署方法的知识 670 + 671 +基础架构和平台方面的专业知识 672 + 673 +沟通技巧 674 +))) 675 +|发布实例规划| |TA|((( 676 +基础架构和平台方面的专业知识 677 + 678 +服务/ 生产的技术知识 679 + 680 +服务架构的知识 681 + 682 +发布和部署方法的知识 683 + 684 +管理服务/ 生产的专业知识 685 + 686 +服务关系的知识 687 +))) 688 +|发布计划沟通|((( 689 +服务负责人 690 + 691 +产品负责人 692 + 693 +关系经理 694 + 695 +客户经理 696 + 697 +交付经理 698 +)))|C|((( 699 +服务关系知识 700 + 701 +沟通技巧 702 + 703 +营销知识 704 +))) 705 +|(% colspan="4" %)发布协调流程 706 +|确定适用的模型或计划|((( 707 +服务负责人 708 + 709 +产品负责人 710 + 711 +开发团队成员 712 + 713 +客户经理 714 + 715 +交付经理 716 + 717 +设计师 718 +)))|AT|((( 719 +服务/ 产品的管理知识 720 + 721 +用户服务体验 722 + 723 +基础架构和平台方面的专业知识 724 + 725 +发布和部署方法的知识 726 + 727 +服务/ 产品的技术知识 728 +))) 729 +|服务组件的验证|((( 730 +服务负责人 731 + 732 +产品负责人 733 + 734 +开发团队成员 735 + 736 +客户经理 737 + 738 +交付经理 739 + 740 +客户代表 741 +)))|TA|((( 742 +基础设施和平台方面的专业知识 743 + 744 +发布和部署方法的知识 745 + 746 +服务/ 产品的技术知识 747 + 748 +服务/ 产品的管理专业知识 749 +))) 750 +|发布程序的验证|((( 751 +开发团队成员 752 + 753 +系统管理员 754 + 755 +信息安全专家 756 +)))|TA|((( 757 +基础架构和平台方面的专业知识 758 + 759 +服务/ 产品的技术知识 760 + 761 +服务/ 产品的管理知识 762 +))) 763 +|发布执行|((( 764 +开发团队成员 765 + 766 +系统管理员 767 + 768 +信息安全专家 769 +)))|T|((( 770 +基础设施和平台方面的专业知识 771 + 772 +发布和部署方法的知识 773 + 774 +服务/ 产品的技术知识 775 +))) 776 +|发布验证|((( 777 +服务负责人 778 + 779 +产品负责人 780 + 781 +客户经理 782 + 783 +交付经理 784 + 785 +开发团队成员 786 + 787 +客户代表 788 + 789 +用户 790 +)))|A|((( 791 +服务/ 产品管理的专业知识 792 + 793 +用户的服务体验 794 +))) 795 +|发布评审|((( 796 +服务负责人 797 + 798 +产品负责人 799 + 800 +关系经理 801 + 802 +客户经理 803 + 804 +交付经理 805 + 806 +开发团队成员 807 + 808 +设计师 809 + 810 +客户代表 811 + 812 +用户 813 +)))|ATC|((( 814 +服务关系的知识 815 + 816 +业务分析 817 + 818 +服务架构的知识 819 + 820 +发布和部署方法的知识 821 + 822 +基础设施和平台方面的专业知识 823 + 824 +服务/产品的技术知识 825 + 826 +沟通技巧 827 + 828 +营销知识 829 +))) 830 + 831 +表4.2 发布管理活动涉及的角色示例 832 + 833 + 834 +== **4.3 组织架构和团队** == 835 + 836 +只有在发布任务量巨大,或发布场景复杂的组织中,才适合建立指定的发布管理团队。大多数情况下,发布管理不需要专门的团队,只需建立临时的项目团队,或者将发布管理实现高度自动化就可以满足需求。 837 + 838 +但是,在许多情况下,发布经理的角色仍然有用。该角色可以充当教练,以确保发布实践被整个组织采用。根据组织对发布管理的处理方式,此角色可以与部署经理的角色结合。 839 + 840 + 841 + 842 +---- 843 + 844 += **5 信息和技术 ** = 845 + 846 + 847 +== **5.1 信息交流** == 848 + 849 +发布管理的效果取决于所使用信息的质量。该信息包括但不限于以下信息: 850 + 851 +1. 生产架构 852 +1. 服务消费组织和用户 853 +1. 软件开发和管理实践 854 +1. 计划的和正在进行的部署 855 +1. 正在进行和过去的事件 856 +1. 新兴的发布管理技术 857 + 858 +该信息可以采用各种形式。实践的输入和输出的详细列表在第3节中列出。 859 + 860 + 861 +== **5.2 自动化和工具** == 862 + 863 +在数字化工作环境中的发布管理是高度自动化的。但是,即使在传统环境中,发布管理实践也可以从自动化中显著受益。在表5.1中,有很多可行且有效的解决方案。 864 + 865 +|实现价值|自动化手段|(% colspan="2" %)关键功能|实践上的影响 866 +|(% colspan="5" %)发布计划过程 867 +|生产架构和服务关系分析|((( 868 +架构工具 869 + 870 +业务分析和建模工具产品/ 服务建模工具 871 +)))|(% colspan="2" %)生产/ 服务架构以及关系,连接和约束的可视化|中 872 +|发布管理方法评审和开发|((( 873 +流程建模工具 874 + 875 +产品/ 服务建模工具 876 + 877 +业务分析工具 878 +)))|(% colspan="2" %)对过程与程序的建模,可视化和评估|低 879 +|发布管理模式评审和开发|流程建模工具|(% colspan="2" %)对过程与程序的建模,可视化|中 880 +|发布实例规划|((( 881 +流程建模工具 882 + 883 +发布和部署管理工具 884 + 885 +流水线管理工具 886 + 887 +软件交付和集成工具 888 + 889 +开发环境 890 +)))|(% colspan="2" %)自动化发布管理|高 891 +|发布计划沟通|((( 892 +社交网络 893 + 894 +门户 895 + 896 +知识库工具 897 +)))|(% colspan="2" %)自动通信、消息、状态更新|高 898 +|(% colspan="5" %)发布协调流程 899 +|确定适用的模式或计划|(% colspan="2" %)((( 900 +流程建模工具 901 + 902 +发布和部署管理工具 903 + 904 +流水线管理工具 905 +)))|流程和过程的建模与可视化|低 906 +|服务组件的验证|((( 907 +发布和部署管理工具 908 + 909 +流水线管理工具 910 + 911 +软件交付和集成工具 912 + 913 +开发环境 914 +)))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 915 +|发布程序的验证|((( 916 +发布和部署管理工具 917 + 918 +流水线管理工具 919 + 920 +软件交付和集成工具 921 + 922 +开发环境 923 +)))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 924 +|发布执行|((( 925 +发布和部署管理工具 926 + 927 +流水线管理工具 928 + 929 +软件交付和集成工具 930 + 931 +开发环境 932 +)))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 933 +|发布验证|((( 934 +发布和部署管理工具 935 + 936 +流水线管理工具 937 + 938 +软件交付和集成工具 939 +)))|(% colspan="2" %)基于预先规划的、已开发的脚本,自动化发布管理|高 940 +|发布评审|((( 941 +监控工具 942 + 943 +协作工具 944 + 945 +沟通工具 946 +)))|(% colspan="2" %)((( 947 +提供信息和警告 948 + 949 +知识共享 950 + 951 +问题沟通 952 +)))|中 953 + 954 +表5.1 发布管理活动的自动化解决方案 955 + 956 + 957 + 958 +---- 959 + 960 += **6 合作伙伴和供应商** = 961 + 962 +只有很少量的服务是完全由组织自己的资源提供的,绝大多数需要依赖于外部服务。这些外部服务通常是由组织外的第三方供应商提供的(请参阅“ITIL Foundation 2.4:服务关系的模式的ITIL 4版)。 963 + 964 +如前所述,合作伙伴和供应商充当的角色与组织对其产品和服务组件的控制级别有关。如果组织控制整个产品或服务生命周期(包括开发和部署)时,它在做出有关发布管理的决策方面就具有更大的自由度。相反,如果组织的产品或服务依赖于第三方组件,或者开发和部署由供应商管理,那么通常这种情况下,组织必须考虑引入的约束带来的影响了。虽然组织可以决定是否在其服务中引入更新的组件,但在一定程度上还是受到一些限制的。 965 + 966 +组织有时可以将发布管理的某些内容外包。例如,用户沟通,发布的市场推广,用户培训,在假设测试中收集反馈等等。组织应该适当地管理那些合作伙伴和供应商活动,因为它们会直接影响用户的满意度和是否为此服务付费。 967 + 968 +组织之间的关系可能涉及各种级别的整合和形式。(有关组织之间的关系的更多信息,请参见ITIL®Foundation:ITIL 4 Edition的表3.1)。与发布管理中的合作伙伴的集成级别取决于合作的形式,应通过发布管理,供应商管理,关系管理,服务级别管理和其他相关实践来决定和管理合作的形式。 969 + 970 + 971 + 972 +---- 973 + 974 += **7 重要提醒** = 975 + 976 +实践指南中大部分内容都应作为组织在建立和培养自己的实践时可以尝试的不同领域的建议。实践指南是组织可以尝试的的事情的目录,而不是答案的列表。使用ITIL 实践指南的内容时,组织应始终遵循ITIL 指导原则: 977 + 978 +1. 聚焦价值 979 +1. 从你所处的地方开始 980 +1. 基于反馈迭代推进 981 +1. 协作和提升可视化程度 982 +1. 通盘思考和工作 983 +1. 保持简单实用 984 +1. 优化和自动化 985 + 986 +更多有关指导原则及其应用程序的信息,请参见以下内容的第4.3节。 987 + 988 +ITIL®基础:ITIL 4版出版物。 989 + 990 + 991 + 992 +---- 993 + 994 += **8 致谢** = 995 + 996 +AXELOS Ltd非常感谢为本指南的开发做出贡献的每一个人。这些实践指南融合了ITIL社区前所未有的热情和反馈。AXELOS特别要感谢以下人员。 997 + 998 + 999 +== **8.1 作家** == 1000 + 1001 +Vinod Kumar Agrasala, Konstantin Naryzhny, Roman Jouravlev 1002 + 1003 + 1004 +== **8.2 审稿人** == 1005 + 1006 +Oleg Skrynnik Jon Hall Anton Lykov, Samantha Robertson