REL11-BP07 设计您的产品以满足可用性目标和正常运行时间服务级别协议 () SLAs - 可靠性支柱

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

REL11-BP07 设计您的产品以满足可用性目标和正常运行时间服务级别协议 () SLAs

设计您的产品以满足可用性目标和正常运行时间服务级别协议(SLAs)。如果您发布或私下同意可用性目标或正常运行时间SLAs,请验证您的架构和运营流程是否为支持这些目标或正常运行时间而设计。

预期结果:每个应用程序都有明确的可用性和性能SLA指标目标,可以对其进行监控和维护,以实现业务成果。

常见反模式:

  • 无需任何设置即可设计和部署工作负载SLAs。

  • SLA在没有理由或业务要求的情况下,指标设置得太高。

  • 设置时SLAs不考虑依赖关系及其底层SLA。

  • 设计应用程序时不考虑韧性的责任共担模式。

建立此最佳实践的好处:根据关键韧性目标设计应用程序,有助于实现业务目标并满足客户期望。这些目标有助于推动评估不同技术并考虑各种权衡的应用程序设计过程。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

应用程序设计必须考虑因业务、运营和财务目标而产生的各种要求。根据运营要求,工作负载需要具有特定的韧性指标目标,以便进行监控并予以支持。不得在部署工作负载之后才设置或引出韧性指标。这些指标应该在设计阶段得到定义,有助于指导作出各种决策和权衡。

  • 每个工作负载都应有自己的一组韧性指标。这些指标可能与其他业务应用程序的指标不同。

  • 减少依赖项可以对可用性产生积极影响。每个工作负载都应考虑其依赖关系及其依赖关系SLAs。一般来说,选择可用性目标等于或大于工作负载目标的依赖项。

  • 若可行,尽量考虑采用松耦合设计,让工作负载可以在依赖关系受损的情况下正常运行。

  • 减少控制面板依赖项,特别是在恢复或降级期间。评估可确保任务关键型工作负载静态稳定性的设计。使用资源节约来提高工作负载中这些依赖项的可用性。

  • SLAs通过缩短 “平均检测时间” () 和 “平均修复时间” (MTTD),可观察性和仪器化对于实现这一目标至关重要。MTTR

  • 降低故障频率(更长MTBF)、更短的故障检测时间(更短MTTD)和更短的修复时间(更短MTTR)是用于提高分布式系统可用性的三个因素。

  • 设立并满足工作负载的韧性指标,这是所有有效设计的基础。这些设计必须在设计复杂性、服务依赖项、性能、扩展和成本之间作出权衡。

实施步骤

  • 检查并记录工作负载设计,考虑以下问题:

    • 在工作负载中的什么地方使用控制面板?

    • 工作负载如何实施容错?

    • 扩展、自动扩展、冗余和高可用性组件的设计模式是什么?

    • 数据一致性和可用性的要求是什么?

    • 是否考虑了资源节约或资源静态稳定性?

    • 有哪些服务依赖项?

  • 在与利益相关者合作时,根据工作负载架构定义SLA指标。考虑工作SLAs负载使用的所有依赖关系。

  • 设定SLA目标后,优化架构以满足SLA。

  • 一旦确定了符合要求的设计,就SLA要实施操作变更、流程自动化和运行手册,这些变更也将侧重于减少MTTD和MTTR。

  • 部署后,监视和报告SLA。

资源

相关最佳实践:

相关文档:

相关服务: