书籍详情
大规模组织DevOps实践(第2版)
作者:陈能技,金宗杰
出版社:电子工业出版社
出版时间:2023-12-01
ISBN:9787121466298
定价:¥90.00
购买这本书可以去
内容简介
DevOps是开发运维一体化的软件工程思想,它尝试打破部门墙,构建一个协同的IT建设运行环境,通过工具链形成数据关联的规范化、规模化的软件持续交付流水线,从而助力企业业务的敏捷发展。 本书分为思想篇、实践方法篇、工具技术篇、案例篇四部分,把传统企业实施DevOps会碰到的困惑,在开发、测试、运维三大领域各有哪些DevOps最佳实践,以及如何结合开源或商业工具打造交付流水线工具链,分别进行了阐述, 本书适合IT主管、项目经理及开发、测试、配置管理、运维等IT从业人员参考借鉴并付诸实践。
作者简介
陈能技 20年IT从业经验,历经测试工程师、QA、项目经理、培训讲师、咨询顾问、架构师、技术总监等职位,亲历手工作坊式软件团队到专业化交付工程团队的发展过程。《软件测试技术大全》《性能测试诊断分析与优化》《自动化测试成功之道》等多本IT畅销书作者。曾任多家公司DevOps售前顾问及解决方案总监、产品经理,工信部 ITSS工作组DevOps专家组组长,目前专注于研究DevOps、DevSecOps、GitOps以及软件专业化交付能力。金宗杰 20年IT从业经历,10年传统和敏捷项目管理经验,历经测试工程师、测试经理、测试总监、项目经理、培训讲师、DevOps解决方案总监等职位,有多个大型项目的管理经验,能独立操盘项目全盘事务。致力于瀑布、CMMI、敏捷、DevOps流程及相关实践,并能够有效推广敏捷、搭建DevOps、效能等项目管理平台,拥有信息系统项目管理师、PMI-PMP、PMI-ACP、DevOps Master等证书。
目录
第一部分 思想篇
第1章 软件工厂 2
1.1 软件的生产力 2
1.2 软件工厂——软件的标准化生产 3
1.2.1 标准化生产模式需要一个集成底座——PaaS 4
1.2.2 标准化软件生产流水线 5
第2章 DevOps思想 7
2.1 DevOps思想与生产流水线 7
2.1.1 DevOps的起源 7
2.1.2 DevOps对软件工厂的启发 8
2.1.3 从DevOps实践原则看软件生产工艺化水平的提高 8
2.1.4 软件工厂模式对生产工具发展的促进作用 9
2.2 从瀑布到敏捷 9
2.2.1 传统项目管理问题 10
2.2.2 向互联网企业学习的敏捷 11
2.2.3 敏捷的起源 12
2.2.4 瀑布模型 13
2.2.5 传统企业不可能全盘敏捷化 13
2.2.6 从版本上线过程管理看敏捷与瀑布 14
2.2.7 敏捷的前提是“不敏捷” 15
2.3 敏捷与DevOps核心思想 16
2.3.1 增量开发与测试 16
2.3.2 持续集成与持续交付 16
2.3.3 自动化 18
2.4 规模化的敏捷 19
2.4.1 从敏捷项目管理到敏捷项目群管理 19
2.4.2 企业规模化敏捷思想 20
2.4.3 规模化敏捷方法——SAFe 21
2.4.4 规模化敏捷开发的最佳实践 24
2.5 企业规模化敏捷与软件工厂 26
2.5.1 软件生产环境 26
2.5.2 软件工厂生产环境管理——开发测试云 28
2.5.3 整合环境仿真 31
2.5.4 不可忽略的办公环境因素 36
2.5.5 软件工厂质量检测——深度自动化测试装置 37
第二部分 实践方法篇
第3章 DevOps体系的建立 42
3.1 构建DevOps流水线,打通开发—测试—运维持续交付通道 42
3.2 敏捷开发知识体系 43
3.3 Scrum框架 43
3.3.1 Scrum的三类主要角色 44
3.3.2 Scrum的三份主要工件 45
3.3.3 Scrum的五项主要活动 45
3.3.4 Scrum的五个价值观 46
3.4 敏捷、DevOps与协作 46
3.5 开发域DevOps实践 47
3.5.1 敏捷需求 47
3.5.2 传统需求分析 47
3.5.3 敏捷需求方法 48
3.5.4 面向敏捷的架构设计 52
3.5.5 向微服务架构迁移的基本做法 53
3.5.6 向微服务架构迁移的低风险演进方法 54
3.5.7 微服务架构设计模式 63
3.5.8 敏捷开发 66
3.5.9 分支策略 66
3.5.10 依赖包管理 67
3.5.11 技术债务 68
3.5.12 技术债务的形成 68
3.5.13 技术债务的分类 68
3.5.14 技术债务与质量投资 69
3.5.15 技术债务处理方法 70
3.5.16 持续集成 73
3.5.17 持续集成最佳实践 75
3.5.18 企业持续集成实施方法 77
3.6 测试域DevOps实践 79
3.6.1 敏捷测试环境管理 79
3.6.2 业界关于测试环境管理的实践 80
3.6.3 测试如何纳入持续集成体系中 82
3.6.4 敏捷测试方法与传统测试方法的不同之处 86
3.6.5 敏捷测试人员的定义 86
3.6.6 敏捷测试过程管理 87
3.6.7 敏捷测试团队管理 91
3.7 运维域DevOps实践 91
3.7.1 敏捷基础设施 91
3.7.2 自动化部署 92
3.7.3 自动化部署的要素 93
3.7.4 部署常见场景及问题 94
3.7.5 部署服务工具链 94
3.7.6 资源部署 95
3.7.7 自动化资源部署 95
3.7.8 应用部署 97
3.7.9 应用交付容器化 98
3.7.10 应用容器化改造 98
3.7.11 不中断服务的部署方法 99
3.7.12 敏捷运维 101
第4章 DevOps的有效实践 104
4.1 敏捷模式与传统企业研发模式的结合 104
4.2 敏捷模式与传统ISO、CMMI标准规范的兼容 105
4.2.1 需求获取 105
4.2.2 方案制定 107
4.2.3 生产任务排期 109
4.2.4 迭代前准备 109
4.2.5 基础框架搭建 115
4.2.6 迭代实施 115
4.2.7 验收测试 124
4.2.8 投产 125
4.3 敏捷与DevOps基础实践 125
4.3.1 SRE与发布工程 125
4.3.2 配置管理——版本管理 130
4.3.3 配置管理——发布包制作规范 133
4.3.4 缺陷管理 134
4.3.5 缺陷预防 135
4.3.6 迭代周期的时间 136
4.4 敏捷与DevOps反模式 137
4.4.1 急功近利 137
4.4.2 跨部门协作的浪费 138
4.4.3 持续集成“坏味道” 139
4.4.4 手工完成所有部署 140
4.4.5 开发与运维各一套自动化部署系统 141
4.4.6 重建数据库比较困难 142
第三部分 工具技术篇
第5章 精准测试技术 144
5.1 什么是精准测试技术 144
5.1.1 传统测试方法面临大型软件时的问题与瓶颈 144
5.1.2 传统白盒测试方法的问题 145
5.1.3 开发团队和测试团队协同工作难 145
5.1.4 精准测试方法解决的问题 146
5.1.5 精准测试的工作模式与工作原理 146
5.2 精准测试云平台 147
5.2.1 测试复杂度分析 147
5.2.2 测试复杂度种类 148
5.2.3 覆盖率分析 149
5.2.4 软件内部逻辑结构可视化 153
5.2.5 函数列表功能说明 156
5.2.6 覆盖率可视化 157
5.2.7 动态实时测试监控 159
5.2.8 Bug管理系统 159
5.2.9 Bug与崩溃代码级捕获 160
5.2.10 双向追溯 162
5.2.11 多版本与累计覆盖率 164
5.2.12 智能的回归测试用例选取分析算法 165
5.2.13 测试用例的聚类分析算法 166
5.3 精准测试与度量分析 167
5.3.1 获取度量信息 167
5.3.2 项目度量指标 167
5.3.3 项目汇总 169
5.3.4 测试用例 171
5.3.5 测试人、测试机 175
5.3.6 测试Bug 177
5.3.7 覆盖率 179
5.3.8 函数、类、包复杂度统计 183
5.3.9 测试覆盖率漏洞的智能分析 184
第6章 双模发布管理平台的设计与应用 186
6.1 产生背景 186
6.1.1 传统企业数字化转型浪潮下的双模挑战 186
6.1.2 双模发布管理平台 187
6.2 双模发布管理平台设计 188
6.2.1 设计思路 188
6.2.2 架构设计 189
6.3 案例及功能说明 191
6.3.1 案例背景介绍 191
6.3.2 痛点诊断及建设目标 192
6.3.3 功能说明 192
第7章 API全生命周期解决方案 205
7.1 API管理的发展趋势 205
7.2 API工厂 206
7.2.1 基于数据源的API生成 206
7.2.2 数据安全管理 207
7.2.3 低代码API开发 208
7.3 API管理与API测试 209
7.3.1 API全生命周期管理 209
7.3.2 统一的API协同管理平台 212
7.3.3 零代码自动化测试 212
7.3.4 数据驱动API测试 215
7.4 API运维:监控与网关 216
7.4.1 API网络监控的价值 216
7.4.2 API网关的设计 218
7.4.3 API网关的应用 219
7.5 API开放平台 221
7.5.1 API能力开放 221
7.5.2 API开放平台的应用 223
第8章 云原生技术应用 224
8.1 功能架构 224
8.2 核心能力 225
8.2.1 多租户管理 225
8.2.2 资源调度管理 226
8.2.3 多集群管理 228
8.2.4 镜像管理 228
8.2.5 服务管理 229
8.2.6 微服务架构管理 230
8.2.7 一体化开发交付管理 231
8.2.8 智能运维 234
8.2.9 组件服务 235
8.2.10 安全管理 236
8.2.11 混沌能力 237
8.3 应用场景 237
8.4 应用案例 239
第四部分 案例篇
第9章 持续集成实践案例 242
9.1 项目背景 242
9.2 解决方案 242
9.2.1 持续集成简介 242
9.2.2 应用持续集成解决某局的开发项目问题 244
9.2.3 持续集成基础技术框架 245
9.2.4 方案优势 248
第10章 构建有价值的研发效能度量 249
10.1 研发效能度量,为什么难做好 249
10.2 合理可信的度量方法 251
10.2.1 重新理解效能度量 251
10.2.2 面向场景设计效能度量 253
10.3 效能度量及提升案例 256
10.3.1 案例1 256
10.3.2 案例2 260
10.4 总结 262
第1章 软件工厂 2
1.1 软件的生产力 2
1.2 软件工厂——软件的标准化生产 3
1.2.1 标准化生产模式需要一个集成底座——PaaS 4
1.2.2 标准化软件生产流水线 5
第2章 DevOps思想 7
2.1 DevOps思想与生产流水线 7
2.1.1 DevOps的起源 7
2.1.2 DevOps对软件工厂的启发 8
2.1.3 从DevOps实践原则看软件生产工艺化水平的提高 8
2.1.4 软件工厂模式对生产工具发展的促进作用 9
2.2 从瀑布到敏捷 9
2.2.1 传统项目管理问题 10
2.2.2 向互联网企业学习的敏捷 11
2.2.3 敏捷的起源 12
2.2.4 瀑布模型 13
2.2.5 传统企业不可能全盘敏捷化 13
2.2.6 从版本上线过程管理看敏捷与瀑布 14
2.2.7 敏捷的前提是“不敏捷” 15
2.3 敏捷与DevOps核心思想 16
2.3.1 增量开发与测试 16
2.3.2 持续集成与持续交付 16
2.3.3 自动化 18
2.4 规模化的敏捷 19
2.4.1 从敏捷项目管理到敏捷项目群管理 19
2.4.2 企业规模化敏捷思想 20
2.4.3 规模化敏捷方法——SAFe 21
2.4.4 规模化敏捷开发的最佳实践 24
2.5 企业规模化敏捷与软件工厂 26
2.5.1 软件生产环境 26
2.5.2 软件工厂生产环境管理——开发测试云 28
2.5.3 整合环境仿真 31
2.5.4 不可忽略的办公环境因素 36
2.5.5 软件工厂质量检测——深度自动化测试装置 37
第二部分 实践方法篇
第3章 DevOps体系的建立 42
3.1 构建DevOps流水线,打通开发—测试—运维持续交付通道 42
3.2 敏捷开发知识体系 43
3.3 Scrum框架 43
3.3.1 Scrum的三类主要角色 44
3.3.2 Scrum的三份主要工件 45
3.3.3 Scrum的五项主要活动 45
3.3.4 Scrum的五个价值观 46
3.4 敏捷、DevOps与协作 46
3.5 开发域DevOps实践 47
3.5.1 敏捷需求 47
3.5.2 传统需求分析 47
3.5.3 敏捷需求方法 48
3.5.4 面向敏捷的架构设计 52
3.5.5 向微服务架构迁移的基本做法 53
3.5.6 向微服务架构迁移的低风险演进方法 54
3.5.7 微服务架构设计模式 63
3.5.8 敏捷开发 66
3.5.9 分支策略 66
3.5.10 依赖包管理 67
3.5.11 技术债务 68
3.5.12 技术债务的形成 68
3.5.13 技术债务的分类 68
3.5.14 技术债务与质量投资 69
3.5.15 技术债务处理方法 70
3.5.16 持续集成 73
3.5.17 持续集成最佳实践 75
3.5.18 企业持续集成实施方法 77
3.6 测试域DevOps实践 79
3.6.1 敏捷测试环境管理 79
3.6.2 业界关于测试环境管理的实践 80
3.6.3 测试如何纳入持续集成体系中 82
3.6.4 敏捷测试方法与传统测试方法的不同之处 86
3.6.5 敏捷测试人员的定义 86
3.6.6 敏捷测试过程管理 87
3.6.7 敏捷测试团队管理 91
3.7 运维域DevOps实践 91
3.7.1 敏捷基础设施 91
3.7.2 自动化部署 92
3.7.3 自动化部署的要素 93
3.7.4 部署常见场景及问题 94
3.7.5 部署服务工具链 94
3.7.6 资源部署 95
3.7.7 自动化资源部署 95
3.7.8 应用部署 97
3.7.9 应用交付容器化 98
3.7.10 应用容器化改造 98
3.7.11 不中断服务的部署方法 99
3.7.12 敏捷运维 101
第4章 DevOps的有效实践 104
4.1 敏捷模式与传统企业研发模式的结合 104
4.2 敏捷模式与传统ISO、CMMI标准规范的兼容 105
4.2.1 需求获取 105
4.2.2 方案制定 107
4.2.3 生产任务排期 109
4.2.4 迭代前准备 109
4.2.5 基础框架搭建 115
4.2.6 迭代实施 115
4.2.7 验收测试 124
4.2.8 投产 125
4.3 敏捷与DevOps基础实践 125
4.3.1 SRE与发布工程 125
4.3.2 配置管理——版本管理 130
4.3.3 配置管理——发布包制作规范 133
4.3.4 缺陷管理 134
4.3.5 缺陷预防 135
4.3.6 迭代周期的时间 136
4.4 敏捷与DevOps反模式 137
4.4.1 急功近利 137
4.4.2 跨部门协作的浪费 138
4.4.3 持续集成“坏味道” 139
4.4.4 手工完成所有部署 140
4.4.5 开发与运维各一套自动化部署系统 141
4.4.6 重建数据库比较困难 142
第三部分 工具技术篇
第5章 精准测试技术 144
5.1 什么是精准测试技术 144
5.1.1 传统测试方法面临大型软件时的问题与瓶颈 144
5.1.2 传统白盒测试方法的问题 145
5.1.3 开发团队和测试团队协同工作难 145
5.1.4 精准测试方法解决的问题 146
5.1.5 精准测试的工作模式与工作原理 146
5.2 精准测试云平台 147
5.2.1 测试复杂度分析 147
5.2.2 测试复杂度种类 148
5.2.3 覆盖率分析 149
5.2.4 软件内部逻辑结构可视化 153
5.2.5 函数列表功能说明 156
5.2.6 覆盖率可视化 157
5.2.7 动态实时测试监控 159
5.2.8 Bug管理系统 159
5.2.9 Bug与崩溃代码级捕获 160
5.2.10 双向追溯 162
5.2.11 多版本与累计覆盖率 164
5.2.12 智能的回归测试用例选取分析算法 165
5.2.13 测试用例的聚类分析算法 166
5.3 精准测试与度量分析 167
5.3.1 获取度量信息 167
5.3.2 项目度量指标 167
5.3.3 项目汇总 169
5.3.4 测试用例 171
5.3.5 测试人、测试机 175
5.3.6 测试Bug 177
5.3.7 覆盖率 179
5.3.8 函数、类、包复杂度统计 183
5.3.9 测试覆盖率漏洞的智能分析 184
第6章 双模发布管理平台的设计与应用 186
6.1 产生背景 186
6.1.1 传统企业数字化转型浪潮下的双模挑战 186
6.1.2 双模发布管理平台 187
6.2 双模发布管理平台设计 188
6.2.1 设计思路 188
6.2.2 架构设计 189
6.3 案例及功能说明 191
6.3.1 案例背景介绍 191
6.3.2 痛点诊断及建设目标 192
6.3.3 功能说明 192
第7章 API全生命周期解决方案 205
7.1 API管理的发展趋势 205
7.2 API工厂 206
7.2.1 基于数据源的API生成 206
7.2.2 数据安全管理 207
7.2.3 低代码API开发 208
7.3 API管理与API测试 209
7.3.1 API全生命周期管理 209
7.3.2 统一的API协同管理平台 212
7.3.3 零代码自动化测试 212
7.3.4 数据驱动API测试 215
7.4 API运维:监控与网关 216
7.4.1 API网络监控的价值 216
7.4.2 API网关的设计 218
7.4.3 API网关的应用 219
7.5 API开放平台 221
7.5.1 API能力开放 221
7.5.2 API开放平台的应用 223
第8章 云原生技术应用 224
8.1 功能架构 224
8.2 核心能力 225
8.2.1 多租户管理 225
8.2.2 资源调度管理 226
8.2.3 多集群管理 228
8.2.4 镜像管理 228
8.2.5 服务管理 229
8.2.6 微服务架构管理 230
8.2.7 一体化开发交付管理 231
8.2.8 智能运维 234
8.2.9 组件服务 235
8.2.10 安全管理 236
8.2.11 混沌能力 237
8.3 应用场景 237
8.4 应用案例 239
第四部分 案例篇
第9章 持续集成实践案例 242
9.1 项目背景 242
9.2 解决方案 242
9.2.1 持续集成简介 242
9.2.2 应用持续集成解决某局的开发项目问题 244
9.2.3 持续集成基础技术框架 245
9.2.4 方案优势 248
第10章 构建有价值的研发效能度量 249
10.1 研发效能度量,为什么难做好 249
10.2 合理可信的度量方法 251
10.2.1 重新理解效能度量 251
10.2.2 面向场景设计效能度量 253
10.3 效能度量及提升案例 256
10.3.1 案例1 256
10.3.2 案例2 260
10.4 总结 262
猜您喜欢