《DevOps 原理、方法与实践》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:荣国平,张贺,邵栋
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111581918
  • 页数:234 页
图书介绍:本书作为系统介绍DevOps的教材,内容包括了DevOps这种互联网时代新型开发模式的多个方面。全书第一部分首先从时代背景出发,介绍DevOps模式的渊源;结合云时代运维的特征,进一步阐明DevOps模式是适应当前软件系统开发、部署和维护的必然选择。尽管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 看板方法的第一组实践——建立看板系统的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