
前言 Preface
本书通过学习云环境下解决方案架构和下一代架构设计的不同方面,引导读者创建一个健壮、可伸缩、高可用且容错的解决方案。本书首先阐述对解决方案架构的理解,以及它如何适应敏捷企业环境。然后通过介绍关于现代软件的设计理念、高级设计模式、反模式和云原生方面的详细知识,带领读者完成解决方案架构设计的历程。读者将进一步深入了解解决方案设计的性能优化、安全性、合规性、可靠性、成本优化和卓越运维。之后,本书深入探讨安全性、基础设施、DevOps、灾难恢复和解决方案架构文档的自动化,并阐释数据工程、机器学习、物联网和量子计算方面的内容,以让读者更好地理解面向未来的架构设计。最后,本书还将提供软技能方面的知识,帮助你提升解决方案架构技能和持续学习技术。
目标读者
本书适用于IT行业的软件开发人员、系统工程师、DevOps工程师、架构师和团队负责人,他们有志于成为解决方案架构师,并热衷于设计安全、可靠、高性能和高性价比的架构。
本书内容
第1章定义解决方案架构并解释其重要性。该章诠释了采用解决方案架构的各种好处,并探讨了在公有云上进行架构设计。
第2章讲述不同类型的解决方案架构师角色,以及他们如何融入组织结构。该章详细探讨了解决方案架构师的各种职责,进一步说明解决方案架构师在敏捷组织中的作用及如何与敏捷流程相适应。
第3章揭示解决方案架构的各种属性,如可伸缩性、弹性、灾难恢复、可访问性、可用性、安全性、成本优化与预算等。该章解释了这些架构属性的共存和使用原则,以创建一个高效的解决方案设计。
第4章讲述创建可伸缩、弹性和高性能架构的设计原则。该章通过应用安全措施、克服约束、应用变更以及测试和自动化方法,解释了什么是有效的架构设计,还探讨了使用面向服务的架构和采取数据驱动方法的架构原则。
第5章解释云的优势和设计云原生架构的方法,并阐述对于不同的云迁移策略和迁移步骤的理解。该章讨论了混合云设计,探讨了流行的公有云供应商。
第6章通过实例探讨各种架构设计模式,如分层、微服务、事件驱动、基于队列、无服务器、基于缓存和面向服务等模式。该章展示了解决方案架构属性和原则的适用性,以根据业务需求设计最佳架构。
第7章提供提高架构性能的设计原则,如减少延迟、提高吞吐量、处理并发和使用缓存。该章解释了在多层架构(如计算、存储、数据库和网络)中提高性能的各种技术选型,以及性能监控。
第8章讨论适用于保护工作负载安全的各种设计原则。安全性需要应用于架构的每一层和每一个组件。该章有助于读者了解正确的技术选型,以确保架构的每一层都是安全的。此外,该章还探讨了适用于架构设计的行业合规性准则,并通过共享安全责任模型解释了云中的安全问题。
第9章讨论促使架构可靠的设计原则。该章探讨了用于确保应用程序高可用性的各种灾难恢复技术,以及用于业务流程连续性的数据复制方法,解释了最佳实践和云在实现应用程序可靠性方面的作用。
第10章论述在应用程序中实现卓越运营的各种流程和方法。该章解释了适用于应用程序设计、实施和后期生产全流程的最佳实践和技术选型,以提高应用程序的可操作性,还探讨了云工作负载的卓越运营。
第11章讨论在不影响业务敏捷性的情况下优化成本的各种技术。该章解释了用于成本监控和成本控制治理的多种方法,有助于读者理解云服务的成本优化。
第12章解释DevOps在应用程序部署、测试和安全性方面的重要性。该章探讨了DevSecOps及其在应用程序的持续部署和交付流程中的作用,讲述了DevOps的最佳实践以及实现这些实践的工具和技术。
第13章讲述如何设计大数据和分析架构。该章概述了创建大数据流水线的步骤,包括数据摄取、存储、处理和分析,以及可视化。这有助于读者理解不同的大数据架构,例如,数据湖、数据网格和湖屋、流数据,以及大数据架构最佳实践。
第14章探索有关机器学习和模型评估技术的详细信息,并概述各种机器学习算法。该章讨论了具有云平台上参考架构的机器学习架构模式。该章通过最佳实践和深度学习技术进一步解释了MLOps概念。
第15章解释物联网和物联网架构的各种组件。该章讨论了工业物联网和数字孪生概念,并深入分析了大规模物联网数据和物联网设备管理。
第16章解释量子计算机在现实生活用例中的工作原理。该章提供了有关量子计算构建块以及量子计算机如何以非常简化的方式工作的详细信息,讨论了量子门、量子电路和各种类型的量子计算以及它们在云平台上的可用性。
第17章讨论遗留系统面临的各种挑战和现代化改造。该章解释了对遗留系统进行现代化改造的策略和技术,因为公有云正在成为许多组织的首选战略,还探讨了遗留系统的云迁移,以及有关大型机迁移和现代化的详细信息。
第18章讨论解决方案架构文档及其结构,以及文档中需要容纳的各种详细信息。该章探讨了各种经由解决方案架构师参与提供反馈的IT采购文档,如RFP、RFI和RFQ。
第19章讲述解决方案架构师所必需的各种软技能。这有助于读者了解获得战略技能的方法(如售前技能、与高管沟通的技能)、培养设计思维和个人领导技能(如大局观和自主权意识)。该章还探讨了将自己打造成领导者并不断拓展自己技能的技巧。
充分利用本书
如果读者有软件架构设计经验将有助于阅读本书。如果对流行的公有云提供商(如AWS)有基本的了解会很好,然而理解本书并没有特定的先决条件。各章提供了所有示例和相关说明。本书将带读者了解解决方案架构设计的深层概念,并且读者不需要具备任何特定编程语言、框架或工具的知识。
排版约定
本书中使用的排版约定如下:
代码体:表示文本中的代码、数据库表名称、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄。例如,“物联网平台需要支持SigV4、X.509和自定义身份认证,同时通过物联网策略提供精细到MQTT主题级别的访问控制”。
代码块设置如下:

表示警告或重要说明。
表示提示和技巧。