YL11317 9787111581918 9787111562610
《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
作为一名在技术领域摸爬滚打多年的从业者,我深知学习的持续性对于保持竞争力的重要性。DevOps和软件架构是不断演进的领域,光靠几年前的知识早已跟不上时代。我购买这本书,是希望能够系统地更新我的知识库,了解最新的技术趋势和最佳实践。我特别看重“实践”部分,因为理论再完美,如果不能在实际项目中落地,那也只是纸上谈兵。我希望书中能够提供一些可复用的模板、工具链的搭建方法,或者是一些常见问题的排查思路。当然,我也希望能够从书中学习到如何构建一个高效、敏捷的开发和运维团队,因为技术最终是为业务服务的,而团队的协作能力往往是决定项目成败的关键因素。这本书的出现,让我看到了一个学习和成长的契机。
评分我选择购买这本书,很大程度上是因为它结合了DevOps和软件架构师这两个当下热门且关联性极强的领域。在我看来,一个优秀的软件架构师,必然需要具备DevOps的思维和实践能力,因为现代软件开发的生命周期已经越来越离不开DevOps的理念。反之,DevOps的成功实施,也离不开清晰的架构设计和良好的技术决策。这两本书打包在一起,就像是为我量身定制的一套学习方案。我希望通过阅读,能够构建起一个更全面的技术视野,理解如何从宏观的架构设计到微观的自动化运维,都能保持一致性和连贯性。特别是“运维开发编程教程书籍”这个定位,让我觉得这本书的内容会比较接地气,可能包含一些代码示例或者实操技巧,能够帮助我将理论知识转化为实际动手能力。
评分软件架构师这个角色对我来说一直充满了神秘感,感觉他们是整个技术团队的大脑,负责宏观的决策和方向的把握。而“行动指南”这几个字,则意味着这本书不会止步于理论的探讨,而是会提供一些切实可行的建议和方法论,帮助架构师们更好地应对日常工作中的挑战。我希望这本书能涵盖从需求分析、系统设计到技术选型、团队协作等各个方面,并且能深入浅出地讲解一些关键的架构模式和原则。比如,如何在复杂的业务场景下设计出可扩展、可维护的系统?如何平衡技术债务和业务发展?如何有效地与开发、测试、运维等团队沟通协作?这些都是我作为一名正在成长中的技术人员非常关心的问题。这本书的出现,让我觉得有机会能够窥探到资深架构师的思维方式,学习他们是如何思考和解决问题的,这对我个人的职业发展将是极大的助力。
评分我一直认为,学习技术不能光看教程,更要理解背后的“为什么”。这本书的另一个吸引我的地方在于它强调“原理”。我希望通过阅读,不仅能学会操作,更能理解DevOps背后的核心思想,例如持续集成、持续交付、自动化运维等等,它们是如何相互作用,最终提升软件开发和交付效率的。我尤其关注“方法”和“实践”部分,因为理论学得再好,最终还是要落地。我希望书中能提供一些真实的案例或者企业在实践DevOps过程中遇到的挑战和解决方案。毕竟,理论和现实之间往往存在差距,了解这些差距以及如何跨越它们,对我的工作会更有指导意义。我之前接触过一些DevOps工具的介绍,但总感觉像是“知其然不知其所以然”。希望这本书能帮助我建立一个完整的知识体系,让我能够将零散的工具知识融会贯通,并且能够根据实际情况,选择最适合的DevOps策略和工具。
评分这本书的封面设计非常吸引人,简洁而有力量,蓝色的背景搭配白色的字体,给人一种专业、沉稳的感觉。拿到手时,纸张的质感也很好,厚实且略带哑光,翻阅时没有刺鼻的油墨味,这对于经常需要长时间阅读的我来说,是非常重要的细节。我特别喜欢书脊的设计,虽然是两本书打包,但整体的排列看起来很和谐,不会显得杂乱。我之前就对DevOps这个概念很感兴趣,但一直找不到合适的入门书籍,市面上很多书要么过于理论化,要么过于碎片化,很难系统地学习。看到这本书的标题,尤其是“原理、方法与实践”这几个字,我感觉它应该能够填补我的知识空白。包装也很用心,书本被牢固地固定在包装盒内,丝毫没有磕碰的痕迹,运输过程也相当迅速,很快就收到了。总的来说,仅仅从外观和初步的触感来看,这本书就给了我一个非常好的第一印象,让我对接下来的阅读充满期待。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有