DevOpstxt,chm,pdf,epub,mobi下载 作者:伦恩·拜斯(Len Bass)/英戈·韦伯(Ingo Weber)/朱黎明(Liming Zhu ) 出版社: 机械工业出版社 副标题: 软件架构师行动指南 原作名: DevOps: A Software Architect's Perspective 译者:胥峰/任发科 出版年: 2017-3-17 页数: 241 定价: 69.00元 装帧: 平装 丛书: 架构师书库 ISBN: 9787111562610 内容简介 · · · · · ·本书从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维、部署流水线、监控、安全与审计以及质量关注。通过3个经典案例研究,讲解了在不同场景下应用DevOps实践的方法。这对于想应用DevOps实践的组织具有切实的指导意义。 本书共五部分。第一部分(第1~3章)介绍DevOps的背景。第1章介绍DevOps的目标和期望使用DevOps解决的问题等;第2章介绍云;第3章按照信息技术基础设施库(Information Technology Infrastructure Library,ITIL)的理论介绍运维。第二部分(第4~6章)介绍部署流水线,从功能性视角介绍部署实践的内容。第4章介绍微服务架构风格;第5章介绍构建和测试过程以及工具链;第6章介绍部署,它是DevOps的目标之一。第三部分(第7~10章)介绍横切关注点。第7章介绍计算... 作者简介 · · · · · ·伦恩·拜斯(Len Bass) 澳大利亚NICTA的高级首席研究员。他曾在卡内基梅隆大学软件工程研究所工作25年,有超过50年的软件开发和研究经验。他是两本软件架构方面获奖图书的合作者(《Software Architecture in Practice, Third Edition》和《Documenting Software Architectures:Views and Beyond,Second Edition》),他还与人合作出版或发表了数篇计算机科学与软件工程领域的其他书籍和论文。 英戈·韦伯(Ingo Weber) 澳大利亚NICTA软件系统研究组的高级研究员,也是新南威尔士大学计算机科学与工程系的兼职高级讲师。他的研究领域包括云计算、DevOps、业务过程管理以及人工智能。 朱黎明(Liming Zhu) 澳大利亚NICTA一个研究小... 目录 · · · · · ·译者序前言 第一部分 背 景 第1章 DevOps是什么 …… 2 1.1 概述 …… 2 1.1.1 定义DevOps …… 2 · · · · · ·() 译者序 前言 第一部分 背 景 第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 · · · · · · () |
又买了一次
力荐
观点比较新颖,文笔流畅,通俗易懂。
论述严谨