你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

支持卓越运营的云设计模式

设计工作负载体系结构时,应使用可应对常见挑战的行业模式。 模式可以帮助你在工作负载中做出有意的权衡,并针对所需的结果进行优化。 它们还有助于缓解源自特定问题的风险,这些问题可能会影响可靠性、安全性、性能和成本。 由于操作跨越所有这些领域,因此风险最终会影响工作负载操作。 这些模式以实际体验为后盾,专为云规模和运营模型而设计,本质上与供应商无关。 使用已知模式来标准化工作负载设计本身就是卓越运营的组成部分。

许多设计模式直接支持一个或多个体系结构支柱。 支持卓越运营支柱的设计模式使用拓扑,这些拓扑为安全部署实践提供坚实的基础,并随时间推移促进体系结构演变、迁移方案和可观测性。

卓越运营的设计模式

下表总结了支持卓越运营目标的云设计模式。

模式 总结
防损层 通过将中介层添加到旧组件和新组件之间的代理交互,保护新系统组件免受旧系统的行为或实现选择的影响。 此模式有助于确保在与这些旧系统集成时,新组件设计不受旧实现的影响,这些实现可能具有不同的数据模型或业务规则。 该模式在逐步系统迁移中特别有用。 它减少了新组件中的技术债务,同时仍支持现有组件。
协调 使用分散式事件驱动通信协调工作负载中自治分布式组件的行为。 如果希望在工作负荷的生命周期内频繁更新或替换服务,则此模式非常有用。 由于分布式组件是自治的,因此可以修改工作负荷,但对系统的总体更改较少。
计算资源合并 通过增加密度优化和整合计算资源。 此模式将共享基础结构上的工作负荷的多个应用程序或组件组合在一起。 合并会导致更同质的计算平台,该平台可以简化管理和可观测性,减少不同的操作任务方法,并减少所需的工具数量。
部署戳 提供一种方法,用于将应用程序的特定版本及其基础结构发布为受控部署单元,前提是将同时部署相同或不同的版本。 此模式与不可变基础结构目标保持一致,支持高级部署模型,并且可以促进安全部署做法。
外部配置存储 将配置提取到外部化到应用程序的服务,以支持对配置值的动态更新,而无需更改代码或重新部署应用程序。 应用程序配置与应用程序代码的分离支持特定于环境的配置,并将版本控制应用于配置值。 外部配置存储也是管理功能标志以实现安全部署做法的常用位置。
网关聚合 通过在单个请求中聚合对多个后端服务的调用,简化了客户端与工作负载的交互。 此拓扑使后端逻辑能够独立于客户端发展,使你无需更改客户端接触点即可更改链接的服务实现,甚至数据源。
网关卸载 在将请求转发到后端节点之前和之后,将请求处理卸载到网关设备。 通过将卸载网关添加到请求进程,可以从单个点管理卸载功能的配置和维护,而不是从多个节点对其进行管理。
网关路由 根据请求意向、业务逻辑和后端可用性,将传入的网络请求路由到各种后端系统。 网关路由使你能够将请求与后端分离,从而使后端支持高级部署模型、平台转换和单一管理点,以便进行域名解析和传输中加密。
运行状况终结点监视 提供一种通过公开专门为此目的设计的终结点来监视系统的运行状况或状态的方法。 标准化要公开的运行状况终结点,以及整个工作负载中的分析级别有助于对问题进行会审。
消息传送桥 提供一个中介,用于在因协议或格式而不兼容的消息传送系统之间启用通信。 在工作负载中转换消息传送和事件技术时,或者从外部依赖项具有异类要求时,这种分离可提供灵活性。
发布方/订阅方 通过将直接客户端到服务或客户端到服务的通信替换为通过中间消息中转站或事件总线的通信,分离体系结构的组件。 这一间接层使你能够在发布服务器或订阅服务器上安全地更改实现,而无需协调对两个组件的更改。
隔离 在授权外部资产在工作负载中使用外部资产之前,确保其符合团队商定的质量级别。 这些检查的自动化和一致性是工作负载的软件开发生命周期和安全部署实践的一部分, (SDP) 。
Sidecar 通过在main应用程序一起存在的配套进程中封装非主任务或交叉任务,扩展应用程序的功能。 此模式提供了一种在工具集成中实现灵活性的方法,该方法可以增强应用程序的可观测性,而无需应用程序采用直接实现依赖项。 它使挎斗功能能够独立发展,并独立于应用程序的生命周期进行维护。
Strangler Fig 提供一种方法,用于系统地将正在运行的系统的组件替换为新组件,通常在系统迁移或现代化期间。 此模式提供了一种持续改进方法,在这种方法中,首选随时间推移以小更改进行增量替换,而不是实施风险较高的大型系统性变更。

后续步骤

查看支持其他 Azure Well-Architected Framework 支柱的云设计模式: