构建高可靠性云服务的关键策略与设计原则

本文探讨了构建可靠云服务的核心原则,包括故障恢复机制设计、常见故障原因分析(设备基础设施故障、人为错误、软件缺陷)以及采用故障模式影响分析(FMEA)方法提升服务韧性,帮助组织最小化客户影响并优化服务可用性。

本文章翻译自 Trustworthy Computing 的博客 “Building reliable cloud services”(2014 年 1 月 29 日发布)。
作者:David Bills(戴维·比尔斯),可靠性首席策略师

对从事在线服务的所有人来说,可靠性始终是最重要的课题。工程团队希望设计和构建健壮的服务,最大限度地减少运行中站点的故障事件,而服务提供商则希望通过提供可预测且一致的结果来减轻对客户的故障影响。

微软目前发布了最新版白皮书《如何设计可靠的云服务》。
该白皮书面向创建、部署和使用云服务的组织,阐述了可靠性的基本概念和设计时流程。其目的是让决策者理解提升云服务可靠性的关键因素和流程。

其中一个关键概念是在服务中融入韧性以提升可靠性的重要性。所有服务提供商都致力于为客户提供可靠的服务,但现实是并非总能成功。虽然与可靠性相关的威胁永远不会消失,但需要确保具有韧性的服务能够完全运作,并让客户能够自行完成所需操作。

服务应考虑以下事项:

  • 最小化故障对客户的影响;
  • 最小化受故障影响的客户数量;
  • 最小化客户无法使用整个服务的时间。

关键在于,组织应思考在发生已知故障时,其服务如何运行以及应该如何运行。例如,思考当服务依赖的其他云服务不可用,或服务无法连接主数据库时应采取的措施。当流量突然增加导致容量紧张时,思考服务应如何应对。

根据经验,故障的主要原因有以下三种:

  1. 设备及基础设施故障——范围广泛,从预期的设备故障或寿命终止故障,到由不可抗力的自然灾害或事故引发的致命故障;
  2. 人为错误——包括管理员的错误和配置错误,这些错误通常难以被组织控制;
  3. 软件缺陷——包括已部署在线服务代码的缺陷和软件相关问题,这些问题可以通过发布前的测试在一定程度上缓解。

为了帮助组织评估这三种原因的影响并制定缓解策略,微软推荐进行韧性建模。该白皮书介绍了故障模式影响分析(FMEA),这是一种行业广泛认可的方法,用于识别依赖关系并限定潜在故障点。

下图展示了 FMEA 在基本开发流程中的应用阶段:
基本开发流程概述
来源:微软

设计具有高耐受性的服务并实施健壮的恢复机制是一个迭代过程。设计迭代是流动的,需综合考虑发布前测试生成的信息和部署后服务的运行数据。

如果您正在设计或构建在线服务,建议阅读此白皮书,并思考如何构建具有韧性和高可靠性的服务。
同样,建议云客户确认其使用的服务提供商如何将韧性融入服务中。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计