图书介绍
持续交付2.0 业务引领的DevOps精要PDF|Epub|txt|kindle电子书版本下载
![持续交付2.0 业务引领的DevOps精要](https://www.shukui.net/cover/25/31323515.jpg)
- 乔梁著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115500014
- 出版时间:2019
- 标注页数:327页
- 文件大小:45MB
- 文件页数:349页
- 主题词:软件工程
PDF下载
下载说明
持续交付2.0 业务引领的DevOps精要PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 持续交付2.01
1.1软件工程发展概述1
1.1.1瀑布软件开发方法1
1.1.2敏捷软件开发方法2
1.1.3 DevOps运动3
1.1.4持续交付1.04
1.2持续交付2.07
1.2.1精益思想8
1.2.2双环模型9
1.2.3 4个核心原则11
1.2.4持续交付七巧板12
1.3小结13
第2章 价值探索环14
2.1探索环的意义14
2.2探索环的4个关键环节15
2.2.1提问16
2.2.2锚定17
2.2.3共创19
2.2.4精炼22
2.3工作原则24
2.3.1分解并快速试错24
2.3.2一次只验证一点25
2.3.3允许失败26
2.4共创与精炼的常用方法27
2.4.1装饰窗方法27
2.4.2最小可行特性法29
2.4.3特区法30
2.4.4定向探索法30
2.4.5稻草人法31
2.4.6最小可行产品法32
2.5实施注意事项32
2.6小结35
第3章 快速验证环36
3.1验证环的目标36
3.2验证环的4个关键环节37
3.2.1构建37
3.2.2运行38
3.2.3监测39
3.2.4决策39
3.3工作原则39
3.3.1质量内建39
3.3.2消除等待40
3.3.3重复事务自动化43
3.3.4监测一切43
3.4小结44
第4章 持续交付2.0的组织文化45
4.1安全、信任与持续改善45
4.1.1失败是安全的45
4.1.2相互信任45
4.1.3持续改善46
4.2文化塑造四步法46
4.2.1行为决定文化46
4.2.2谷歌的工程师质量文化48
4.2.3 Etsy的持续试验文化49
4.3行动原则50
4.3.1价值导向51
4.3.2快速验证51
4.3.3持续学习51
4.4度量原则55
4.4.1度量指标的4类属性56
4.4.2度量的目标是改善57
4.5“改善套路”进行持续改进57
4.6小结58
第5章 持续交付的软件系统架构60
5.1“大系统小做”原则61
5.1.1持续交付架构要求61
5.1.2系统拆分原则61
5.2常见架构模式62
5.2.1微核架构62
5.2.2微服务架构63
5.2.3巨石应用64
5.3架构改造实施模式66
5.3.1拆迁者模式67
5.3.2绞杀者模式68
5.3.3修缮者模式68
5.3.4数据库的拆分方法70
5.4小结70
第6章 业务需求协作管理72
6.1产品版本周期概述73
6.1.1准备期73
6.1.2交付期74
6.2需求拆分的利与弊75
6.2.1需求拆分的收益76
6.2.2需求拆分的成本78
6.3需求拆分方法79
6.3.1需求的来源80
6.3.2技术债也是需求80
6.3.3参与需求拆分的角色81
6.3.4不平等的INVEST原则82
6.3.5五大拆分技法82
6.3.6七大组成部分84
6.4需求分析与管理工具集85
6.4.1用户故事地图85
6.4.2用户故事树86
6.4.3依赖关系图87
6.4.4需求管理数字化平台87
6.5团队协作管理工具87
6.5.1团队共享日历88
6.5.2团队回顾89
6.5.3可视化故事墙90
6.5.4明确“完成”的定义90
6.5.5持续集成91
6.5.6故事验证91
6.6小结91
第7章 部署流水线原则与工具设计92
7.1简单的部署流水线92
7.1.1简单的产品研发流程92
7.1.2初始部署流水线93
7.1.3流水线执行状态解析95
7.2部署流水线的设计与使用95
7.2.1流水线的设计原则95
7.2.2团队的协作纪律97
7.3部署流水线平台的构成97
7.3.1工具链总体架构97
7.3.2平台应当具备的基本能力99
7.3.3工具链建设策略100
7.4基础支撑服务的云化100
7.4.1基础支撑服务的协作过程解析101
7.4.2编译构建管理服务103
7.4.3自动化测试管理服务104
7.4.4软件部署管理服务105
7.4.5基础环境管理服务106
7.5企业制品库的管理107
7.5.1制品库的分类107
7.5.2制品库的管理原则108
7.6多种多样的部署流水线108
7.6.1多组件的部署流水线108
7.6.2个人部署流水线109
7.6.3部署流水线的不断演进110
7.7为开发者构建自助式工具111
7.8小结113
第8章 利于集成的分支策略114
8.1版本控制系统的使用目的114
8.1.1集中式版本控制系统114
8.1.2分布式版本控制系统115
8.1.3版本控制系统中的基本概念117
8.2常见分支开发模式118
8.2.1主干开发,主干发布118
8.2.2主干开发,分支发布119
8.2.3分支开发,主干发布121
8.3分支模式的演化126
8.3.1三驾马车分支模式126
8.3.2 Gitflow分支模式127
8.3.3 GitHubFlow分支模式128
8.4分支策略的选择128
8.4.1版本发布模式128
8.4.2分支策略与发布周期的关系132
8.5小结133
第9章 持续集成134
9.1起源与定义134
9.1.1原始定义135
9.1.2一次集成过程135
9.2六步提交法136
9.2.1 4个关键点138
9.2.2同步与异步模式139
9.2.3自查表140
9.3速度与质量的权衡141
9.3.1分级构建142
9.3.2多人同时提交的构建142
9.3.3云平台的威力143
9.4在团队中实施持续集成实践145
9.4.1快速建立团队的持续集成实践146
9.4.2分支策略与部署流水线148
9.5常见的实施问题150
9.5.1工程师的开发习惯151
9.5.2视而不见的扫描问题151
9.5.3自动化测试用例的缺乏151
9.6小结152
第10章 自动化测试策略与方法153
10.1自动化测试的自身定位153
10.1.1自动化测试的优势154
10.1.2自动化测试所需的投入155
10.2突破传统自动化测试的困境156
10.2.1传统自动化测试的特点157
10.2.2自动化测试的分层157
10.2.3不同类型的测试金字塔160
10.3自动化测试的实施策略163
10.3.1增加自动化测试用例的着手点163
10.3.2提高自动化测试的执行次数164
10.3.3良好自动化测试的特征165
10.3.4共享自动化测试的维护职责166
10.3.5代码测试覆盖率167
10.4用户验收自动化测试要点168
10.4.1先搭建分层框架168
10.4.2测试用例数应保持低位171
10.4.3为自动化测试用例预留API171
10.4.4为调试做好准备171
10.4.5测试数据的准备171
10.5其他质量检查方法173
10.5.1差异批注测试方法173
10.5.2代码规范检查与代码动静态检测174
10.5.3 AI在测试领域的应用174
10.6小结175
第11章 软件配置管理176
11.1将一切纳入配置管理176
11.1.1配置管理目标176
11.1.2配置管理的范围177
11.1.3软件配置管理原则177
11.2软件包的版本管理181
11.2.1包管理的反模式181
11.2.2集中式包管理服务182
11.2.3软件包的元信息183
11.3包依赖管理185
11.3.1显式声明依赖185
11.3.2自动管理依赖187
11.3.3减少复杂依赖188
11.4环境基础设施管理191
11.4.1环境准备的4种状态191
11.4.2领域专属语言的应用197
11.4.3环境基础设施即代码198
11.5软件配置项的管理199
11.5.1二进制与配置项的分离199
11.5.2配置信息的版本管理200
11.5.3配置项的存储组织方式201
11.5.4配置漂移与治理202
11.6不可变基础设施与云应用203
11.6.1实现不可变基础设施203
11.6.2云原生应用206
11.6.3优势与挑战206
11.7数据的版本管理208
11.7.1数据库结构变更208
11.7.2数据文件208
11.8需求与源代码的版本关联209
11.9小结209
第12章 低风险发布211
12.1高频发布是一种趋势211
12.1.1互联网企业的高频发布212
12.1.2收益与成本共存214
12.2降低发布风险的方法215
12.2.1蓝绿部署215
12.2.2滚动部署216
12.2.3金丝雀发布与灰度发布217
12.2.4暗部署218
12.3高频发布支撑技术219
12.3.1功能开关技术220
12.3.2数据迁移技术222
12.3.3抽象分支方法225
12.3.4升级替代回滚226
12.4影响发布频率的因素227
12.5小结228
第13章 监测与决策229
13.1生产监测范围230
13.1.1后台服务的监测230
13.1.2分发软件的监测230
13.2数据监测体系231
13.2.1收集与处理231
13.2.2数据的标准化232
13.2.3监测数据体系及其能力衡量233
13.3问题处理体系235
13.3.1告警海洋与智能化管理235
13.3.2问题处理是一个学习过程236
13.4生产环境测试237
13.4.1测试活动扁平化趋势237
13.4.2生产环境中的测试239
13.4.3混沌工程239
13.5向东,还是向西240
13.6小结241
第14章 大型互联网团队的FT化242
14.1简介242
14.1.1改进前状态243
14.1.2改进后状态244
14.2改进方法论245
14.2.1指导思想245
14.2.2改进步骤245
14.3改进的历程246
14.3.1架构解耦246
14.3.2组织解耦248
14.3.3研发流程再造250
14.3.4自动化一切259
14.4小结260
第15章 小团队逆袭之旅262
15.1背景简介262
15.1.1改进前的“死亡行军”之旅264
15.1.2改进后的无缺陷交付264
15.2改进方法论265
15.2.1指导思想265
15.2.2试点团队的选择265
15.3第一阶段:研发准备期266
15.3.1功能简介与需求拆分266
15.3.2架构设计与需求依赖识别267
15.3.3工作量估算与排期268
15.4第二阶段:软件交付期270
15.4.1通过可视化看板改进工作流程270
15.4.2无缺陷交付277
15.4.3主干开发与持续集成278
15.4.4测试活动左移279
15.4.5代码评审279
15.4.6关注结果,更要关注过程280
15.5小结281
第16章 研发推动的DevOps283
16.1改进的关键点285
16.1.1改进方法论285
16.1.2定义改进目标285
16.2第一阶段:敏捷101287
16.2.1做个靠谱的计划287
16.2.2开发阶段启航291
16.2.3对过程质量的约束294
16.2.4阶段性改进点301
16.3第二阶段:DevOps转型302
16.3.1与运维人员的“冲突”303
16.3.2高频部署发布中的具体障碍304
16.3.3整体解决方案的设计304
16.3.4 DevOps阶段的团队改变308
16.4小结308
附录A 软件工程的三次进化310
附录B 排序法做相对估算323