ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训

ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训

关键字: [Amazon Web Services re:Invent 2023, Amazon Web Services, Data Plane, Testing, Operational Safety, Nines Model, Team Culture]

本文字数: 2800, 阅读完需: 14 分钟

视频

导读

随着最近的学习更新,本次分享将深入探讨如何在亚马逊云科技服务中建立和提高弹性。每个亚马逊云科技服务都具有高可用性,但是少数叫做 Tier0 的服务却受到了特别的关注。在本次分享中,我们将学习亚马逊云科技是如何构建的以及构建 Amazon Route53 和亚马逊云科技认证系统,以帮助他们在面临灾难性故障,巨大负荷增加等情况下存活下来。我们还了解到亚马逊云科技在基础架构,软件和团队等级上处理冗余和弹性的方法,以及负责保持互联网运行的团队如何管理自己,使其跟上亚马逊云科技客户需求变化的步伐。

演讲精华

以下是小编为您整理的本次演讲的精华,共2500字,阅读时间大约是12分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

亚马逊云科技的资深工程师兼副总裁科尔姆·麦克卡塞在演讲中分享了在构建一些亚马逊云科技最可用的服务过程中积累的经验教训。作为一位参与了EC2、EBS和Route 53等基础服务构建的亚马逊云科技专家,科尔姆有丰富的经验可供参考。

他的演讲主要关注亚马逊云科技服务数据平面组件的见解。正如科尔姆所解释的,数据平面处理直接驱动应用程序和网站的高流量客户请求,这与管理启动新实例等管理任务的控制平面组件形成对比。在考虑可用性时,数据平面是橡胶与道路接触的关键点。如果数据平面出现问题,客户会立即感受到延迟、错误或中断。

这就是为什么亚马逊云科技如此关注数据平面组件的弹性。例如,EC2、EBS和S3等服务存储着宝贵的客户数据,并支持关键任务工作负载。这里的停机事件会成为头条新闻,就像我们在亚马逊云科技的历史中所看到的那样。在这个背景下,科尔姆开始分享他的第一个教训——超越简单的“九”可用性建模。

传统的五个九模型提供了一个有用的简短概述,概括了整个业务影响。如果一个提供商承诺五个九,这意味着每年总停机时间不超过5分钟。这给顾客一个明确的SLA(服务等级协议)可以参考。然而,正如科尔姆所解释的,五个九并不能完整地描绘出画面。它将复杂的可用性数据压缩成一个数字,掩盖了做出明智设计决策所需的细微差别。

为了说明这一点,科尔姆让我们想象两个相同的系统,都拥有五个九的可用性。然而,其中一个系统有很多小型一分钟的停机时间,另一个系统有一个五小时的停机时间。这些代表了根本不同的故障模式,但五个九将它们相同地总结。这表明,仅仅基于上行时间百分比的可用性建模是有局限性的。

相反,科尔姆提倡根据停机时间和频率来建模可用性。例如,绘制一小时停机时间频率与十分钟停机时间频率的图表,揭示了五个九所掩盖的系统差异。这种方法还揭示了应该关注哪里。如果更长的停机时间更常见,首先解决运营实践问题。如果短停机时间占主导地位,添加如多可用区等的弹性。通过这种方式,持续时间和频率推动了工程优先事项。

作为案例研究,科尔(Colm)详细描述了亚马逊云科技(Amazon Web Services)的路由器53(Route 53)的DNS数据平面。他在12年前首次将个人网站托管在路由器53上。在这段时间里,他从未经历过停机或解析失败。五个九模型在这里提供了很少的见解。可用性超过了五个九,但超出了多少?只有通过持续时间和频率才能清晰起来。对于路由器53的DNS数据平面,多年的停机如此罕见,以至于不存在。这种极端的弹性反映了路由器53在亚马逊云计算基础设施中的关键任务角色。

接下来,科尔讨论了传统观念的限制,即简单等于可靠。虽然直观,但这个公理过于简化了复杂的工程权衡。例如,将独轮自行车与自行车进行比较。独轮自行车的组件更少,但作为日常交通工具,其使用和可靠性明显较低。重要的是拥有所需的最少部件,同时考虑到现实世界的权衡。

亚马逊云科技在超过15年的时间里,在像EC2和S3这样的服务的发展过程中学到了这个教训。这些服务仍然运行从第一天开始的代码,反映了一种“尊重过去”的精神。亚马逊云科技逐步添加功能,同时使用严格的流程来整合发生的任何事件的教训。正如科尔强调的那样,这种逐步改进的方法是大规模分布式系统开发的唯一经过验证的方法。没有保证完美的单一参考架构或“金手册”。

作为一个例子,科尔描述了亚马逊云科技如何随着时间的推移逐渐分割服务。亚马逊云科技跨区域、可用区和规划分区完全独立的基础设施运行。虽然15年前并不明显,但当不可避免的问题发生时,这种激进的分区会在多个层面上最大限度地减少影响范围。如果亚马逊云科技采用单体架构,全球停机将是常见的。相反,多地区和多可用区可用性已嵌入核心设计中。

测试是亚马逊云科技随着时间的推移不断重复和投资的另一个领域。现代亚马逊云科技服务有数千个单元测试,数百个集成测试,以及在预生产环境中的大量故障注入。正如科尔所解释的那样,测试大大加速了发展可靠系统所需的经验。实际上,它是一个“时间机器”,使团队能够在几天内模拟几年的失败。

在亚马逊云科技中,观测性发挥着至关重要的作用。我们提供的服务会收集数千个内部指标,以便快速发现潜在的衰退或性能下降。例如,科尔(Colm)提到了亚马逊云科技的开源TLS库s2n。在GitHub上,你可以看到s2n的详细单元测试和集成测试覆盖率,了解亚马逊云科技如何确保关键软件的高质量。

然而,如果没有严格的变更管理和测试,这一切都是徒劳的。科尔解释了亚马逊云科技是如何通过部署和运营来实现极端谨慎的方法的。软件发布会逐步进行以降低风险。自动化将经验编码到部署工具和系统中,从而吸取经验教训。通过全面访问控制,限制操作员的权限使错误更加难以发生。

这种以自动化为核心的实践在亚马逊云科技的规模下至关重要。正如科尔所说,即使是最有经验的员工也无法手动管理一个全球性的云计算平台。通过严格的部署和自动化,亚马逊云科技的运营速度确保了安全性。

最后,科尔强调了支持性和勇于创新的工程文化的重要性。不仅仅是手册或程序,决定结果的还有团队的共同价值观。当人们感到受到支持并愿意冒险时,他们会尽早提出问题。如果人们对出现问题害怕报复,问题就会被掩盖。

专注于高标准的精英团队吸引和发展有才华的建设者。这些建设者然后在整个组织中强化和传播高标准。这产生了一个难以替代的技术卓越和互相尊重的良性循环。相反,陷入平庸和责任指责恶性循环的组织很难改进。

总之,科尔重申了高度可用的系统是由其运营成熟度而非仅仅由其代码定义的。通过吸收这些宝贵的经验教训,工程师可以设计从一开始就准备好应对压力的服务。亚马逊云科技的发展轨迹表明,这需要数年时间,但结果将是变革性的。

下面是一些演讲现场的精彩瞬间:

亚马逊云科技的领导者分享了他如何利用Route 53在超过12年的时间里托管个人网站并保持100%的运行时间,这展示了亚马逊云科技服务的极高可靠性。

ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训_第1张图片

他解释了自己是如何通过预期持续时间来分析系统可靠性数据的,从而为客户提供了更高的可用性并推动了更有意义的对话。

ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训_第2张图片

为了实现这一目标,亚马逊云科技采用了驱动程序分片技术,将每个客户分配到两个随机的数据库单元,从而最大限度地减少两个单元同时出现故障的可能性,从而提供内置的弹性。

ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训_第3张图片

领导者还强调了拥有高质量工作和支持团队的必要性,这些团队对于实现成功的良性循环至关重要。

ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训_第4张图片

总结

亚马逊云科技的副总裁兼资深工程师Colm MacCárthaigh在一次关于从构建高度可靠的系统中汲取经验的演讲中,首先阐述了采用传统的“九”模型分析系统可用性的局限。他认为这种方法只能提供粗糙的低质量度量。相反,他主张关注预期的中断频率和持续时间,这对于系统设计提供了更具针对性的见解,并能捕捉到部分可用性。

接下来,MacCárthaigh分享了亚马逊云科技实现高可用性的三个关键策略:首先,通过在每个区域和可用性区域中运行独立的副本来实现系统的隔离,从而将故障限制在局部范围。其次,通过始终让某些系统在最大负载下运行,以最小化动态性和变化。第三,在生产之前,利用故障注入和自动化推理等技术对所有层级进行严格的测试以模拟故障。

他强调,操作安全性至关重要,需要采取偏执的过程来逐步推出更改,并使用集中式部署工具。这有助于防止操作员犯错,并将所学经验编码到自动化系统中。

最后,MacCárthaigh强调需要一个由精英组成的强大支持团队,具备高标准和无畏的文化,始终坚持质量。这形成了一个良性循环,可维护的系统吸引了有才华的建设者,他们进一步提高了质量。

总之,通过关注中断的频率、持续时间、系统隔离、恒定负载、全面测试、操作严谨以及优秀的团队来推理可用性,是大规模构建高度可靠系统的关键。

演讲原文

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

ARC310 | 超越五个9s:从我们最高可用的数据平面中得到的教训_第5张图片

你可能感兴趣的:(aws)