包邮 DevOps-原理、方法与实践+软件架构师行动指南 2本 运维开发编程教程书籍

包邮 DevOps-原理、方法与实践+软件架构师行动指南 2本 运维开发编程教程书籍 pdf epub mobi txt 电子书 下载 2025

荣国平,伦恩·拜斯 著
图书标签:
  • DevOps
  • 运维
  • 开发
  • 软件架构
  • 编程
  • 技术教程
  • 图书
  • 包邮
  • 运维开发
  • 实践指南
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 旷氏文豪图书专营店
出版社: 机械工业出版社
ISBN:9787111581918
商品编码:19270404834

具体描述

YL11317  9787111581918 9787111562610

DevOps:原理、方法与实践

本书是1本全面系统介绍DevOps方法和实践的教材,尽可能覆盖DevOps这种互联网时代新型开发模式的理论、方法、实践以及工具等多个方面。全书1部分首先从时代背景出发,介绍DevOps模式的渊源,然后结合云时代运维的特征,进一步阐明DevOps模式是适应当前软件系统开发、部署和维护的必然选择;第二部分介绍了主流软件开发方法及其流程,重点关注精益生产和看板方法;第三部分则阐述了DevOps模式下的典型实践,例如微服务架构、持续集成、持续交付(部署)、虚拟化、Docker容器、自动化等。
本书可以作为高等院校软件工程或者计算机**高年级本科生及研究生的教材使用,也适合软件产业的研发和运维人员参考阅读。
赞誉 
序 
前言 
第1章 DevOps概述 …… 1
1.1 互联网时代的转型挑战 …… 1
1.2 独角兽公司 …… 4
1.2.1 Netflix公司 …… 4
1.2.2 Instagram …… 8
1.2.3 成功秘诀 …… 9
1.3 什么是DevOps …… 10
1.3.1 发展渊源 …… 10
1.3.2 价值观 …… 12
1.3.3 原则 …… 13
1.3.4 方法 …… 15
1.3.5 实践 …… 16
1.3.6 工具 …… 16
1.4 DevOps应用与研究现状 …… 17
1.4.1 微服务 …… 17
1.4.2 持续集成和持续交付 …… 19
1.4.3 工具研究和开发 …… 21
本章小结 …… 23
思考题 …… 23
参考文献 …… 23
第2章 云时代的运维 …… 26
2.1 云计算概述 …… 26
2.1.1 IaaS …… 26
2.1.2 PaaS …… 28
2.1.3 SaaS …… 29
2.1.4 XaaS …… 30
2.2 IT服务标准介绍 …… 30
2.2.1 CMMI-SVC …… 30
2.2.2 ITIL …… 33
2.2.3 ISO20000 …… 33
2.2.4 ITSS …… 36
2.3 什么是运维 …… 39
2.3.1 运维的价值 …… 39
2.3.2 运维的技术与技能 …… 40
2.3.3 传统运维的转型之路 …… 40
本章小结 …… 41
思考题 …… 41
参考文献 …… 42
第3章 软件架构演进 …… 44
3.1 软件架构概述 …… 44
3.1.1 什么是软件架构 …… 44
3.1.2 软件架构的目标 …… 46
3.1.3 软件架构的不同视角 …… 46
3.2 软件架构的演进 …… 51
3.2.1 传统软件架构的演进 …… 51
3.2.2 流量爆炸时代的大型互联网软件架构 …… 54
3.2.3 互联网软件架构演进实例 …… 60
本章小结 …… 66
思考题 …… 67
参考文献 …… 67
更多阅读 …… 67
第4章 软件开发过程和方法 …… 68
4.1 软件过程概述 …… 68
4.1.1 软件开发方法发展历史 …… 69
4.1.2 软件过程的多维视角 …… 77
4.2 个体过程和实践 …… 79
4.2.1 PSP过程基本原则 …… 80
4.2.2 PSP过程度量 …… 81
4.2.3 PROBE估算原理 …… 82
4.2.4 PROBE估算流程 …… 83
4.2.5 通用计划框架 …… 85
4.2.6 PSP质量与质量策略 …… 87
4.2.7 评审与测试 …… 88
4.2.8 评审过程质量 …… 89
4.2.9 设计与质量 …… 98
4.2.10 设计过程 …… 100
4.2.11 设计的层次 …… 101
4.3 小组过程和实践 …… 102
4.3.1 XP实践 …… 102
4.3.2 Scrum方法 …… 105
4.3.3 TSP过程 …… 106
4.4 软件过程改进 …… 108
4.4.1 元模型 …… 108
4.4.2 过程改进参考模型与标准 …… 112
4.5 DevOps中的开发过程和方法 …… 121
本章小结 …… 121
思考题 …… 121
参考文献 …… 122
第5章 精益思想和看板方法 …… 124
5.1 从精益思想说起 …… 124
5.1.1 精益起源于丰田 …… 124
5.1.2 精益实践的传播 …… 124
5.1.3 精益作为方法学开始**越生产制造 …… 126
5.1.4 上升至精益的价值观 …… 126
5.2 精益的三个层面 …… 128
5.3 精益产品开发实践体系 …… 129
5.3.1 精益产品开发的目标 …… 129
5.3.2 精益产品开发的原则 …… 130
5.3.3 精益产品开发的运作实践 …… 131
5.4 看板方法的起源 …… 132
5.4.1 看板的中文意思带来误解 …… 132
5.4.2 看板是精益制造系统的核心工具 …… 133
5.4.3 看板形成拉式生产方式 …… 135
5.5 什么是产品开发中的看板方法 …… 136
5.5.1 产品开发中的看板方法的诞生 …… 136
5.5.2 看板方法的1组实践—建立看板系统的3个实践 …… 136
5.5.3 看板方法的第二组实践—运作看板系统的2个实践 …… 140
本章小结 …… 142
思考题 …… 142
参考文献 …… 143
第6章 微服务软件架构 …… 144
6.1 软件架构的发展 …… 144
6.1.1 单体架构 …… 144
6.1.2 分层架构 …… 144
6.1.3 SOA架构 …… 146
6.1.4 分布式架构 …… 148
6.2 现代应用的12范式 …… 150
6.3 什么是微服务架构 …… 150
6.4 微服务架构的特征 …… 151
6.4.1 通过服务组件化 …… 152
6.4.2 围绕业务能力组织 …… 152
6.4.3 是产品不是项目 …… 153
6.4.4 智能端点和哑管道 …… 153
6.4.5 去中心化治理 …… 154
6.4.6 去中心化数据管理 …… 154
6.4.7 基础设施自动化 …… 155
6.4.8 为失效设计 …… 155
6.4.9 进化式设计 …… 155
6.5 微服务核心模式 …… 156
6.5.1 服务注册与发现 …… 156
6.5.2 配置中心 …… 157
6.5.3 API网关 …… 157
6.5.4 熔断器 …… 158
6.5.5 分布式追踪 …… 160
本章小结 …… 161
思考题 …… 162
参考文献 …… 162
第7章 容器技术基础 …… 163
7.1 内核基础 …… 163
7.1.1 Linux namespace …… 164
7.1.2 Linux CGroup …… 168
7.2 Docker架构概览 …… 169
7.2.1 Client …… 170
7.2.2 Docker Daemon …… 171
7.2.3 Docker Registry …… 172
7.2.4 Graph …… 173
7.2.5 Driver …… 173
7.2.6 libcontainer …… 173
7.3 镜像管理 …… 174
7.3.1 什么是Docker镜像 …… 174
7.3.2 Dockerfile、Docker镜像和Docker容器的关系 …… 174
7.3.3 Dockerfile …… 176
7.4 Docker网络管理 …… 178
7.4.1 Docker网络模式 …… 178
7.4.2 libnetwork和Docker网络 …… 179
7.4.3 Docker的内置Overlay网络 …… 180
7.5 Docker存储 …… 181
7.5.1 Docker存储驱动 …… 181
7.5.2 Docker驱动比较 …… 182
7.6 Docker编排 …… 183
7.6.1 Docker Swarm …… 183
7.6.2 Kubernetes …… 185
本章小结 …… 186
思考题 …… 186
参考文献 …… 187
第8章 基于容器技术的DevOps实践 …… 188
8.1 概述 …… 188
8.2 代码管理 …… 188
8.2.1 Git介绍 …… 190
8.2.2 Git工作流程 …… 191
8.3 持续交付流水线 …… 194
8.3.1 预备步骤 …… 194
8.3.2 实现持续交付流水线 …… 199
8.3.3 持续交付*佳实践 …… 201
8.3.4 检查列表 …… 204
8.4 持续集成工具 …… 205
8.4.1 传统的CI工具 …… 205
8.4.2 云计算环境中的CI工具 …… 206
8.4.3 用于移动应用的CI工具 …… 206
8.4.4 使用Docker的CI工具 …… 207
8.5 Java应用持续交付实践举例 …… 207
8.5.1 持续集成 …… 207
8.5.2 持续部署 …… 209
8.5.3 版本管理 …… 211
本章小结 …… 212
思考题 …… 212
参考文献 …… 212
第9章 DevOps工具集 …… 214
9.1 概述 …… 214
9.2 协同开发工具 …… 215
9.2.1 JIRA …… 215
9.2.2 Kanboard …… 216
9.2.3 Rally …… 218
9.3 持续集成工具 …… 219
9.3.1 Jenkins …… 219
9.3.2 Bamboo …… 220
9.3.3 Travis CI …… 220
9.4 版本管理工具 …… 221
9.4.1 Git …… 221
9.4.2 GitHub …… 223
9.4.3 GitLab …… 223
9.4.4 Subversion …… 223
9.4.5 Mercurial …… 223
9.5 编译工具 …… 224
9.5.1 Ant …… 224
9.5.2 Maven …… 225
9.5.3 Gradle …… 226
9.5.4 MSBuild …… 226
9.6 配置管理工具 …… 227
9.6.1 Chef …… 227
9.6.2 Puppet …… 228
9.6.3 Ansible …… 228
9.7 测试工具 …… 228
9.7.1 JUnit …… 228
9.7.2 Selenium …… 229
9.7.3 Cucumber …… 229
9.7.4 FitNesse …… 230
9.8 监控工具 …… 231
9.8.1 Nagios …… 231
9.8.2 Zabbix …… 231
9.9 工具网址 …… 232 

DevOps:软件架构师行动指南

《DevOps:软件架构师行动指南》从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维、部署流水线、监控、安全与审计以及质量关注。通过三个**案例研究,讲解在不同场景下应用DevOps实践的方法,对于想应用DevOps实践的组织提供切实的指导。

  全书共五部分。1部分(第1~3章)讨论DevOps的背景,包括DevOps的目标和期望使用DevOps解决的问题、云、运维等。第二部分(第4~6章)介绍部署流水线,从功能性视角介绍部署实践的内容,涵盖微服务架构风格、构建和测试过程、工具链,以及具体的部署问题。第三部分(第7~10章)介绍横切关注点,讨论了计算监控、实时测试、安全与安全审计,以及部署流水线的性能、可靠性、可修改性等。还介绍了业务关注点,包括为引进DevOps所需要准备的业务计划的组成元素,以及如何进行论证、推出和测量业务计划。第四部分(第11~13章)描述3个案例研究:为了实现业务连续性如何维护两个数据中心,管理一个持续部署流水线,一个组织如何迁移到微服务架构上。第五部分(第14~15章)设想evOps的未来,介绍了目前的研究以及如何基于把运维视作一系列过程来进行,并给出了3~5年内DevOps将如何发展的预测。

前言

1部分 背  景

第1章 DevOps是什么 …… 2

1.1 概述 …… 2

1.1.1 定义DevOps …… 2

1.1.2 DevOps实践 …… 3

1.1.3 持续部署的例子:IMVU …… 5

1.2 为什么是DevOps …… 5

1.2.1 发布过程 …… 5

1.2.2 配合不佳的原因 …… 7

1.2.3 运维人员能力有限 …… 7

1.3 DevOps视角 …… 8

1.3.1 自动化 …… 8

1.3.2 开发团队的职责 …… 9

1.4 DevOps与敏捷 …… 9

1.5 团队结构 …… 10

1.5.1 团队规模 …… 10

1.5.2 团队角色 …… 10

1.6 协作 …… 13

1.6.1 协作的形式 …… 13

1.6.2 团队协作 …… 14

1.6.3 跨团队协作 …… 14

1.7 障碍 …… 15

1.7.1 文化及组织类型 …… 15

1.7.2 部门类型 …… 16

1.7.3 筒仓思维方式(Silo Mentality) …… 17

1.7.4 工具支持 …… 17

1.7.5 人员问题 …… 17

1.8 小结 …… 18

1.9 更多阅读材料 …… 18

第2章 云即平台 …… 20

2.1 概述 …… 20

2.2 云的特性 …… 21

2.2.1 虚拟化 …… 22

2.2.2 IP和域名系统管理 …… 23

2.2.3 平台即服务 …… 25

2.2.4 分布式环境 …… 25

2.3 独特的云特性对DevOps的影响 …… 30

2.3.1 环境 …… 30

2.3.2 轻松创建虚拟机 …… 31

2.3.3 数据考量 …… 31

2.4 小结 …… 32

2.5 更多阅读材料 …… 33

第3章 运维 …… 34

3.1 概述 …… 34

3.2 运维服务 …… 34

3.2.1 供给硬件 …… 34

3.2.2 供给软件 …… 35

3.2.3 IT功能 …… 36

3.2.4 服务级别协议 …… 36

3.2.5 容量规划 …… 36

3.2.6 业务连续性和安全 …… 37

3.2.7 服务策略 …… 38

3.2.8 服务设计 …… 39

3.2.9 服务移交 …… 39

3.2.10 服务运维 …… 40

3.2.11 服务运维概念 …… 40

3.3 服务运维功能 …… 41

3.4 持续服务改进 …… 42

3.5 运维和DevOps …… 43

3.6 小结 …… 44

3.7 更多阅读材料 …… 44

第二部分 部署流水线

第4章 整体架构 …… 48

4.1 DevOps实践是否需要架构调整 …… 48

4.2 架构结构总览 …… 49

4.2.1 协作模式 …… 50

4.2.2 资源管理 …… 51

4.2.3 架构元素之间的映射 …… 52

4.3 微服务架构的质量 …… 52

4.3.1 可靠性 …… 53

4.3.2 可修改性 …… 54

4.4 团队的***规则 …… 55

4.5 现有系统的微服务方案 …… 56

4.6 小结 …… 56

4.7 更多阅读材料 …… 57

第5章 构建与测试 …… 58

5.1 概述 …… 58

5.2 在部署流水线中移动系统 …… 59

5.2.1 可追溯性 …… 59

5.2.2 环境 …… 60

5.3 横切关注点 …… 61

5.4 开发及提交前测试 …… 63

5.4.1 版本控制与分支 …… 63

5.4.2 功能开关 …… 65

5.4.3 配置参数 …… 66

5.4.4 在开发和提交前测试中的测试 …… 67

5.5 构建与集成测试 …… 67

5.5.1 构建脚本 …… 67

5.5.2 打包 …… 68

5.5.3 持续集成与构建状态 …… 69

5.5.4 集成测试 …… 70

5.6 用户验收测试/预发布/性能测试 …… 70

5.7 生产环境 …… 71

5.7.1 早期发布测试 …… 71

5.7.2 错误检测 …… 72

5.7.3 现场测试 …… 72

5.8 事件 …… 73

5.9 小结 …… 73

5.10 更多阅读材料 …… 74

第6章 部署 …… 75

6.1 概述 …… 75

6.2 部署管理的策略 …… 76

6.2.1 蓝/绿部署 …… 76

6.2.2 滚动升级 …… 77

6.3 逻辑一致性 …… 78

6.3.1 相同服务的多个版本同时存在 …… 78

6.3.2 兼容数据库中保存的数据 …… 81

6.4 打包 …… 82

6.5 多环境部署 …… 84

6.6 部分部署 …… 86

6.6.1 金丝雀测试 …… 86

6.6.2 A/B测试 …… 87

6.7 回滚 …… 87

6.8 工具 …… 89

6.9 小结 …… 90

6.10 更多阅读材料 …… 90

第三部分 横切关注点

第7章 监控 …… 94

7.1 概述 …… 94

7.2 监控什么 …… 95

7.2.1 故障检测 …… 96

7.2.2 性能下降检测 …… 96

7.2.3 容量规划 …… 97

7.2.4 用户交互 …… 98

7.2.5 入侵检测 …… 99

7.3 如何监控 …… 99

7.3.1 基于代理的监控和无代理的监控 …… 101

7.3.2 监控运维活动 …… 102

7.3.3 收集和存储 …… 102

7.4 什么时候变更监控配置 …… 103

7.5 解释监控数据 …… 103

7.5.1 日志 …… 104

7.5.2 绘图和展示 …… 105

7.5.3 警报和警告 …… 105

7.5.4 诊断和反应 …… 106

7.5.5 监控DevOps过程 …… 106

7.6 挑战 …… 107

7.6.1 挑战1:持续变更下的监控 …… 107

7.6.2 挑战2:自下向上与自上向下和在云中的监控 …… 108

7.6.3 挑战3:监控微服务架构 …… 109

7.6.4 挑战4:处理大容量的分布式(日志)数据 …… 109

7.7 工具 …… 109

7.8 从监控数据中诊断出异常——Platformer.com的案例 …… 110

7.8.1 背景 …… 111

7.8.2 数据收集 …… 112

7.8.3 检测异常 …… 112

7.8.4 思考 …… 113

7.9 小结 …… 113

7.10 更多阅读材料 …… 114

第8章 安全与安全审计 …… 115

8.1 安全是什么 …… 115

8.2 威胁 …… 117

8.3 需要保护的资源 …… 118

8.4 安全角色和活动 …… 120

8.5 身份管理 …… 122

8.5.1 认证 …… 123

8.5.2 授权 …… 125

8.6 访问控制 …… 126

8.6.1 阻止访问 …… 127

8.6.2 谁负责预防控制 …… 129

8.7 检测、审计和拒绝服务 …… 129

8.8 开发 …… 130

8.9 审计者 …… 130

8.10 应用设计考虑 …… 131

8.11 部署流水线设计考虑 …… 132

8.12 小结 …… 133

8.13 更多阅读材料 …… 134

第9章 其他非功能需求 …… 135

9.1 概述 …… 135

9.2 可重复性 …… 136

9.2.1 在恰当的层级上定义和执行过程 …… 136

9.2.2 版本控制所有事物 …… 138

9.3 性能 …… 139

9.3.1 测量重要的事物 …… 139

9.3.2 提高资源使用率 …… 140

9.4 可靠性 …… 141

9.4.1 理解不同服务的可靠性特性 …… 141

9.4.2 早期检测和修复错误 …… 142

9.5 可恢复性 …… 142

9.6 互操作性 …… 143

9.6.1 注意接口的互操作性 …… 143

9.6.2 理解现有的数据模型 …… 143

9.7 可测试性 …… 144

9.8 可修改性 …… 145

9.8.1 一个工具内的修改 …… 145

9.8.2 工具之间交互行为的修改 …… 146

9.9 小结 …… 146

9.10 更多阅读材料 …… 147

第10章 业务关注点 …… 148

10.1 概述 …… 148

10.2 业务案例 …… 148

10.2.1 问题和解决问题所带来的好处 …… 149

10.2.2 成本 …… 149

10.2.3 干系人影响 …… 150

10.2.4 风险及其减缓 …… 151

10.2.5 推出计划 …… 153

10.2.6 成功标准 …… 154

10.3 度量和对DevOps实践的合规性 …… 155

10.3.1 测量DevOps实践的成功度 …… 155

10.3.2 测量对DevOps实践的合规性 …… 156

10.3.3 测量干系人的满意度 …… 157

10.4 Dev和Ops之间的交互点 …… 157

10.4.1 许可 …… 157

10.4.2 事故处理 …… 158

10.5 小结 …… 159

10.6 更多阅读材料 …… 159

第四部分 案 例 研 究

第11章 支持多数据中心 …… 162

11.1 概述 …… 162

11.2 当前的情况 …… 163

11.3 业务逻辑和Web层 …… 163

11.3.1 应用逻辑 …… 163

11.3.2 基础设施 …… 164

11.3.3 增加一个应用 …… 164

11.3.4 发现基础设施 …… 165

11.4 数据库层 …… 167

11.4.1 事务数据 …… 167

11.4.2 基础设施支持 …… 168

11.4.3 会话数据 …… 168

11.5 其他基础设施工具 …… 168

11.5.1 gem存储库服务器 …… 169

11.5.2 Elasticsearch …… 169

11.5.3 域名系统 …… 169

11.6 数据中心切换 …… 170

11.6.1 受控切换步骤 …… 170

11.6.2 非受控切换 …… 174

11.6.3 定义和自动化切换步骤 …… 175

11.7 测试 …… 177

11.7.1 数据中心切换应用程序 …… 177

11.7.2 基础设施测试 …… 177

11.7.3 持续交付流水线 …… 177

11.8 小结 …… 178

11.9 更多阅读材料 …… 179

第12章 实施企业的持续部署流水线 …… 180

12.1 概述 …… 180

12.2 组织背景 …… 180

12.3 持续部署流水线 …… 182

12.3.1 持续部署流水线工具 …… 183

12.3.2 使用AWS CloudFormation的环境定义 …… 184

12.3.3 标准化的应用程序生命周期概览及其使用 …… 186

12.3.4 标准化的应用程序生命周期阶段 …… 188

12.3.5 管理复杂的应用程序和流水线状态 …… 194

12.3.6 管理持久化 …… 196

12.4 让安全成为持续部署流水线的基础 …… 196

12.4.1 使用Amazon CloudFormation分离职责 …… 196

12.4.2 身份和访问管理 …… 197

12.5 **概念 …… 198

12.5.1 *小化生产环境和非生产环境之间的偏移 …… 198

12.5.2 解决供应商的限制 …… 198

12.5.3 厂商锁定 …… 199

12.5.4 新的AWS内置服务的展望 …… 199

12.6 小结 …… 199

12.7 更多阅读材料 …… 200

第13章 迁移到微服务 …… 202

13.1 Atlassian概述 …… 202

13.2 构建部署微服务的平台 …… 203

13.3 BlobStore:一个微服务例子 …… 206

13.3.1 架构 …… 206

13.3.2 通过纯函数式架构和编程实现安全性和性能 …… 207

13.3.3 解决“非功能需求” …… 210

13.4 开发过程 …… 210

13.4.1 开发人员和支持 …… 211

13.4.2 构建和部署流水线 …… 212

13.4.3 客户应用的生产环境的零停机时间路径 …… 214

13.5 BlobStore演进 …… 215

13.6 小结 …… 219

13.7 更多阅读材料 …… 219

第五部分 走 向 未 来

第14章 作为过程的运维 …… 222

14.1 概述 …… 222

14.2 动机和概览 …… 223

14.3 离线活动 …… 224

14.4 在线活动 …… 227

14.4.1 错误检测 …… 227

14.4.2 错误恢复 …… 229

14.5 错误诊断 …… 229

14.6 监控 …… 231

14.7 小结 …… 231

14.8 更多阅读材料 …… 231

第15章 DevOps的未来 …… 232

15.1 概述 …… 232

15.2 组织问题 …… 233

15.2.1 DevOps活动中可能涉及的其他组 …… 233

15.2.2 所有关系和重组 …… 234

15.2.3 授权与控制 …… 234

15.3 过程问题 …… 235

15.3.1 厂商锁定和标准 …… 235

15.3.2 计费模型 …… 235

15.3.3 变更的速度 …… 236

15.4 技术问题 …… 237

15.4.1 持续部署流水线概念 …… 237

15.4.2 在持续部署流水线中获得质量 …… 239

15.4.3 实现 …… 239

15.5 错误报告和修复 …… 240

15.6 结束语 …… 240

15.7 更多阅读材料 …… 240

参考文献 …… 241


用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有