- ISBN:9787302658221
- 装帧:线装
- 册数:暂无
- 重量:暂无
- 开本:24cm
- 页数:16,355页
- 出版时间:2024-04-01
- 条形码:9787302658221 ; 978-7-302-65822-1
本书特色
“基础设施即代码”模式与实践
基础设施即代码(Infrastructure as Code,IaC)是指利用脚本、配置或编程语言创建和维护基础设施的一组实践和流程。通过IaC,我们可以轻松测试各个组件、实现所需的功能并在*小化停机时间的前提下进行扩展。更值得一提的是,由于IaC遵循严谨的开发实践,我们只需要提交几次代码就能轻松实现系统级的变更!
在《“基础设施即代码”模式与实践》一书中,作者深入探讨了如何运用灵活的技术手段构建具备弹性和可扩展性的基础设施。书中内容涵盖了结构化和共享模块的应用、遗留系统的迁移等关键主题,并提供了在软件运行时构建网络、配置负载均衡器以及更新基础设施的实用指南。此外,书中还包含了一系列专家关于团队协作策略的建议,旨在帮助读者有效避免潜在的不稳定性,提升系统安全性,并实现对成本的合理控制。
内容简介
本书介绍如何优化基础设施以实现模块化并隔离依赖项、测试基础设置配置、缓解和排除故障并隔离失败的基础架构更改、跨团队写作并进行基础设施开发、使用蓝绿部署以*少的停机时间更新基础架构、扩展支持多个业务部门的基础架构系统、使用配置工具、配置管理和映像构建模式并提供安全的基础架构配置等。
目录
第1 章 基础设施即代码简介 3
1.1 什么是基础设施 5
1.2 什么是IaC 7
1.2.1 手动配置基础设施 7
1.2.2 基础设施即代码 8
1.2.3 哪种不是基础设施即代码 10
1.3 基础设施即代码的原则 10
1.3.1 可重建性 10
1.3.2 幂等性 12
1.3.3 可组合性 14
1.3.4 可演进性 15
1.3.5 原则的应用 16
1.4 为什么使用基础设施即代码 17
1.4.1 变更管理 18
1.4.2 时间投资回报 18
1.4.3 知识共享 19
1.4.4 安全 20
1.5 工具 21
1.5.1 本书示例 21
1.5.2 资源置备 23
1.5.3 配置管理 24
1.5.4 镜像构建 25
1.6 本章小结 26
第2 章 编写基础设施代码 27
2.1 表述基础设施变更 29
2.2 理解不可变性 31
2.2.1 计划外手工变更补偿 33
2.2.2 迁移到基础设施即代码 35
2.3 编写整洁的基础设施即代码 41
2.3.1 把沟通上下文记录到版本控制 41
2.3.2 风格检查与格式化 42
2.3.3 为资源命名 43
2.3.4 变量和常量 44
2.3.5 依赖项参数化 45
2.3.6 妥善处理机密信息 49
2.4 本章小结 50
第3 章 基础设施模块的模式 51
3.1 单例模式 52
3.2 组合模式 55
3.3 工厂模式 58
3.4 原型模式 61
3.5 生成器模式 65
3.6 模式的选择 70
3.7 本章小结 73
第4 章 基础设施依赖模式 75
4.1 关系的单向性 76
4.2 依赖注入 77
4.2.1 控制反转 77
4.2.2 依赖倒置 80
4.2.3 应用依赖注入 85
4.3 外观模式 88
4.4 适配器模式 92
4.5 中介者模式 96
4.6 选择正确的模式 100
4.7 本章小结 102
第Ⅱ部分 团队规模化实践
第5 章 模块的存储结构与共享 105
5.1 存储库组织结构 107
5.1.1 单存储库 107
5.1.2 多存储库 110
5.1.3 选择一种存储库结构 114
5.2 版本控制 117
5.3 发布 120
5.4 模块共享 123
5.5 本章小结 125
第6 章 测试 127
6.1 基础设施测试周期 129
6.1.1 静态分析 129
6.1.2 动态分析 130
6.1.3 基础设施测试环境 131
6.2 单元测试 132
6.2.1 测试基础设施配置 133
6.2.2 测试领域特定语言DSL 135
6.2.3 何时编写单元测试 138
6.3 契约测试 140
6.4 集成测试 142
6.4.1 模块测试 142
6.4.2 环境配置测试 145
6.4.3 测试挑战 146
6.5 端到端测试 148
6.6 其他测试 150
6.7 测试的选择 151
6.7.1 模块测试策略 153
6.7.2 配置测试策略 154
6.7.3 识别有用的测试 155
6.8 本章小结 156
第7 章 持续交付与分支模型 159
7.1 交付变更至生产 161
7.1.1 持续集成 161
7.1.2 持续交付 162
7.1.3 持续部署 164
7.1.4 交付方式的选择 165
7.1.5 模块 169
7.2 分支模型 170
7.2.1 基于特性的开发 171
7.2.2 基于主干的开发 176
7.2.3 分支模型的选择 178
7.3 同行评审 182
7.4 GitOps 186
7.5 本章小结 188
第8 章 安全与合规 189
8.1 管理访问与机密 190
8.1.1 *小权限原则 190
8.1.2 保护配置中的机密 193
8.2 标记基础设施 194
8.3 策略即代码 197
8.3.1 策略引擎和标准 198
8.3.2 安全测试 200
8.3.3 策略测试 202
8.3.4 实践和模式 204
8.4 本章小结 208
第Ⅲ部分 管理生产环境复杂性
第9 章 执行变更 211
9.1 变更前实践 212
9.1.1 按工作清单行事 213
9.1.2 增加可靠性 214
9.2 蓝绿部署 219
9.2.1 部署绿色分组的基础设施 221
9.2.2 部署绿色分组基础设施的高层级依赖 222
9.2.3 金丝雀部署 225
9.2.4 开展回归测试 230
9.2.5 删除蓝色版本的基础设施 232
9.2.6 其他注意事项 234
9.3 有状态基础设施 235
9.3.1 蓝绿部署 235
9.3.2 修改交付流水线 236
9.3.3 金丝雀部署 237
9.4 本章小结 239
第10 章 重构 241
10.1 *小化重构的影响 242
10.1.1 通过滚动更新减小影响范围 243
10.1.2 在重构中使用特性开关 244
10.2 拆分单体应用 250
10.2.1 对高级别资源进行重构 251
10.2.2 重构具有依赖项的资源 262
10.2.3 重复重构工作流 265
10.3 本章小结 268
第11 章 修复故障 269
11.1 恢复功能 270
11.1.1 前滚以还原变更 270
11.1.2 新变更的前滚 272
11.2 故障诊断 273
11.2.1 检查漂移 273
11.2.2 检查依赖 275
11.2.3 检查环境差异 277
11.3 解决问题 278
11.3.1 解决漂移 279
11.3.2 解决环境差异 281
11.3.3 推进*初的变更 282
11.4 本章小结 284
第12 章 管理云服务费用 285
12.1 管理成本驱动因素 286
12.1.1 实施测试以控制成本 288
12.1.2 将成本估算自动化 291
12.2 降低云浪费 298
12.2.1 停止未标注和未使用的资源 298
12.2.2 按计划启动和停止资源 299
“基础设施即代码”模式与实践XVI
12.2.3 选择正确的资源类型和大小 301
12.2.4 使用自动缩放 302
12.2.5 为资源添加过期时间标签 304
12.3 成本优化 308
12.3.1 按需构建环境 309
12.3.2 使用多云环境 309
12.3.3 对多云和多区域之间的数据传输进行评估 310
12.3.4 在生产中测试 312
12.4 本章小结 313
第13 章 工具管理 315
13.1 使用开源的工具和模块 316
13.1.1 功能性 317
13.1.2 安全性 318
13.1.3 生命周期 319
13.2 工具升级 321
13.2.1 升级前检查清单 321
13.2.2 向后兼容性 322
13.2.3 升级中的破坏性变更 324
13.3 工具替换 327
13.3.1 新工具支持导入 327
13.3.2 不支持导入能力 329
13.4 事件驱动的IaC 330
13.5 本章小结 332
附录A 示例运行说明 335
附录B 练习题答案 349
作者简介
Rosemary Wang是一位资深的教学者、撰稿人、作家和演说家。她拥有丰富的IaC项目经验,并精通Terraform、Vault和Kubernetes等开源工具。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0