DevOps:软件架构师行动指南 9787111562610,7111562615

配送至
$ $ USD 美元

作者简介

作者:(澳)伦恩·拜斯 作者:英戈·韦伯 作者:朱黎明 译者:胥峰 译者:任发科
伦恩·拜斯(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 定义DevOps2
1.1.2 DevOps实践3
1.1.3 持续部署的例子:IMVU5
1.2 为什么是DevOps5
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 运维和DevOps43
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.

序言

译 者 序为什么要翻译这本书2016年7月中旬,机械工业出版社华章公司王春华老师问我有没有兴趣翻译一本DevOps实践的书,在看过这本书的英文版之后,我欣然答应了。
因为,我知道这是一本有重要价值的书,我愿意花时间把它翻译出来,我想让它被更多人研读学习。
自从在Agile 2008大会上讨论DevOps一词以来,DevOps理念得到了IT从业者的认可和追捧。数年之后,再次客观地审视DevOps运动时,我们发现从整个信息技术领域来看,DevOps还没有成为开发和运维的事实标准。
原因何在?我想,其中最重要的一个原因是,很多组织缺少在业务中引入DevOps实践的专家知识,也没有很多可以借鉴的成功案例。而这本书正好可以解决这个问题。
本书从软件架构师的视角讲解了引入DevOps实践所需要掌握的技术能力,涵盖了运维、部署流水线、监控、安全与审计以及质量关注。第四部分通过3个经典案例研究,讲解了在不同场景下应用DevOps实践的方法。这对于想应用DevOps实践的组织具有切实的指导意义。
初识本书,我有一种相见恨晚的感觉。研读之后,这种感觉尤甚。相信读者也一定会有这样的感觉。
衷心希望本书中文版能给读者带来有价值的信息,为推动DevOps进一步发展和应用做出贡献。
读者对象本书适合以下几类读者阅读:
软件架构师中高级运维工程师计算机相关专业的学生希望提高IT生产力的人员勘误支持虽然译者试图努力保证本书翻译中不出现错误,但鉴于译者的知识和视角,书中难免出现用词错误、技术适用性的问题。在此,译者恳请读者不吝指教,指出错误。
译者说明本书由来自盛大游戏、唯品会等互联网企业的资深DevOps专家联合翻译完成。
除胥峰、任发科外,参与翻译的人员还有米全喜、吴昊、黄灵等。全书由胥峰完成统稿和技术审校。
致谢感谢华章公司引进了本书的中译本版权,这是本中译本得以面市的最核心要素。
感谢华章公司盛思源、关敏和王春华老师,你们专业的编辑能力为本书提供了重要的质量保证。
感谢盛大游戏各位领导对我翻译本书的关心和支持。
感谢我的妻子吕宁和可爱的女儿胥欣,谢谢你们的支持和理解。
ISBN9787111562610,7111562615
出版社机械工业出版社
作者伦恩·拜斯 (Len Bass)
尺寸16