关键字: [Amazon Web Services re:Invent 2023, Amazon Web Services, Resilient Architectures, Fault Isolation, Chaos Engineering, Microservices, Observability]

本文字数: 1100, 阅读完需: 6 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1Mc411i7CJ

导读

参加本次讲座,学习 Amazon.com 扩展和构建弹性系统的经验。凭借 20 多年在 Amazon.com 工程高度可扩展系统方面的综合经验,本讲座的主讲人将指导您了解 Amazon.com 如何构建弹性应用程序,并分享他们如何与亚马逊云科技的各个团队合作,指导他们采用 Well-Architected 最佳实践来构建弹性工作负载,并揭示了这些团队用于弹性运行其云服务的技术和流程。探索展示亚马逊云科技弹性策略的真实案例,如混沌工程、基于单元的架构、多账户可观察性和多站点架构。离开时请带着您可以应用的可行性技术离开。

演讲精华

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

演讲首先强调了恢复力(resilience)在应用程序生产环境中的重要性,即应用程序在面对故障和负载峰值时所具备的承受、减轻和恢复能力。无论是数据中心、云端还是其他任何生产环境中运行应用程序,混乱总是难以避免。不寻常的用户模式、网络问题和各种无法预测的情况都可能发生。因此,构建恢复力使得应用程序能够在混乱中保持可靠的可用性。

为了实现这一目标,亚马逊云科技近期推出了一项将恢复力过程与软件开发生命周期相结合的生命周期恢复力框架。通过将恢复力实践融入开发流程,应用程序可以随着时间的推移持续保持可用性。稍后的一天内,将安排一次专门的讲座,以更详细地介绍这个生命周期框架。

演讲的核心内容在于亚马逊网站的实际恢复力可扩展架构案例。虽然这些建议适用于任何规模的组织,但亚马逊自身的发展历程展示了恢复力如何支持大规模扩展。

亚马逊始于1995年,起初只是一个在两个服务器上运行的网站。然而,秉承着“快速变大”的理念,流量和基础设施迅速增长。在2021年的Prime Day期间,售出了超过2.5亿件商品,产生了110亿美元的销售额,突显了其当前规模之大。对技术领域的观众而言,亚马逊云科技服务和资源在支撑亚马逊网站方面更具相关性。例如,DynamoDB每秒处理数百万次请求,Aurora处理数十亿交易和TB数据,S3存储EB级数据,这些均展示了云服务如何推动网站的恢复力和可扩展性。

然而,亚马逊最初仅在两台服务器上运行,如今其架构已发展为数千台微服务组成的系统。负责特定服务的团队在保持独立性的同时,可以构建通用框架。这种职责分离既支持创新,也防止了相关故障的发生。例如,一个产品页面的示例展示了一个框架,该框架可以同时对后台的“widgets”——即离散的微服务——发出数百个并行调用。图像、标题、评论、定价和其他元素均来自不同的服务。这种并行化提高了速度,同时在某个服务出现问题时,还能实现优雅降级。客户仍能获取足够的信息进行购买决策,即使存在一些小问题。

转换为具体案例,本次演讲主要探讨了三家亚马逊公司——Prime Video、Ring和Alexa如何运用亚马逊云科技的弹性架构。

首先,Prime Video分析平台采用了基于单元格的架构,将工作负载按照地区划分为三个部分,以便实现更好的故障隔离并简化全球推广。通过使用轮询算法和地理接近规则,流量路由策略能在单元格间合理分配请求。运行状况检查可识别出问题单元格,并自动将流量切换至可用单元格。这种实施使得可用性在四周内达到99.999%,证明了其有效性。

其次,Ring的事件驱动架构也利用了其流式事件总线(SEB)中的单元格,以加速向用户传输安全录像。当Ring摄像头上传视频时,触发分布在各个单元格的代码转换任务。专用工作节点处理排队任务,并将输出写入S3存储桶。弹性机制允许单元格根据需求扩展,以应对万圣节等高峰期。步骤函数监测队列长度以指导自动扩展决策。

此外,SEB使用在Amazon MSK上运行的Kafka集群以超低延迟路由Ring设备、应用程序和用户之间的所有事件。基于单元格的设计确保了故障隔离,例如通过“备用单元格”等创新避免Kafka中的相关故障。电路断路器可防止受损单元格引发问题。该实施在峰值时每秒处理超过129,000个事件,同时保持6个9的可用性。

最后,Alexa移动应用的个性化功能也采用了基于单元格的架构以实现容错。然而,团队使用了亚马逊云科技故障注入模拟器(FIS)进行资源评估和故障模拟,如AZ中断。这种测试使得在处理从300万至400万用户的扩展时有信心,从而每季度节省640名开发人员的维护时间。

除单元格外,FIS使Alexa开发者能够在无额外运营开销的情况下运行大量弹性实验。混沌测试已实现自动化、一致性且普及。随着创新优先于管理工具,开发者生产力得到提高。

在Alexa进行测试的过程中,Audible重点关注了其微服务架构的全盘观察。这使得产生了大量的指标、追踪记录和日志。工程师们在解决这些问题时,往往需要花费大量时间去拼接各种数据。然而,通过使用CloudWatch跨账户观测性聚合功能,所有数据都被集中到一个监控帐户中。如今,Audible的工程师能够查看端到端的请求,识别故障并在一个地方关联日志。这意味着每个问题的调试时间已经从平均两小时以上缩短至20-30分钟。这一改进强调了工程师们可以更快地隔离问题根源的速度。

总的来说,亚马逊团队使用了细胞、实验以及亚马逊云科技上的观测性等技术来构建具有弹性和可扩展性的架构。实际案例表明,这些方法即使在复杂的情况下也能有效运作。会议参与者可以通过提供的资源来学习并应用所学知识。只要投入专注和纪律,任何规模的组织都可以实施类似的实践。这些案例旨在激发和教育他人。通过精心设计,弹性是可以实现的。

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

恢复力生命周期框架通过跨越准备、响应和恢复阶段进行持续改进,有助于提高应用程序的可用性。

当错误率超过预设阈值时,断路器模式将开启,阻止请求抵达有问题的组件。

领导者们强调在鼓励开发者专注于创新的同时,提高客户体验和容错能力的重要性。

领导者们探讨了实施恢复力所面临的挑战,包括整合多种技术、达成兼容性、增强安全性和模拟现实环境事件。

研究表明,引入CPU和内存负载并不会影响延迟,而且不会导致因亚马逊云科技的容错机制而导致故障。

领导者们谈到了亚马逊云科技提供的各种支持恢复力的服务,如Resilience Hub、Adios备份、Elastic Disaster Recovery以及Route 53 Arc。

总结

re:Invent会议,以现实生活中的Amazon Web Services (亚马逊云科技)实例为例,向与会者展示了如何构建具有弹性和可扩展性的架构。演讲者强调,弹性使得应用程序能够在面对故障和高负荷时保持稳定,从而为客户提供高度的可用性。

本次讲座主要探讨了构建弹性系统的三个关键方面:设计、测试和运营。首先,亚马逊采用面向服务的架构和独立的微服务,以限制故障影响范围。此外,诸如故障隔离单元和自动扩增等技术也有助于提高弹性。其次,团队通过混沌工程实验和负载测试来进行广泛测试,以验证系统的稳定性。最后,亚马逊监控跨服务的可观测性指标,以确保稳健的运营。

具体案例包括亚马逊音乐、Prime视频、Alexa和Ring等应用的弹性设计。Ring构建了一个大规模可扩展的事件驱动系统,能在8个地区每秒处理129,000个请求,实现6个9的可用性。Alexa则通过自动化故障注入测试来提高弹性和开发者的工作效率。讲座强调,在整个系统生命周期中,弹性必须得到持续的评估,而健壮的架构则允许在扩大规模的同时进行创新。

演讲原文

https://blog.csdn.net/just2gooo/article/details/134811960

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

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

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

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

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

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

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

亚马逊云科技是谁?

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