第一部分DevOps和Agile的原则第1章DevOps和Agile概述2
1.1探索DevOps的目标2
1.2与DevOps相关的价值4
1.3DevOps解决的挑战6
1.4DevOps成熟期7
1.4.1瀑布式项目管理7
1.4.2持续集成9
1.4.3持续交付10
1.4.4持续部署10
1.5Agile如何在DevOps中发挥作用11
1.5.1Agile宣言12
1.5.2Agile能够和DevOps一起工作吗14
1.5.3处理计划外的工作14
1.5.4Scrum15
1.5.5组织内部的混合方法17
1.5.6规模化敏捷框架18
1.7总结20
第2章DevOps的业务优势、团队拓扑和陷阱21
2.1DevOps的主要业务优势21
2.2变换拓扑24
2.2.1开发和运营协作25
2.2.2共享操作26
2.2.3作为服务的DevOps27
2.2.4DevOps宣传28
2.2.5网站可靠性工程(SRE)29
2.2.6容器驱动30
2.3反模式转换31
2.3.1开发和运营孤岛31
2.3.2DevOps团队孤岛32
2.3.3Dev不需要Ops33
2.3.4团队只将DevOps作为工具33
2.3.5美化SysAdmin34
2.3.6开发团队中嵌入Ops35
2.4避免转型项目失败36
2.5解码失败的DevOps转换38
2.6总结40
2.7问题41
第3章衡量DevOps的成功42
3.1衡量成功的常用指标42
3.1.1速度衡量指标43
3.1.2通用质量衡量指标46
3.1.3通用稳定性度量48
3.2为团队设计指标50
3.2.1场景1——拥有专门DevOps团队的小型组织50
3.2.2情景2——具有倡导团队的中型组织51
3.2.3场景3——拥有众多DevOps团队的大型组织52
3.2.4场景4——具有外包DevOps团队的小型组织54
3.3在组织层级创建汇总55
3.4总结58
第二部分开发和构建成功的DevOps文化第4章建立DevOps文化与打破壁垒60
4.1什么是DevOps文化60
4.1.1角色和责任61
4.1.2参与规则62
4.1.3回顾63
4.2为什么DevOps文化很重要64
4.2.1提高透明度65
4.2.2更好地沟通67
4.2.3跨团队协作69
4.3保持强大的DevOps文化70
4.3.1新手和离职者70
4.3.2太努力反而不能成功71
4.3.3缺乏创新72
4.3.4文化差异73
4.3.5缺乏认可73
4.4打破组织中的壁垒74
4.5总结76
4.6问题76
第5章避免DevOps中的文化冲突反模式78
5.1组织一致性78
5.2变革的阻力80
5.2.1理解组织变革的作用80
5.2.2组织变革过程步骤81
5.2.3克服阻力84
5.2.4沟通中断86
5.3扩大规模的挑战87
5.4过度关注工具90
5.4.1多少自动化算太多90
5.4.2平衡91
5.5恰当使用原有基础设施和系统93
5.6总结94
5.7问题94
第三部分推动变革以使组织流程变得更加成熟第6章使用价值流图推动流程变革97
6.1了解价值流图97
6.1.1超越DevOps进行流程改进98
6.1.2查看价值流图99
6.2价值流图的作用103
6.2.1价值流图的挑战103
6.2.2价值流图的用例104
6.2.3识别和减少浪费105
6.3流程图和价值流图之间的差异107
6.4价值流图示例110
6.4.1创建价值流图110
6.4.2当前状态价值流图112
6.4.3未来状态价值流图114
6.5总结116
6.6问题116
第7章在组织中实现流程变革118
7.1有效变革的8个步骤118
7.2变更商业模式121
7.2.1Kotter的变更管理模型121
7.2.2Roger的技术采用曲线123
7.2.3ADKAR模型124
7.2.4EASIER模型125
7.3人对过程变革的影响125
7.3.1直接影响126
7.3.2间接影响127
7.4流程变革的共同挑战129
7.5总结131
7.6问题131
第8章流程的持续改进133
8.1持续改进和反馈的含义133
8.1.1建立持续改进的文化133
8.1.2理解和实施改善的原则134
8.1.3建立持续的反馈文化135
8.2持续改进和反馈的技巧137
8.2.1持续改进过程138
8.2.2其他持续改进技术140
8.2.3持续反馈过程141
8.2.4额外的连续反馈技术141
8.3迭代对流程的更改142
8.3.1迭代设计过程143
8.3.2迭代设计的好处143
8.4跟上变化144
8.4.1有效沟通145
8.4.2知识转移145
8.4.3接触专家146
8.5总结146
8.6问题147
第四部分实施和部署DevOps工具第9章了解DevOps的技术堆栈149
9.1DevOps工具149
9.2工具如何帮助DevOps应用153
9.2.1选择促进合作的工具153
9.2.2使用加强沟通的工具154
9.2.3使用带有API的工具155
9.2.4始终鼓励学习156
9.2.5避免使用特定于环境的工具157
9.3了解DevOps工具的好处157
9.4DevOps工具的问题161
9.5总结164
9.6问题164
第10章制定实施工具的策略165
10.1了解体系结构和安全需求165
10.1.1企业架构很重要166
10.1.2信息安全很重要168
1.1.3了解企业架构需求171
10.2制定培训计划172
10.2.1培训计划很重要172
10.2.2为团队制定培训计划174
10.3定义工具的所有者和流程177
10.4总结178
10.5问题179
第11章DevOps的主要趋势180
11.1XOps生态系统180
11.1.1XOps是从哪里开始的181
11.1.2XOps环境182
11.1.3XOps方法184
11.2DataOps生态系统184
11.2.1DataOps涉及的流程186
11.2.2DataOps涉及的工具187
11.3DevSecOps生态系统188
11.3.1DevSecOps涉及的流程190
11.3.2DevSecOps涉及的工具192
11.4GitOps生态系统194
11.4.1GitOps涉及的流程195
11.4.2GitOps涉及的工具196
11.5总结197
11.6问题197
第12章在现实组织中实施DevOps198
12.1组织为何迁移到DevOps198
12.2定义虚构的组织202
12.3DevOps转型演练204
12.4评估现有能力209
12.5执行转型练习212
12.5.1巧克力、乐高和Scrum游戏213
12.5.2敏捷214
12.5.3向敏捷工作转变215
12.5.4重组团队结构217
12.5.5实施DevOps实践220
12.5.6反馈循环221
12.6总结222