解决方案架构师修炼之道pdf下载pdf下载

解决方案架构师修炼之道百度网盘pdf下载

作者:
简介:本篇主要提供解决方案架构师修炼之道pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2021-11
pdf下载价格:9.90¥


预览


内容介绍

产品特色

编辑推荐

适读人群 :本书适合从事IT 行业的软件开发人员、系统工程师、DevOps 工程师、架构师和团队负责人,以及有志于成为解决方案架构师并热衷于设计安全、可靠、高性能和高性价比的架构的人阅读

成为解决方案架构师,让你有机会使用前沿的技术,并制定产品策略。本书将带你了解成为一名成功的解决方案架构师所需要了解的基本概念、设计原则和模式、架构考量以及相关的新技术。
本书首先介绍了解决方案架构设计原则和属性的基础知识,帮助你了解解决方案架构如何使整个企业的软件项目受益。其次,介绍了云迁移和混合云架构设计,以及如何使用微服务、事件驱动、基于缓存和无服务器等设计模式来开发现代架构。然后,探索了架构设计的主要考量,包括性能、可靠性、成本优化、安全性、卓越运维和DevOps。此外,还介绍了与大数据、机器学习和物联网相关的高级概念。后,介绍了如何撰写架构设计文档,以及成为一名出色的解决方案架构师所必需的软技能。通过阅读本书,你将学到设计满足业务需求的高效架构的技术。

【本书特色:】
探讨解决方案架构师所扮演的各种角色,以及他们在企业中所发挥的作用。
从架构师的角度理解大数据处理、机器学习和物联网等高级概念。
发现不同的解决方案架构模式,如事件驱动和微服务模式。
找到让自己跟上技术更新并提高技能的方法。
借助云迁移实现遗留系统的现代化改造。
选择合适的战略以降低成本。

内容简介

本书首先介绍解决方案架构的基本原理、设计原则和属性,这些内容将帮助你理解解决方案架构如何使跨企业的软件项目受益。你将了解云迁移和应用程序现代化框架,并将使用微服务、事件驱动、基于缓存和无服务器模式来设计健壮的架构。然后,你将探索架构设计的主要考量,包括性能、可伸缩性、成本优化、安全性、卓越运营和DevOps。此外,你还将学习与大数据、机器学习和物联网相关的先进概念。书末,你将掌握架构设计文档和成为更好的解决方案架构师所必需的软技能。

作者简介

【译者简介】

陈亮 资深解决方案架构师,《Kubernetes实战》译者。拥有10年以上软件开发经验,负责过众多国内外高端定制项目的交付,曾为多家大型企业提供Cloud Native、质量内建、DDD(领域驱动设计)等相关咨询与培训服务,对于敏捷开发、DevOps、DDD、微服务架构有着丰富的经验。


王磊 资深解决方案架构师,译有《Kubernetes实战》《如何写出好程序》。拥有15年以上软件开发经验,覆盖金融、通信、互联网、汽车等行业。对于微服务架构、DDD、敏捷工程实践、DevOps流程与技术、分布式开发、数据库性能调优及开发有着丰富的经验。

训杰 资深解决方案架构师,译有《演进式架构》《如何写出好程序》。拥有10年以上软件开发相关经验以及丰富的企业级和互联网应用的开发架构实战经验,擅长遗留系统改造及企业数字化平台建设。

万学凡 数字化转型专家,资深管理顾问,InfoQ2020年中国十大IT产业推动者。译有《EDGE:价值驱动的数字化转型》《内容智能:打赢每一场运营战争》《AI重新定义企业:从微软等真实案例中学习》《回顾活动引导:24个反模式与重构实践》等。

内页插图

精彩书评

本书是一本非常好的解决方案架构师手册,因为它系统、全面,并且与时俱进。这本手册涵盖了SOA、云迁移和混合云、无服务器、微服务、基于队列、事件驱动、大数据等架构设计模式,对性能、安全性、可靠性、运维、成本等进行了全方位考量,也涉及云原生架构、DevOps、数据工程和机器学习等一些崭新领域,从架构师的角色和职责开始,逐步深入探讨设计原则、设计模式及其实践。我相信,它会成为架构师的案头必备。
—— 朱少民
《架构之道:软件构建的设计方法》译者
《敏捷测试:以持续测试促进持续交付》作者QECon大会发起人


成为一名优秀的解决方案架构师绝非一日之功,这本书好比一位向导,指引大家成为一名优秀的解决方案架构师。
—— 张尧 凯捷中国首席架构师


强烈推荐这本经典著作,阅读这本书会帮助你成为一名出色的综合型技术人才。
—— 黄勇


《架构探险:从零开始写Java Web框架》作者
本书从弹性、安全、灾备、DevOps、云迁移及混合云等若干重要维度展开,以架构设计的视角进行详细阐述。同时,结合这样的环境,对架构的含义、原则、模式和方法进行了再归纳和再升华。本书对于投身数字变革中的架构师来说是非常有益的给养。推荐大家阅读、参考。
—— 马徐 腾讯云高级战略专家


《服务设计方法与项目实践》译者
解决方案架构师的重要性越来越受到行业的关注。……很高兴看到这本书出版,它能为这个新角色的定义与发展提供指导。
—— 王健 Thoughtworks首席咨询师


“白话中台战略”系列文章作者
解决方案如何解释?……强烈推荐几位好友联手翻译的这本书,它一定能帮到你。
—— 吴瑞诚 小米业务中台武汉负责人


本书先从“道”出发,帮助读者理解这个时代下架构师面临的挑战以及架构设计原则。然后,进一步洞察了架构师的“法”和“术”,分享了云时代的架构设计模式、设计框架和方法。此外,本书也对优秀架构师的软技能和实战工具选择提出了期待。
—— 笪磊 Thoughtworks BeeArt产品负责人
《EDGE:价值驱动的数字化转型》
《领域驱动设计精粹》译者


我的几位朋友翻译的这本书为有志于成为解决方案架构师的读者提供了系统性的指导。
—— 周柯 Thoughtworks中国区首席信息官


本书作者从全球视角出发,经过多年沉淀积累,总结出一套科学、严谨的解决方案架构师参考指南。
—— 方强 旺米科技创始人

目录

第1章 解决方案架构的含义 1

1.1 什么是解决方案架构 2

1.2 解决方案架构的演进 4

1.3 解决方案架构为何如此重要 5

1.4 解决方案架构的益处 5

1.4.1 满足业务需求和交付质量 7

1.4.2 选择最佳技术平台 7

1.4.3 处理解决方案的约束和问题 7

1.4.4 协助资源和成本管理 8

1.4.5 管理解决方案交付和项目生命周期 8

1.4.6 解决非功能性需求 8

1.5 公有云中的解决方案架构 9

1.5.1 什么是公有云 9

1.5.2 公有云、私有云和混合云 10

1.5.3 公有云架构 10

1.5.4 公有云供应商和云服务产品 11

1.6 小结 12


第2章 组织中的解决方案架构师 14

2.1 解决方案架构师角色的类型 15

2.1.1 企业解决方案架构师 17

2.1.2 解决方案架构师 17

2.1.3 技术架构师 18

2.1.4 云架构师 18

2.1.5 架构师布道者 18

2.1.6 基础设施架构师 19

2.1.7 网络架构师 19

2.1.8 数据架构师 20

2.1.9 安全架构师 21

2.1.10 DevOps架构师 21

2.2 理解解决方案架构师的职责 22

2.2.1 分析用户需求 22

2.2.2 定义非功能性需求 23

2.2.3 与利益相关者的接触与合作 25

2.2.4 处理各种架构约束 25

2.2.5 技术选型 27

2.2.6 概念验证和原型开发 27

2.2.7 设计解决方案并持续交付 28

2.2.8 确保发布后的可操作性和可维护性 29

2.2.9 担任技术布道者 30

2.3 敏捷组织中的解决方案架构师 30

2.3.1 为什么选择敏捷方法论 30

2.3.2 敏捷宣言 31

2.4 小结 35


第3章 解决方案架构的属性 36

3.1 可伸缩性和弹性 37

3.1.1 容量伸缩困境 38

3.1.2 架构伸缩 38

3.1.3 静态内容伸缩 40

3.1.4 服务器机群弹性 40

3.1.5 数据库伸缩 40

3.2 高可用性和韧性 41

3.3 容错和冗余 43

3.4 灾难恢复与业务连续性 44

3.5 可扩展性与可重用性 45

3.6 易用性与可访问性 46

3.7 可移植性与互操作性 47

3.8 卓越运维与可维护性 48

3.9 安全性与合规性 49

3.9.1 认证和授权 49

3.9.2 Web安全 50

3.9.3 网络安全 50

3.9.4 基础设施安全 50

3.9.5 数据安全 50

3.10 成本优化与预算 51

3.11 小结 52


第4章 解决方案架构的设计原则 53

4.1 工作负载的伸缩 54

4.1.1 可预测伸缩 54

4.1.2 被动伸缩 56

4.2 构建有韧性的架构 56

4.3 性能设计 58

4.4 使用可替换资源 59

4.5 考虑松耦合 60

4.6 考虑服务而非服务器 62

4.7 根据合理的需求选择合适的存储 63

4.8 考虑数据驱动的设计 65

4.9 克服约束 65

4.10 安全无处不在 67

4.11 自动化一切 67

4.12 小结 68


第5章 云迁移和混合云架构设计 70

5.1 云原生架构的好处 71

5.2 创建云迁移策略 72

5.2.1 Lift and Shift方法 73

5.2.2 云原生方法 75

5.2.3 Retain or Retire方法 76

5.3 云迁移的步骤 77

5.3.1 发现工作负载 78

5.3.2 分析信息 79

5.3.3 制订迁移计划 80

5.3.4 设计应用程序 83

5.3.5 执行应用程序迁移上云 85

5.3.6 集成、验证和切换 87

5.3.7 运维云应用程序 89

5.3.8 云上应用程序优化 90

5.4 创建混合云架构 91

5.5 设计云原生架构 92

5.6 主流的公有云 94

5.7 小结 95

5.8 进一步阅读 95


第6章 解决方案架构设计模式 96

6.1 构建N层架构 97

6.1.1 Web层 97

6.1.2 应用层 99

6.1.3 数据库层 99

6.2 创建基于SaaS的多租户架构 99

6.3 构建无状态和有状态的架构 101

6.4 理解SOA 103

6.4.1 基于SOAP的Web服务架构 103

6.4.2 RESTful Web服务架构 105

6.4.3 构建基于SOA的电子商务网站架构 106

6.5 构建无服务器架构 107

6.6 创建微服务架构 109

6.7 构建基于队列的架构 111

6.7.1 队列链表模式 112

6.7.2 作业观察者模式 113

6.8 创建事件驱动架构 114

6.8.1 发布者/订阅者模型 114

6.8.2 事件流模型 115

6.9 构建基于缓存的架构 116

6.9.1 三层Web架构中的缓存分发模式 117

6.9.2 重命名分发模式 119

6.9.3 缓存代理模式 120

6.9.4 重写代理模式 121

6.9.5 应用缓存模式 122

6.10 理解断路器模式 123

6.11 实现隔板模式 124

6.12 构建浮动IP模式 125

6.13 使用容器部署应用程序 126

6.13.1 容器的好处 127

6.13.2 容器化部署 128

6.14 应用程序架构中的数据库处理 129

6.15 避免解决方案架构中的反模式 132

6.16 小结 133


第7章 性能考量 134

7.1 架构性能的设计原则 134

7.1.1 降低延迟 135

7.1.2 提高吞吐量 136

7.1.3 处理并发问题 137

7.1.4 使用缓存 138

7.2 性能优化的技术选型 139

7.2.1 计算能力选型 139

7.2.2 选择存储 144

7.2.3 选择数据库 147

7.2.4 选择网络 149

7.3 管理性能监控 152

7.4 小结 153


第8章 安全考量 155

8.1 架构安全的设计原则 155

8.1.1 实现认证和授权控制 156

8.1.2 安全无处不在 156

8.1.3 缩小爆炸半径 157

8.1.4 时刻监控和审计一切 157

8.1.5 自动化一切 157

8.1.6 数据保护 157

8.1.7 事件响应准备 158

8.2 架构安全技术选型 158

8.2.1 用户身份和访问管理 158

8.2.2 处理网络安全问题 165

8.2.3 保护应用程序及其基础设施 169

8.2.4 数据安全 173

8.3 安全和合规认证 178

8.4 云的共享安全责任模型 178

8.5 小结 180


第9章 架构可靠性考量 182

9.1 架构可靠性的设计原则 182

9.1.1 使系统自愈 183

9.1.2 实现自动化 183

9.1.3 创建分布式系统 184

9.1.4 容量监控 184

9.1.5 验证恢复过程 184

9.2 架构可靠性的技术选型 185

9.2.1 规划RTO和RPO 185

9.2.2 数据复制 186

9.2.3 规划灾难恢复 188

9.2.4 灾难恢复的最佳实践 195

9.3 利用云来提高可靠性 196

9.4 小结 197


第10章 卓越运维考量 198

10.1 卓越运维的设计原则 199

10.1.1 自动化运维 199

10.1.2 进行增量和可逆的变更 199

10.1.3 预测并响应故障 200

10.1.4 从错误中学习并改进 200

10.1.5 持续更新运维手册 200

10.2 卓越运维的技术选型 201

10.2.1 卓越运维的规划阶段 201

10.2.2 卓越运维的执行阶段 204

10.2.3 卓越运维的改进阶段 210

10.3 在公有云中实现卓越运维 212

10.4 小结 213


第11章 成本考量 215

11.1 成本优化的设计原则 215

11.1.1 计算总拥有成本 216

11.1.2 规划预算和预测 217

11.1.3 管理需求和服务目录 218

11.1.4 跟踪支出 219

11.1.5 持续成本优化 219

11.2 成本优化的技术选型 220

11.2.1 降低架构复杂度 220

11.2.2 提高IT效率 221

11.2.3 实现标准化和架构治理 222

11.2.4 成本监控和报告 224

11.3 公有云上的成本优化 227

11.4 小结 228


第12章 DevOps和解决方案架构框架 230

12.1 DevOps介绍 231

12.2 DevOps的好处 231

12.3 DevOps的组成部分 232

12.3.1 CI/CD 233

12.3.2 持续监控和改进 234

12.3.3 基础设施即代码 235

12.3.4 配置管理 235

12.4 什么是DevSecOps 236

12.5 结合DevSecOps和CI/CD 237

12.6 实施CD策略 238

12.6.1 就地部署 238

12.6.2 滚动部署 238

12.6.3 蓝绿部署 238

12.6.4 红黑部署 239

12.6.5 不可变部署 240

12.7 在CI/CD流水线中实施持续测试 240

12.8 CI/CD的DevOps工具 242

12.8.1 代码编辑器 243

12.8.2 源代码管理 243

12.8.3 CI服务器 243

12.8.4 代码部署 245

12.8.5 代码流水线 246

12.9 实施DevOps最佳实践 247

12.10 小结 248


第13章 数据工程和机器学习 249

13.1 什么是大数据架构 250

13.2 大数据处理流水线设计 251

13.3 数据摄取 252

13.3.1 数据摄取的技术选型 253

13.3.2 数据摄取上云 254

13.4 数据存储 255

13.5 数据处理和分析 262

13.6 数据可视化 265

13.7 理解物联网 266

13.8 什么是机器学习 267

13.9 使用数据科学和机器学习 268

13.10 评估机器学习模型:过拟合与欠拟合 270

13.11 了解监督学习和无监督学习 270

13.12 小结 272


第14章 遗留系统架构设计 273

14.1 遗留系统面临的挑战 274

14.1.1 难以满足用户需求 274

14.1.2 维护和更新费用较高 275

14.1.3 缺乏技能和文档 275

14.1.4 存在安全风险 276

14.1.5 无法兼容其他系统 276

14.2 遗留系统现代化改造策略 277

14.2.1 系统现代化改造的好处 277

14.2.2 遗留系统的评估 279

14.2.3 现代化改造方案 279

14.2.4 文档和支持 280

14.3 遗留系统现代化改造技术 280

14.3.1 封装、重新托管和重新平台化 281

14.3.2 重构和重新架构 282

14.3.3 重新设计和替换 282

14.4 遗留系统的云迁移策略 283

14.5 小结 284


第15章 解决方案架构文档 285

15.1 文档目的 285

15.2 文档视图 286

15.3 文档结构 288

15.3.1 解决方案概述 289

15.3.2 业务上下文 290

15.3.3 概念解决方案概述 291

15.3.4 解决方案架构 292

15.3.5 解决方案交付 295

15.3.6 解决方案管理 295

15.3.7 附录 296

15.4 解决方案架构的IT采购文档 296

15.5 小结 297


第16章 学习软技能,成为更优秀的解决方案架构师 298

16.1 掌握售前技能 299

16.2 向企业高管汇报 300

16.3 主人翁意识和责任心 301

16.4 定义战略执行以及目标与关键成果 301

16.5 着眼于大局 302

16.6 灵活性和适应性 303

16.7 设计思维 303

16.8 做一个动手写代码的程序员 305

16.9 持续学习,不断进步 306

16.10 成为他人的导师 307

16.11 成为技术布道者和思想领袖 308

16.12 小结 308


前言/序言

本书介绍云环境下的解决方案架构和下一代架构设计,引导读者创建健壮、可伸缩、高可用且容错的解决方案。本书首先阐述对解决方案架构的理解,以及它如何适应敏捷的企业环境。通过介绍关于设计理念、高级设计模式、反模式以及现代软件设计的云原生方面的详细知识,带领读者完成解决方案架构设计的历程。



本书对安全性、基础设施、DevOps、灾难恢复的自动化以及解决方案架构的文档等方面均提供了深刻的解释。读者可以深入探究解决方案设计中的性能优化、安全性、合规性、可靠性、成本优化和卓越运维。此外,读者还将了解云平台(如Amazon Web Services(AWS))中的各种架构设计,以及如何最好地利用云平台来满足解决方案设计、现代化和迁移的需求。
本书还阐述了面向未来的架构设计与数据工程、机器学习和物联网(Internet of Things,IoT)的联系。此外,本书还将提供软技能方面的知识,帮助你提升解决方案架构技能和持续学习技巧。读完本书后,你将获得成为解决方案架构师所必备的技能,开启职业生涯的新篇章。

【目标读者】

本书适合从事IT行业的软件开发人员、系统工程师、DevOps工程师、架构师和团队负责人,以及有志于成为解决方案架构师并热衷于设计安全、可靠、高性能和高性价比的架构的人阅读。


【本书涵盖的内容 】

第1章主要定义解决方案架构并解释其重要性。本章诠释了采用解决方案架构的各种益处,并探讨了在公有云上的架构设计。
第2章讲述不同类型的解决方案架构师角色,以及他们如何融入组织结构。本章详细探讨了解决方案架构师的各种职责,并进一步说明了解决方案架构师在敏捷组织中的作用及如何与敏捷流程相适应。
第3章揭示解决方案架构的各种属性,如可伸缩性、韧性、灾难恢复、可访问性、可用性、安全性和成本。本章解释了这些架构属性的共存和使用原则,以创建高效的解决方案设计。
第4章讲述创建可伸缩、韧性和高性能架构的设计原则。本章通过应用安全性、克服约束、应用变更以及测试和自动化方法解释了什么是有效的架构设计,并通过探索面向服务的架构和采取数据驱动的方法来研究架构原则,从而有效地使用设计思维。
第5章解释云的优势和设计云原生架构的方法。本章阐述了对于不同云迁移策略和迁移步骤的理解,讨论了混合云设计,并探讨了受欢迎的公有云供应商。
第6章通过实例探讨各种架构设计模式,如分层、微服务、事件驱动、基于队列、无服务器、基于缓存和面向服务等模式。本章展示了解决方案架构属性和原则的适用性,以根据业务需求设计最佳架构,并解释了AWS云平台中的各种参考架构。
第7章阐述应用程序性能提升的关键属性,如延迟、吞吐量和并发性。本章解释了在多个架构层级提高性能的各种技术选型,包括计算、存储、数据库和网络,以及性能监控。
第8章讨论适用于保护工作负载安全的各种设计原则。安全性需要应用于架构的每一层和每一个组件,本章有助于了解正确的技术选型,以确保架构的每一层级都是安全的。本章探讨了适用于架构设计的行业合规性准则,并通过共享安全责任模型解释了云中的安全问题。
第9章对促使架构可靠的设计原则进行讨论。本章探讨了各种用于确保应用程序的高可用性的灾难恢复技术,以及用于业务流程连续性的数据复制方法,解释了最佳实践和云在应用程序中实现可靠性的作用。
第10章论述在应用程序中实现卓越运维的各种流程和方法。本章解释了适用于应用程序设计、实现和后期生产全流程的最佳实践和技术选型,以提高应用程序的可运维性,还探讨了云工作负载的卓越运维。
第11章讨论在不影响业务敏捷性的情况下优化成本的各种技术。本章解释了用于监控成本和成本控制治理的多种方法,有助于读者理解云服务使用的成本优化。
第12章解释DevOps在应用程序部署、测试和安全方面的重要性。本章探讨了DevSecOps及其在应用程序的持续部署和交付流程中的作用,讲述了DevOps的最佳实践以及实现这些实践的工具和技术。
第13章讲述如何设计大数据和分析架构。本章概述了创建大数据流水线的步骤,包括数据摄取、存储、处理和可视化,帮助读者理解物联网所涉及的概念和技术,本章还探讨了有关机器学习、模型评估技术的详细信息,并对各种机器学习算法进行了概述。
第14章讲述遗留系统的各种挑战和现代化驱动因素。本章解释了对遗留系统进行现代化改造的策略和技术。对许多组织来说,使用公有云正在成为首选策略,因此本章还探讨了遗留系统的云迁移。
第15章讨论解决方案架构文档及其结构以及所需的各种细节。本章研究了各种IT采购文档(解决方案架构师需要参与其中以提供反馈)。
第16章讲述胜任解决方案架构师所必需的各种软技能,有助于读者了解如何获得战略技能(如售前和高层沟通)、发展设计思维以及个人领导技能(如大局观和主人翁意识)。本章探讨了将自己打造成领导者并不断拓展自身技能的技巧。