作者简介
【译者简介】
陈亮 解决方案架构师,《Kubernetes实战》译者。拥有10年以上软件开发经验,负责过众多外高端项目的交付,曾为多家企业提供Cloud Native、质量内建、DDD(领域驱动设计)等相关咨询与培训服务,对于敏捷开发、DevOps、DDD、微服务架构有着丰富的经验。
王磊 解决方案架构师,译有《Kubernetes实战》《如何写出好程序》。拥有15年以上软件开发经验,覆盖金融、通信、互联网、汽车等行业。对于微服务架构、DDD、敏捷工程实践、DevOps流程与技术、分布式开发、数据库性能调优及开发有着丰富的经验。
训杰 解决方案架构师,译有《演进式架构》《如何写出好程序》。拥有10年以上软件开发相关经验以及丰富的企业级和互联网应用的开发架构实战经验,擅长遗留系统改造及企业数字化平台建设。
万学凡 数字化转型专家,管理顾问,InfoQ2020年中国十大IT产业推动者。译有《EDGE:价值驱动的数字化转型》《内容智能:打赢每一场运营战争》《AI重新定义企业:从微软等真实案例中学习》《回顾活动引导:24个反模式与重构实践》等。
目录
本书赞誉<br/>推荐序一<br/>推荐序二<br/>推荐序三<br/>推荐序四<br/>译者序<br/>序言<br/>前言<br/>作者简介<br/>审校者简介<br/>第1章 解决方案架构的含义 1<br/>1.1 什么是解决方案架构 2<br/>1.2 解决方案架构的演进 4<br/>1.3 解决方案架构为何如此重要 5<br/>1.4 解决方案架构的益处 5<br/>1.4.1 满足业务需求和交付质量 7<br/>1.4.2 选择最佳技术平台 7<br/>1.4.3 处理解决方案的约束和问题 7<br/>1.4.4 协助资源和成本管理 8<br/>1.4.5 管理解决方案交付和项目生命周期 8<br/>1.4.6 解决非功能性需求 8<br/>1.5 公有云中的解决方案架构 9<br/>1.5.1 什么是公有云 9<br/>1.5.2 公有云、私有云和混合云 10<br/>1.5.3 公有云架构 10<br/>1.5.4 公有云供应商和云服务产品 11<br/>1.6 小结 12<br/>第2章 组织中的解决方案架构师 14<br/>2.1 解决方案架构师角色的类型 15<br/>2.1.1 企业解决方案架构师 17<br/>2.1.2 解决方案架构师 17<br/>2.1.3 技术架构师 18<br/>2.1.4 云架构师 18<br/>2.1.5 架构师布道者 18<br/>2.1.6 基础设施架构师 19<br/>2.1.7 网络架构师 19<br/>2.1.8 数据架构师 20<br/>2.1.9 安全架构师 21<br/>2.1.10 DevOps架构师 21<br/>2.2 理解解决方案架构师的职责 22<br/>2.2.1 分析用户需求 22<br/>2.2.2 定义非功能性需求 23<br/>2.2.3 与利益相关者的接触与合作 25<br/>2.2.4 处理各种架构约束 25<br/>2.2.5 技术选型 27<br/>2.2.6 概念验证和原型开发 27<br/>2.2.7 设计解决方案并持续交付 28<br/>2.2.8 确保发布后的可操作性和可维护性 29<br/>2.2.9 担任技术布道者 30<br/>2.3 敏捷组织中的解决方案架构师 30<br/>2.3.1 为什么选择敏捷方法论 30<br/>2.3.2 敏捷宣言 31<br/>2.4 小结 35<br/>第3章 解决方案架构的属性 36<br/>3.1 可伸缩性和弹性 37<br/>3.1.1 容量伸缩困境 38<br/>3.1.2 架构伸缩 38<br/>3.1.3 静态内容伸缩 40<br/>3.1.4 服务器机群弹性 40<br/>3.1.5 数据库伸缩 40<br/>3.2 高可用性和韧性 41<br/>3.3 容错和冗余 43<br/>3.4 灾难恢复与业务连续性 44<br/>3.5 可扩展性与可重用性 45<br/>3.6 易用性与可访问性 46<br/>3.7 可移植性与互操作性 47<br/>3.8 卓越运维与可维护性 48<br/>3.9 安全性与合规性 49<br/>3.9.1 认证和授权 49<br/>3.9.2 Web安全 50<br/>3.9.3 网络安全 50<br/>3.9.4 基础设施安全 50<br/>3.9.5 数据安全 50<br/>3.10 成本优化与预算 51<br/>3.11 小结 52<br/>第4章 解决方案架构的设计原则 53<br/>4.1 工作负载的伸缩 54<br/>4.1.1 可预测伸缩 54<br/>4.1.2 被动伸缩 56<br/>4.2 构建有韧性的架构 56<br/>4.3 性能设计 58<br/>4.4 使用可替换资源 59<br/>4.5 考虑松耦合 60<br/>4.6 考虑服务而非服务器 62<br/>4.7 根据合理的需求选择合适的存储 63<br/>4.8 考虑数据驱动的设计 65<br/>4.9 克服约束 65<br/>4.10 安全无处不在 67<br/>4.11 自动化一切 67<br/>4.12 小结 68<br/>第5章 云迁移和混合云架构设计 70<br/>5.1 云原生架构的好处 71<br/>5.2 创建云迁移策略 72<br/>5.2.1 Lift and Shift方法 73<br/>5.2.2 云原生方法 75<br/>5.2.3 Retain or Retire方法 76<br/>5.3 云迁移的步骤 77<br/>5.3.1 发现工作负载 78<br/>5.3.2 分析信息 79<br/>5.3.3 制订迁移计划 80<br/>5.3.4 设计应用程序 83<br/>5.3.5 执行应用程序迁移上云 85<br/>5.3.6 集成、验证和切换 87<br/>5.3.7 运维云应用程序 89<br/>5.3.8 云上应用程序优化 90<br/>5.4 创建混合云架构 91<br/>5.5 设计云原生架构 92<br/>5.6 主流的公有云 94<br/>5.7 小结 95<br/>5.8 进一步阅读 95<br/>第6章 解决方案架构设计模式 96<br/>6.1 构建N层架构 97<br/>6.1.1 Web层 97<br/>6.1.2 应用层 99<br/>6.1.3 数据库层 99<br/>6.2 创建基于SaaS的多租户架构 99<br/>6.3 构建无状态和有状态的架构 101<br/>6.4 理解SOA 103<br/>6.4.1 基于SOAP的Web服务架构 103<br/>6.4.2 RESTful Web服务架构 105<br/>6.4.3 构建基于SOA的电子商务网站架构 106<br/>6.5 构建无服务器架构 107<br/>6.6 创建微服务架构 109<br/>6.7 构建基于队列的架构 111<br/>6.7.1 队列链表模式 112<br/>6.7.2 作业观察者模式 113<br/>6.8 创建事件驱动架构 114<br/>6.8.1 发布者/订阅者模型 114<br/>6.8.2 事件流模型 115<br/>6.9 构建基于缓存的架构 116<br/>6.9.1 三层Web架构中的缓存分发模式 117<br/>6.9.2 重命名分发模式 119<br/>6.9.3 缓存代理模式 120<br/>6.9.4 重写代理模式 121<br/>6.9.5 应用缓存模式 122<br/>6.10 理解断路器模式 123<br/>6.11 实现隔板模式 124<br/>6.12 构建浮动IP模式 125<br/>6.13 使用容器部署应用程序 126<br/>6.13.1 容器的好处 127<br/>6.13.2 容器化部署 128<br/>6.14 应用程序架构中的数据库处理 129<br/>6.15 避免解决方案架构中的反模式 132<br/>6.16 小结 133<br/>第7章 性能考量 134<br/>7.1 架构性能的设计原则 134<br/>7.1.1 降低延迟 135<br/>7.1.2 提高吞吐量 136<br/>7.1.3 处理并发问题 137<br/>7.1.4 使用缓存 138<br/>7.2 性能优化的技术选型 139<br/>7.2.1 计算能力选型 139<br/>7.2.2 选择存储 144<br/>7.2.3 选择数据库 147<br/>7.2.4 选择网络 149<br/>7.3 管理性能监控 152<br/>7.4 小结 153<br/>第8章 安全考量 155<br/>8.1 架构安全的设计原则 155<br/>8.1.1 实现认证和授权控制 156<br/>8.1.2 安全无处不在 156<br/>8.1.3 缩小爆炸半径 157<br/>8.1.4 时刻监控和审计一切 157<br/>8.1.5 自动化一切 157<br/>8.1.6 数据保护 157<br/>8.1.7 事件响应准备 158<br/>8.2 架构安全技术选型 158<br/>8.2.1 用户身份和访问管理 158<br/>8.2.2 处理网络安全问题 165<br/>8.2.3 保护应用程序及其基础设施 169<br/>8.2.4 数据安全 173<br/>8.3 安全和合规认证 178<br/>8.4 云的共享安全责任模型 178<br/>8.5 小结 180<br/>第9章 架构可靠性考量 182<br/>9.1 架构可靠性的设计原则 182<br/>9.1.1 使系统自愈 183<br/>9.1.2 实现自动化 183<br/>9.1.3 创建分布式系统 184<br/>9.1.4 容量监控 184<br/>9.1.5 验证恢复过程 184<br/>9.2 架构可靠性的技术选型 185<br/>9.2.1 规划RTO和RPO 185<br/>9.2.2 数据复制 186<br/>9.2.3 规划灾难恢复 188<br/>9.2.4 灾难恢复的最佳实践 195<br/>9.3 利用云来提高可靠性 196<br/>9.4 小结 197<br/>第10章 卓越运维考量 198<br/>10.1 卓越运维的设计原则 199<br/>10.1.1 自动化运维 199<br/>10.1.2 进行增量和可逆的变更 199<br/>10.1.3 预测并响应故障 200<br/>10.1.4 从错误中学习并改进 200<br/>10.1.5 持续更新运维手册 200<br/>10.2 卓越运维的技术选型 201<br/>10.2.1 卓越运维的规划阶段 201<br/>10.2.2 卓越运维的执行阶段 204<br/>10.2.3 卓越运维的改进阶段 210<br/>10.3 在公有云中实现卓越运维 212<br/>10.4 小结 213<br/>第11章 成本考量 215<br/>11.1 成本优化的设计原则 215<br/>11.1.1 计算总拥有成本 216<br/>11.1.2 规划预算和预测 217<br/>11.1.3 管理需求和服务目录 218<br/>11.1.4 跟踪支出 219<br/>11.1.5 持续成本优化 219<br/>11.2 成本优化的技术选型 220<br/>11.2.1 降低架构复杂度 220<br/>11.2.2 提高IT效率 221<br/>11.2.3 实现标准化和架构治理 222<br/>11.2.4 成本监控和报告 224<br/>11.3 公有云上的成本优化 227<br/>11.4 小结 228<br/>第12章 DevOps和解决方案架构框架 230<br/>12.1 DevOps介绍 231<br/>12.2 DevOps的好处 231<br/>12.3 DevOps的组成部分 232<br/>12.3.1 CI/CD 233<br/>12.3.2 持续监控和改进 234<br/>12.3.3 基础设施即代码 235<br/>12.3.4 配置管理 235<br/>12.4 什么是DevSecOps 236<br/>12.5 结合DevSecOps和CI/CD 237<br/>12.6 实施CD策略 238<br/>12.6.1 就地部署 238<br/>12.6.2 滚动部署 238<br/>12.6.3 蓝绿部署 238<br/>12.6.4 红黑部署 239<br/>12.6.5 不可变部署 240<br/>12.7 在CI/CD流水线中实施持续测试 240<br/>12.8 CI/CD的DevOps工具 242<br/>12.8.1 代码编辑器 243<br/>12.8.2 源代码管理 243<br/>12.8.3 CI服务器 243<br/>12.8.4 代码部署 245<br/>12.8.5 代码流水线 246<br/>12.9 实施DevOps最佳实践 247<br/>12.10 小结 248<br/>第13章 数据工程和机器学习 249<br/>13.1 什么是大数据架构 250<br/>13.2 大数据处理流水线设计 251<br/>13.3 数据摄取 252<br/>13.3.1 数据摄取的技术选型 253<br/>13.3.2 数据摄取上云 254<br/>13.4 数据存储 255<br/>13.5 数据处理和分析 262<br/>13.6 数据可视化 265<br/>13.7 理解物联网 266<br/>13.8 什么是机器学习 267<br/>13.9 使用数据科学和机器学习 268<br/>13.10 评估机器学习模型:过拟合与欠拟合 270<br/>13.11 了解监督学习和无监督学习 270<br/>13.12 小结 272<br/>第14章 遗留系统架构设计 273<br/>14.1 遗留系统面临的挑战 274<br/>14.1.1 难以满足用户需求 274<br/>14.1.2 维护和更新费用较高 275<br/>14.1.3 缺乏技能和文档 275<br/>14.1.4 存在安全风险 276<br/>14.1.5 无法兼容其他系统 276<br/>14.2 遗留系统现代化改造策略 277<br/>14.2.1 系统现代化改造的好处 277<br/>14.2.2 遗留系统的评估 279<br/>14.2.3 现代化改造方案 279<br/>14.2.4 文档和支持 280<br/>14.3 遗留系统现代化改造技术 280<br/>14.3.1 封装、重新托管和重新平台化 281<br/>14.3.2 重构和重新架构 282<br/>14.3.3 重新设计和替换 282<br/>14.4 遗留系统的云迁移策略 283<br/>14.5 小结 284<br/>第15章 解决方案架构文档 285<br/>15.1 文档目的 285<br/>15.2 文档视图 286<br/>15.3 文档结构 288<br/>15.3.1 解决方案概述 289<br/>15.3.2 业务上下文 290<br/>15.3.3 概念解决方案概述 291<br/>15.3.4 解决方案架构 292<br/>15.3.5 解决方案交付 295<br/>15.3.6 解决方案管理 295<br/>15.3.7 附录 296<br/>15.4 解决方案架构的IT采购文档 296<br/>15.5 小结 297<br/>第16章 学习软技能,成为更优秀的解决方案架构师 298<br/>16.1 掌握售前技能 299<br/>16.2 向企业高管汇报 300<br/>16.3 主人翁意识和责任心 301<br/>16.4 定义战略执行以及目标与关键成果 301<br/>16.5 着眼于大局 302<br/>16.6 灵活性和适应性 303<br/>16.7 设计思维 303<br/&g
以下为对购买帮助不大的评价