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

关键工作负载

本部分致力于解决在 Azure 上设计任务关键型工作负载时所面临的挑战。 本指南基于从评审大量客户应用程序和第一方解决方案中吸取的经验教训。 本部分提供可操作和权威的指导,Well-Architected 最佳做法作为在 Azure 上大规模构建和操作高度可靠的解决方案的技术基础。

什么是任务关键型工作负载?

术语 工作负载 是指支持常见业务目标或执行常见业务流程的应用程序资源集合,其中包含多个服务(如 API 和数据存储),共同提供特定的端到端功能。

术语 “任务关键型 ”是指涵盖与不可用或表现不佳相关的重大财务成本 (业务关键型) 或人力成本 (安全关键型) 。

因此 ,任务关键型工作负载 描述了应用程序资源的集合,这些资源在平台上必须高度可靠。 工作负荷必须始终可用、可复原故障和可操作。

视频:Azure 上的任务关键型工作负载

常见的挑战是什么?

使用 Microsoft Azure 可以轻松部署和管理云解决方案。 但是,由于以下main原因,在平台上构建高度可靠的任务关键型工作负载仍然是一个挑战:

  • 大规模设计可靠的应用程序很复杂。 它需要广泛的平台知识来选择合适的技术 ,并 对其进行最佳配置以提供端到端功能。

  • 在任何复杂的分布式系统中,故障都是不可避免的,因此必须构建解决方案,以处理具有关联或级联影响的故障。 这是许多开发人员和架构师从本地环境进入云的思维方式的改变。可靠性工程不再是基础结构主题,而是应用程序开发过程中的首要问题。

  • 实施任务关键型工作负载需要在整个端到端工程生命周期中具有高度的工程严谨性和成熟度,以及从故障中吸取教训的能力。

是否仅对可靠性具有任务关键性?

虽然任务关键型工作负载的主要重点是 可靠性,但 Well-Architected 框架的其他支柱在 Azure 上生成和操作任务关键型工作负载时同样重要。

  • 安全性:工作负载如何缓解安全威胁(例如分布式拒绝服务 (DDoS) 攻击)将对整体可靠性产生重大影响。

  • 卓越运营:工作负载如何能够有效响应操作问题将对应用程序可用性产生直接影响。

  • 性能效率:可用性不仅仅是简单的运行时间,而是相对于已知正常状态的一致应用程序服务和性能级别。

实现高可用性会进行重大成本权衡,这可能不适用于每个工作负载方案。 因此,建议设计决策由业务需求驱动。

关键设计领域有哪些?

本系列中的任务关键型指南由围绕这些关键设计领域的体系结构注意事项和建议组成。

任务关键型设计领域

设计领域是相互关联的,在一个区域内做出的决策可能会影响或影响整个设计的决策。 我们建议读者熟悉这些设计领域,查看提供的注意事项和建议,以便更好地了解包含决策的后果。 例如,若要定义目标体系结构,必须确定如何最好地跨关键组件监视应用程序运行状况。 在这种情况下,读者应查看 运行状况建模 设计领域,使用概述的建议来帮助推动决策。

设计领域 摘要
应用程序设计 在构建高度可靠的应用程序的上下文中使用缩放单元体系结构。 还探讨了允许缩放和错误处理的云应用程序设计模式。
应用程序平台 与选择、设计和配置适当的应用程序托管平台、应用程序依赖项、框架和库相关的决策因素和建议。
数据平台 数据存储技术中的选择,通过评估所需的数量、速度、多样性和真实性来提供通知。
网络和连接 应用程序级别的网络拓扑概念,考虑必要的连接和冗余流量管理。 旨在为设计安全且可缩放的全局网络拓扑提供信息的关键建议。
运行状况建模和可观测性 定义可靠的运行状况模型、通过可观测性和操作构造映射量化应用程序运行状况状态以实现操作成熟度的过程。
部署和测试 消除停机时间并维护部署操作的应用程序运行状况,提供关键注意事项和建议,旨在为任务关键型应用程序的最佳 CI/CD 管道设计提供信息。
安全性 保护应用程序免受旨在直接或间接损害其可靠性的威胁。
操作过程 采用 DevOps 和相关部署方法用于推动有效且一致的操作过程。

演示示例

本系列中提供的指南基于面向解决方案的方法,用于说明关键设计注意事项和建议。 有几个参考实现可用作进一步开发解决方案的基础。

工业方案

本系列中的任务关键型指南形成了一种与行业无关的设计方法,该方法可应用于许多不同的行业环境。 以下列表提供了特定示例,其中已应用任务关键型设计方法,并针对特定的行业方案进行了定制。

运营商级工作负载同时关注业务关键和安全关键方面,其中的基本要求是运行,每个日历年只有几分钟甚至几秒钟的停机时间。 未能实现此运行时间要求可能会导致大量人员伤亡、巨额罚款或合同处罚。

后续步骤

首先查看任务关键型应用程序方案的设计方法。