【现货】DevOps实践指南 DevOps原理方法与实践编程教程

【现货】DevOps实践指南 DevOps原理方法与实践编程教程 pdf epub mobi txt 电子书 下载 2025

图书标签:
  • DevOps
  • 持续交付
  • 持续集成
  • 自动化运维
  • 软件工程
  • 云计算
  • 微服务
  • Docker
  • Kubernetes
  • 编程教程
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 蓝墨水图书专营店
出版社: 人民邮电
ISBN:9787115480170
商品编码:26178631458

具体描述


内容介绍


本书共分为6 个部分:*一部分概述DevOps 的历史和三个基本原则,即“三步工作法”;*二部分介绍开启DevOps 转型的过程;第三到五部分深入探讨“三步工作法”的各个要素;第六部分关注如何将安全性和合规性正确集成到日常工作中。全书涵盖40 余个DevOps 案例,以谷歌、亚马逊、Facebook 等全球知名企业和组织的实际调查结果为依据,展示如何通过现代化的运维管理提升管理效率,进而为企业赢得更大市场、创造更多利润。

    本书适合所有互联网企业和传统企业的从业者阅读。

 


作者介绍


Gene Kim

Tripwire创始人、前CTOIT Revolution创始人,DevOps企业峰会主办人,畅销书《凤凰项目》合著者。

 

Jez Humble

DevOps Research and Assessment公司CTO,加州大学伯克利分校信息学院讲师;曾任ThoughtWorks&席顾问。《精益企业》和Jolt大奖图书《持续交付》的合著者。

 

Patrick Debois

DevOps之父,致力于通过在开发、项目管理和系统管理之中应用敏捷技术来填补项目和运维之间的鸿沟。

 

John Willis

Chain Bridge System创始人,曾任Docker公司布道师,现就职于SJ Technologies公司。



目录


*一部分 DevOps介绍

*1章 敏捷、持续交付和三步法 4

1.1 制造业价值流 4

1.2 技术价值流 4

1.2.1 聚焦于部署前置时间 5

1.2.2 关注返工指标——%C/A 7

1.3 三步工作法:DevOps的基础原则 7

1.4 小结 8

*2章 *一步:流动原则 9

2.1 使工作可见 9

2.2 限制在制品数 10

2.3 减小批量大小 11

2.4 减少交接次数 13

2.5 持续识别和改善约束点 14

2.6 消除价值流中的困境和浪费 15

2.7 小结 16

第3章 *二步:反馈原则 17

3.1 在复杂系统中安全地工作 17

3.2 及时发现问题 18

3.3 群策群力,战胜问题获取新知 19

3.4 在源头保障质量 21

3.5 为下游工作中心而优化 22

3.6 小结 22

第4章 第三步:持续学习与实验原则 23

4.1 建立学习型组织和安全文化 23

4.2 将日常工作的改进制度化 25

4.3 把局部发现转化为全局优化 26

4.4 在日常工作中注入弹性模式 27

4.5 领导层强化学习文化 27

4.6 小结 29

4.7 *一部分总结 29

*二部分 从何处开始

第5章 选择合适的价值流作为切入点 32

5.1 绿地项目与棕地项目 34

5.2 兼顾记录型系统和交互型系统 35

5.3 从*乐于创新的团队开始 36

5.4 扩大DevOps的范围 37

5.5 小结 38

第6章 理解、可视化和运用价值流 39

6.1 确定创造客户价值所需的团队 40

6.2 针对团队工作绘制价值流图 40

6.3 组建专门的转型团队 42

6.3.1 拥有共同的目标 43

6.3.2 保持小跨度的改进计划 44

6.3.3 为非功能性需求预留20%的

开发时间,减少技术债务 44

6.3.4 提高工作的可视化程度 47

6.4 用工具强化预期行为 47

6.5 小结 48

第7章 参考康威定律设计组织结构 49

7.1 组织原型 51

7.2 过度职能导向的危害(“成本优化”) 51

7.3 组建以市场为导向的团队(“速度优化”) 52

7.4 使职能导向有效 53

7.5 将测试、运维和信息安全融入日常工作 54

7.6 使团队成员都成为通才 54

7.7 投资于服务和产品,而非项目 56

7.8 根据康威定律设定团队边界 56

7.9 创建松耦合架构,提高生产力和安全性 57

7.10 小结 60

第8章 将运维融入日常开发工作 61

8.1 创建共享服务,提高开发生产力 62

8.2 将运维工程师融入服务团队 63

8.3 为每个服务团队分派运维联络人 64

8.4 邀请运维工程师参加开发团队的会议 65

8.4.1 邀请运维工程师参加每日站会 65

8.4.2 邀请运维工程师参加回顾会议 66

8.4.3 使用看板图展示运维工作 66

8.5 小结 67

8.6 *二部分总结 67

第三部分 *一步:流动的技术实践

第9章 为部署流水线奠定基础 70

9.1 按需搭建开发环境、测试环境和生产环境 71

9.2 应用统一的代码仓库 72

9.3 使基础设施的重建更容易 74

9.4 运行在类生产环境里才算“完成” 75

9.5 小结 76

*10章 实现快速可靠的自动化测试 77

10.1 对代码和环境做持续构建、测试和集成 79

10.2 构建快速可靠的自动化测试套件 81

10.2.1 在自动化测试中尽早发现

错误 83

10.2.2 尽可能并行地快速执行测试 84

10.2.3 先编写自动化测试 84

10.2.4 尽量将手动测试自动化 85

10.2.5 在测试套件中集成性能测试 86

10.2.6 在测试套件中集成非功能性需求测试 86

10.3 在部署流水线失败时拉下安灯绳 87

10.4 小结 89

*11章 应用和实践持续集成 90

11.1 小批量开发与大批量合并 92

11.2 应用基于主干的开发实践 93

11.3 小结 95

*12章 自动化和低风险发布 96

12.1 自动化部署流程 97

12.1.1 应用自动化的自助式部署 100

12.1.2 在部署流水线中集成代码部署 101

12.2 将部署与发布解耦 104

12.2.1 基于环境的发布模式 105

12.2.2 基于应用的发布模式更安全 109

12.3 持续交付和持续部署实践的调查 112

12.4 小结 113

*13章 降低发布风险的架构 114

13.1 能提高生产力、可测试性和安全性的架构 115

13.2 架构原型:单体架构与微服务 116

13.3 安全地演进企业架构 118

13.4 小结 121

13.5 第三部分总结 121

第四部分 *二步:反馈的技术实践

*14章 建立能发现并解决问题的遥测系统 125

14.1 建设集中式监控架构 127

14.2 建立生产环境的应用程序日志遥测 129

14.3 使用遥测指导问题的解决 131

14.4 将建立生产遥测融入日常工作 132

14.5 建立自助访问的遥测和信息辐射器 133

14.6 发现和填补遥测的盲区 135

14.6.1 应用程序和业务度量指标 136

14.6.2 基础架构度量指标 137

14.6.3 显示叠加的指标组合 138

14.7 小结 139

*15章 分析遥测数据以更好地预测故障和实现目标 140

15.1 用均值和标准差识别潜在问题 141

15.2 异常状态的处理和告警 142

15.3 非高斯分布遥测数据的问题 143

15.4 应用异常检测技术 146

15.5 小结 149

*16章 应用反馈实现安全部署 150

16.1 通过遥测使部署更安全 151

16.2 开发和运维共同承担值班工作 153

16.3 让开发人员跟踪工作对下游的影响 153

16.4 让开发人员自行管理生产服务 155

16.5 小结 159

*17章 将假设驱动的开发和A/B测试融入日常工作 160

17.1 A/B测试简史 161

17.2 在功能测试中集成A/B测试 162

17.3 在发布中集成A/B测试 162

17.4 在功能规划中集成A/B测试 163

17.5 小结 165

*18章 建立评审和协作流程以提升当前工作的质量 166

18.1 变更审批流程的危险 168

18.2 “过度控制变更”的潜在危险 168

18.3 变更的协调和排程 170

18.4 变更的同行评审 170

18.5 人工测试和变更冻结的潜在危害 173

18.6 利用结对编程改进代码变更 173

18.7 消除官僚流程 176

18.8 小结 177

18.9 第四部分总结 178

第五部分 第三步:持续学习与实验的技术实践

*19章 将学习融入日常工作 180

19.1 建立公正和学习的文化 181

19.2 举行不指责的事后分析会议 182

19.3 尽可能广泛地公开事后分析会议结果 184

19.4 降低事故容忍度,寻找更弱的故障信号 185

19.5 重新定义失败,鼓励评估风险 186

19.6 在生产环境注入故障来恢复和学习 186

19.7 创建故障演练日 187

19.8 小结 189

*20章 将局部经验转化为全局改进 190

20.1 使用聊天室和聊天机器人自动积累组织知识 190

20.2 软件中便于重用的自动化、标准化流程 192

20.3 创建全组织共享的单一源代码库 192

20.4 运用自动化测试记录和交流实践来传播知识 194

20.5 通过确定非功能性需求来设计运维 194

20.6 把可重用的运维用户故事纳入开发 195

20.7 确保技术选型有助于实现组织目标 195

20.8 小结 197

*21章 预留组织学习和改进的时间 198

21.1 偿还技术债务的制度化惯例 199

21.2 让所有人教学相长 200

21.3 在DevOps会议中分享经验 201

21.4 传播实践的内部顾问和教练 203

21.5 小结 204

21.6 第五部分总结 204

第六部分 集成信息安全、变更管理和合规性的技术实践

*22章 将信息安全融入每个人的日常工作 207

22.1 将安全集成到开发迭代的演示中 207

22.2 将安全集成到缺陷跟踪和事后分析会议中 208

22.3 将预防性安全控制集成到共享源代码库及共享服务中 208

22.4 将安全集成到部署流水线中 209

22.5 保证应用程序的安全性 210

22.6 确保软件供应链的安全 214

22.7 确保环境的安全 215

22.8 将信息安全集成到生产环境遥测中 216

22.9 在应用程序中建立安全遥测系统 217

22.10 在环境中建立安全遥测系统 217

22.11 保护部署流水线 219

22.12 小结 219

*23章 保护部署流水线 220

23.1 将安全和合规性集成到变更批准流程中 220

23.2 将大量低风险变更重新归类为标准变更 221

23.3 如何处理常规变更 222

23.4 减少对职责分离的依赖 224

23.5 确保为审计人员和合规人员留存文档和证据 226

23.6 小结 228

23.7 第六部分总结 228行动起来——本书总结 229

附加材料

附 录 232

附录1 DevOps的大融合 232

附录2 约束理论和核心的长期

冲突 234

附录3 恶性循环列表 235

附录4 交接和队列的危害 235

附录5 工业安全神话 236

附录6 丰田安灯绳 237

附录7 软件包产品 238

附录8 事后分析会议 238

附录9 猿猴军团 239

附录10 上线时间透明化 240

参考资源 241

致 谢 243

EXIN DevOps Professional认证备考

指南 & 模拟题① 245


敏捷开发与高效运维的协同之道:现代软件交付的变革之路 在这个信息爆炸、技术迭代飞速的时代,软件产品的生命周期正以前所未有的速度缩短,市场对交付质量和响应速度的要求也愈发严苛。传统的软件开发模式,往往在开发、测试、部署、运维之间形成壁垒,导致沟通不畅、效率低下、问题频发,严重制约了企业创新和业务增长。而一种全新的理念与实践正悄然崛起,它打破了开发与运维之间的隔阂,强调自动化、协作与持续改进,为现代软件交付带来了革命性的变革。 本书旨在深入剖析这一变革的核心驱动力,揭示如何构建一个更加敏捷、稳定、高效的软件交付流程。我们将不仅仅关注技术工具的堆砌,更着眼于在组织文化、团队协作、工作流程等层面进行根本性的优化。 第一部分:重塑软件交付的底层逻辑——理念与原则的基石 在深入探讨具体实践之前,我们首先要理解这场变革的驱动根源及其背后的哲学思想。我们将在这一部分探讨: “开发”与“运维”的边界模糊与融合: 曾经泾渭分明的两个团队,在现代软件交付中扮演着共同的责任角色。我们将分析为何这种融合势在必行,以及它如何促使团队更加关注产品的端到端生命周期,从代码编写到上线稳定运行,再到持续的迭代优化。 价值流的视角: 软件交付不仅仅是技术活动的堆叠,更是一个将用户需求转化为实际价值的完整价值流。我们将引导读者跳出部门视角,从端到端的价值流角度审视整个软件交付过程,识别瓶颈,优化环节,最大化价值传递的效率。 “左移”与“右移”的协同: 传统的软件生命周期中,测试与运维往往处于流程的末端,一旦出现问题,修复成本极高。我们将深入探讨“左移”(将质量保障、安全检查提前到开发早期)和“右移”(将运维的监控、反馈机制融入开发迭代)的理念,以及它们如何实现开发与运维的早期介入和共同协作,从而降低风险,提升质量。 拥抱变化与持续改进的文化: 软件行业最大的不变就是“变”。我们将强调构建一种鼓励快速反馈、从错误中学习、持续迭代优化的组织文化。这种文化是所有技术实践得以成功的土壤,也是应对快速变化的市场需求的关键。 第二部分:驱动变革的核心实践——从自动化到智能化 理解了理念的基石,我们将聚焦于驱动这场变革的具体技术与方法论,这些实践共同构成了现代软件交付的高效引擎: 精益思想与敏捷方法的融合: 我们将深入探讨精益思想在消除浪费、优化流程方面的指导意义,以及敏捷方法(如Scrum, Kanban)在响应变化、快速迭代方面的优势。如何将这两者的精髓结合,打造出更具弹性和适应性的开发流程。 持续集成(CI)的威力: CI不仅仅是自动化构建,更是代码质量的第一道防线。我们将详细阐述CI的核心原则,包括频繁集成、自动化构建、单元测试等,以及如何构建稳定可靠的CI流程,快速发现并修复代码集成问题。 持续交付(CD)的自动化流水线: 从CI到CD,我们迈向了自动化部署的全新境界。我们将系统性地讲解CD的关键要素,包括自动化测试(集成测试、端到端测试)、自动化部署、环境管理等,如何构建一条稳定、可靠、可追溯的自动化交付流水线,实现软件的快速、安全发布。 基础设施即代码(IaC)的基石作用: 传统的服务器配置和管理是软件交付的一大瓶颈。我们将探讨IaC的核心概念,如版本控制、声明式配置,并介绍Puppet, Chef, Ansible等主流工具,展示如何通过代码自动化地管理基础设施,实现环境的一致性、可重复性,并为后续的自动化部署打下坚实基础。 容器化与微服务架构的赋能: 容器化技术(如Docker)提供了轻量级、可移植的运行环境,极大地简化了应用的打包、部署和管理。微服务架构则将复杂的单体应用拆解为独立、可独立部署的服务单元。我们将探讨这两种技术如何协同工作,为敏捷开发和持续交付提供强大的支撑,实现更快的迭代速度和更高的系统弹性。 自动化测试的金字塔: 测试是保障软件质量的关键环节。我们将深入分析自动化测试的不同层次,从单元测试、集成测试到端到端测试,并探讨如何构建一个平衡、有效的测试金字塔,以最经济有效的方式覆盖各种测试场景,在早期发现并解决问题。 配置管理与版本控制的严谨: 软件交付过程中,配置的正确性和一致性至关重要。我们将强调配置管理的重要性,以及如何通过版本控制系统(如Git)对代码、配置、甚至是基础设施进行统一管理,实现追溯、回滚和协作。 第三部分:保障运行的智慧——监控、反馈与安全 软件交付的终点是稳定运行,而持续的监控、及时的反馈以及内嵌的安全机制,是实现这一目标的保障: 全面的可观测性(Observability): 仅仅监控是不足够的,我们需要构建系统的可观测性,深入理解系统在运行时的行为。我们将探讨日志、指标、追踪等核心概念,以及如何利用ELK Stack, Prometheus, Grafana等工具,构建强大的监控与告警体系,第一时间发现并定位生产环境中的问题。 实时反馈与迭代优化: 生产环境是最佳的试金石。我们将讲解如何建立从生产环境到开发团队的实时反馈闭环,将用户的使用情况、系统性能数据、异常告警等信息及时地反馈给开发团队,指导后续的迭代优化,实现产品与用户需求的精准对接。 安全左移与DevSecOps: 安全不再是上线后的附加项,而是贯穿软件生命周期的核心要素。我们将深入探讨DevSecOps的理念,如何将安全扫描、漏洞检测、合规性检查等融入CI/CD流水线,实现“安全左移”,在早期发现并解决安全风险。 故障排除与恢复策略: 即使有再完善的预防措施,故障仍可能发生。我们将探讨有效的故障排除方法论,以及如何建立快速的故障恢复机制,最大限度地减少故障对业务的影响。 第四部分:赋能团队与组织——文化、协作与领导力 技术和工具是实现变革的手段,但真正的持续性变革离不开强大的文化与高效的协作: 跨职能团队的建设: 打破部门墙,建立由开发、测试、运维、安全等人员组成的跨职能团队,是实现高效协作的关键。我们将探讨如何组建和赋能这类团队,促进信息共享和责任共担。 沟通与协作的优化: 有效的沟通是协作的基础。我们将分享在敏捷环境中,如何通过站会、评审、回顾会议等形式,促进团队成员之间的信息流通和问题解决。 拥抱学习与知识共享: 快速变化的技术环境要求团队成员不断学习。我们将强调建立学习型组织文化,鼓励知识共享,通过技术分享会、文档沉淀等方式,提升整个团队的技术能力。 领导力的作用: 变革的推动需要有力的领导。我们将探讨管理者和领导者在推动DevOps文化转型中的角色,包括提供资源支持、消除组织障碍、鼓励创新尝试等。 本书目标读者: 本书适合所有参与软件生命周期的技术从业者,包括软件开发工程师、测试工程师、运维工程师、系统架构师、项目经理、技术负责人以及对现代软件交付模式感兴趣的IT管理者。无论您是希望提升团队效率、缩短交付周期、提高产品质量,还是希望构建更加稳定、可靠的软件系统,本书都将为您提供系统性的指导和实用的方法。 通过阅读本书,您将能够: 深刻理解 DevOps的核心理念与价值。 掌握 构建自动化CI/CD流水线的关键技术和方法。 学习 如何利用基础设施即代码、容器化等技术提升效率。 构建 强大的监控体系,实现对生产环境的全面洞察。 培养 拥抱变化、持续改进的团队文化。 提升 软件交付的整体质量、速度和稳定性。 让我们一起踏上这段激动人心的变革之旅,用更智慧、更高效的方式构建和交付软件,迎接数字时代的新挑战!

用户评价

评分

这本书的标题“DevOps实践指南”让我眼前一亮,作为一个在 IT 行业摸爬滚打多年的开发者,我深知在快速变化的时代,拥抱新的工作模式和技术的重要性。过去,开发和运维往往是两个相对独立且有时会相互“甩锅”的环节,这极大地影响了项目的交付效率和质量。我迫切希望通过这本书,能够清晰地了解到DevOps的核心理念,以及它如何通过打破部门壁垒,实现端到端的流程自动化和效率提升。我对书中关于“构建、测试、部署和监控”全生命周期的自动化实践非常感兴趣,特别是如何利用各种新兴工具来实现这些自动化。我希望能够学到如何在实际项目中,根据团队的特点和业务需求,选择合适的DevOps工具和方法,并一步步构建起一套高效、稳定的软件交付流水线,最终实现更快速、更可靠的产品交付。

评分

刚拿到这本书,我迫不及待地翻看了起来。厚度适中,纸张质量也不错,拿在手里很有分量感。我之前参与过一些项目的实施,总是会遇到开发、测试、运维之间沟通不畅、责任不清的问题,导致项目延期、质量不稳定。看到这本书的书名,就觉得它可能正好能解决我的一些痛点。我重点关注了书中关于“持续集成”、“持续交付”和“持续部署”的章节,这几个概念是DevOps的核心,我想深入理解它们是如何通过自动化工具和流程来实现的。书中有不少图表和代码示例,这对于我这种喜欢动手实践的人来说非常友好,也更容易理解抽象的概念。我希望通过这本书,能够掌握一些具体的DevOps工具和技术,并且理解如何在团队内部推行DevOps文化,打破部门壁垒,实现更顺畅的协作。

评分

这本书的封面设计简洁大气,"DevOps实践指南"几个大字醒目地占据了中心位置,让人一眼就能明白其核心内容。我之前在工作中接触过一些DevOps的概念,但总觉得有些零散,不成体系。这次看到这本书,感觉就像找到了一个系统学习的入口。翻开目录,看到从DevOps的起源、核心理念,到具体的工具链、自动化流程,再到文化和组织变革的探讨,内容非常全面。我尤其对其中关于敏捷开发与DevOps如何协同推进的部分很感兴趣,希望能从中找到提升团队协作效率的有效方法。书中的案例分析部分也是我期待的,毕竟理论知识再丰富,也需要落地的实践来支撑。我希望能通过阅读这本书,更深入地理解DevOps的精髓,并将其应用到实际工作中,从而优化软件开发和交付的整个生命周期。

评分

我之前在一些技术论坛上看到过不少关于DevOps的讨论,感觉这个概念非常吸引人,但总觉得有些高高在上,离我的实际工作有点距离。这次看到这本书,封面设计虽然朴实,但“DevOps实践指南”几个字却透露出一种务实的风格。我特别期待书中关于“DevOps文化与组织转型”的部分,因为我知道,技术固然重要,但改变人的思维方式和工作习惯更是难上加难。我希望通过这本书,能够理解DevOps不仅仅是一套技术工具,更是一种思维模式和协作方式。我希望学习到如何打破传统的“ silo ”模式,促进开发、测试、运维团队之间的紧密合作,建立一种共同负责、持续改进的文化。同时,我也想了解一些成功的DevOps落地案例,从中汲取经验,指导我如何在自己的团队中逐步推行DevOps。

评分

这本书的封面给我一种专业、严谨的感觉,"DevOps实践指南"这几个字,让我联想到那些在实际工作中解决棘手问题的解决方案。我目前在一家快速发展的互联网公司工作,团队规模不断扩大,项目复杂度也在不断提升。我们经常会面临上线压力大、回滚次数多、故障排查耗时等问题。我一直觉得DevOps是解决这些问题的一剂良方,但苦于没有系统性的指导。这本书的出版,对我来说无疑是一场及时雨。我尤其关注书中关于“基础设施即代码”、“配置管理”和“监控与日志分析”等内容,这些都是实现DevOps自动化的关键环节。我希望通过阅读这本书,能够学习到如何利用自动化工具来管理服务器、部署应用,以及如何建立有效的监控体系来及时发现和解决问题,从而提升整个系统的稳定性和可用性。

相关图书

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

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有