首页 > 云计算 > 公有云实践 > 最佳实践:亚马逊云科技构建弹性系统的框架和思维模型
关键字: [ 亚马逊云科技中国峰会2024, Resilience Engineering, 弹性系统生命周期, 故障预测与检测, 故障响应与恢复, 持续改进与学习, 隔离边界与容量]
本文字数: 2000, 阅读完需: 10 分钟
在本次演讲中, 演讲者分享了亚马逊内部使用的关于弹性的心智模型和框架, 包括弹性生命周期框架和弹性分析框架。他解释了构建弹性系统需要考虑的四个关键类别: 预测、监控、响应和学习。演讲还介绍了如何识别潜在的故障模式、评估系统的弹性属性, 以及在成本、复杂性和一致性之间权衡。最后, 演讲者通过一个客户案例, 展示了如何运用这些框架和最佳实践来持续提高系统的弹性和可靠性。
以下是小编为您整理的本次演讲的精华,共1700 字,阅读时间大约是8 分钟。
在亚马逊云科技中国峰会2024 上, 一位演讲者分享了亚马逊内部使用的一些关于构建弹性系统的框架、思维模型和最佳实践。他阐述了三个核心思维模型, 旨在帮助理解弹性系统的概念和构建方法。
第一个思维模型将构建弹性系统的目标分为两个: 一是提高关键系统的可用性, 侧重于处理像集群节点失效等局部故障; 二是应对灾难恢复情况, 需要应对大规模灾难事件, 两者的思路和方法有所不同。但无论哪种情况, 弹性都需要作为一个持续的过程, 通过持续的混沌工程、运维卓越等手段来持续测试和提升系统弹性。
第二个思维模型包含5 条关键经验。首先, 弹性是一个连续过程, 不是一次性的。其次, 在复杂分布式系统中, 故障是不可避免的, 关键是如何从故障中恢复。第三, 构建弹性系统需要人、流程和技术的融合。第四, 良好的DevOps 实践对于快速从部署失败中恢复至关重要, 因为统计数据显示70% 以上的故障是由于部署失败导致的。最后, 在架构上采用隔离原则有助于故障的控制和恢复。
第三个思维模型是弹性工程四大支柱: 预测故障、监控故障、响应故障和从故障中学习。预测故障意味着能够预见系统可能出现的故障场景。监控故障则需要建立有效的观测能力, 及时发现系统异常。当故障发生时, 需要快速响应并采取恢复措施。最后, 对于发生的每一个故障, 都需要深入分析原因, 并从中吸取教训, 持续改进。
接下来, 演讲者介绍了” 弹性系统生命周期” 这一框架, 它将构建弹性系统的过程划分为目标设定、设计实现、测试评估和运维等阶段, 并对每个阶段的最佳实践进行了阐述。在目标设定阶段, 需要明确可用性目标, 如服务水平协议(SLA) 、服务水平目标(SLO) 等。设计实现阶段则需要遵循隔离、冗余等原则, 确保系统具备弹性特性。测试评估阶段主要依赖混沌工程等手段, 模拟故障场景, 验证系统的弹性表现。运维阶段则需要借助观测能力、应急响应机制等, 持续监控和维护系统的弹性状态。
演讲者重点介绍了” 弹性分析框架” 。该框架首先定义了弹性系统的四大特性: 隔离性、足够容量、冗余性和正确及时的输出。隔离性意味着将系统划分为多个隔离边界, 使故障的影响范围受到限制。足够容量则要求系统有足够的资源来应对负载需求。冗余性通过引入备份机制, 在主体失效时提供备用选择。正确及时的输出则是指系统需要按时向客户端提供正确的响应。
该框架对系统的组成部分进行了解构, 不仅包括组件和交互, 还包括控制器、操作人员和关键路径等。控制器是指系统中用于自动化管理的机制, 如自动扩缩容、熔断等。操作人员则是指参与系统运维的人员, 如现场工程师、应急响应团队等。关键路径是指系统中最核心的业务流程, 需要被重点保护和优化。
该框架列举了五大故障类型: 隔离边界失效、过载、延迟、错误配置和单点故障。隔离边界失效意味着系统的隔离机制失灵, 故障会蔓延扩散。过载则是指系统的负载超过了其容量极限。延迟是指系统的响应时间过长, 影响了及时性。错误配置和单点故障则分别源于人为操作失误和架构缺陷。
对应这些故障类型, 该框架提出了四种控制手段: 检测控制、预防控制、恢复控制和测试控制。检测控制是指建立观测能力, 及时发现系统异常。预防控制则旨在采取主动措施, 避免故障的发生, 如利用亚马逊云科技的自动扩缩容服务来维持足够的系统容量。恢复控制是在故障发生后, 通过手动或自动化手段将系统恢复到正常状态, 如故障转移、熔断等。测试控制则是通过混沌工程等方式, 模拟各种故障场景, 验证上述三种控制措施的有效性。
在采取控制措施时, 需要权衡成本、复杂度、一致性和延迟等权衡因素。成本和复杂度是指实施这些措施所需的资源投入和运维负担。一致性则是指在提升弹性的同时, 是否会影响系统的数据一致性。延迟则需要考虑这些措施对系统响应时间的影响。
总的来说, 这一框架提出了一种分析弹性系统的系统性方法, 包括确定关键路径、识别潜在故障模式、评估各种控制措施的成本收益, 并通过持续的测试和改进来提升系统弹性。
最后, 演讲者通过一个客户案例, 展示了如何运用这些框架和方法来帮助客户分析现有系统面临的80 多种风险, 并根据概率、影响和可控性等因素制定优先级, 采取单元化架构、混沌工程等措施持续提升系统弹性。
该客户拥有一个规模庞大的物联网平台, 承载着数百万台设备。最初, 该平台是一个单一的整体架构, 任何一点故障都可能导致整个系统中断。为此, 亚马逊专家首先与客户一起, 按照弹性分析框架的方法, 梳理出了该系统面临的80 多种潜在风险, 包括错误配置、单点故障、雪崩效应等。
接下来, 专家们协助客户评估每种风险的发生概率、影响程度和系统当前的控制能力, 并给出相应的评分。发生概率和影响程度分别被划分为5 个级别, 满分为10 分。控制能力则根据检测、预防、恢复和测试四种控制手段的成熟度进行评估, 也被划分为5 个级别。三个维度的评分相乘, 最高可得1000 分。通过这种方式, 他们对80 多种风险进行了优先级排序, 分数最低的风险可以暂不处理。
对于高优先级的风险, 他们制定了相应的控制措施, 包括架构重构、预警报警等。其中, 最关键的一项措施就是将整个平台拆分为三个独立的单元, 每个单元约150 万台设备, 拥有独立的数据库和应用程序。这种单元化架构的优势在于, 每个单元之间是相互隔离的, 一个单元出现故障不会影响其他单元, 从而将故障的影响范围控制在较小的边界内。
除了架构重构, 专家们还引入了混沌工程的做法, 利用亚马逊云科技的各种服务在测试或预发布环境中注入各种故障, 如模拟网络延迟、CPU 过载、磁盘故障等, 验证系统的弹性表现, 并根据测试结果持续改进。如果发现新的风险或漏洞, 他们会通过错误纠正流程, 深入分析根因, 并将改进措施应用到所有相关系统中。
同时, 他们还建立了完善的监控告警机制, 利用Amazon CloudWatch 等服务对系统的关键指标和运行状态进行持续观测, 一旦发现异常便能立即触发应急响应。
经过将近一年的持续实践, 该客户的系统弹性得到了显著提升。从2022 年10 月到2023 年6 月, 系统故障的发生频率下降了约70%, 平均恢复时间也缩短了50% 左右。更重要的是, 无论是来自亚马逊云服务的中断, 还是系统自身的配置错误或者部署失败, 都不会再导致整个平台的中断, 始终保持了对终端用户的服务可用性。
该案例生动展现了亚马逊弹性分析框架及相关最佳实践在实战中的应用, 阐明了如何通过一个持续的生命周期, 分阶段地分析、评估、实施和测试, 最终构建出一个高度弹性的系统。同时, 它也验证了隔离、冗余、混沌工程等技术手段, 以及亚马逊云科技的各种云服务在提升系统弹性方面的重要作用。
总的来说, 这个演讲全面阐述了亚马逊在构建弹性系统方面的理念、框架和实践, 为企业构建高弹性的云系统提供了一套系统性的指导和最佳实践。通过思维模型的建立、分析框架的应用, 结合架构重构、混沌工程、监控告警等技术手段, 以及充分利用亚马逊云科技的各种云服务, 企业可以有效提升其系统在复杂环境下的弹性和可用性, 降低由于故障而导致的业务中断风险, 为客户提供更加稳定和可靠的服务。
下面是一些演讲现场的精彩瞬间:
亚马逊云科技中国峰会2024 上, 演讲者分享了亚马逊内部和与客户交流时使用的关于弹性的心智模型和框架, 帮助理解云中弹性的含义及最佳实践。
亚马逊云科技中国峰会2024 上, 演讲者深入解释了系统的定义, 强调系统不仅包括技术组件, 还包括控制器、操作员、关键业务流程等, 理解系统的全貌对于提高弹性至关重要。
在亚马逊云科技中国峰会2024 上, 演讲者详细阐述了提高系统可用性和弹性的五大故障类别和四种控制措施, 并强调在做出相关决策时需要权衡成本、复杂性和数据一致性等因素。
亚马逊云科技中国峰会2024 上, 演讲者分享了他们如何通过将系统架构拆分为独立的单元来提高可靠性, 每个单元承载约150 万设备, 互不影响, 以防止单点故障导致全系统瘫痪。
亚马逊云科技中国峰会2024 上, 演讲者解释了亚马逊云科技的韧性系统是如何针对客户的关键系统提高其弹性和可靠性的。
亚马逊云科技中国峰会2024 上, 演讲者详细阐述了混沌工程和文本工程的成熟度模型, 为企业提供了实施路径指引。
弹性系统建设是一个持续的生命周期过程, 旨在提高关键系统的可用性和应对灾难恢复的能力。这个过程包括预测、监控、响应和学习四个关键环节, 贯穿于设定目标、设计实现、测试评估和运营卓越等阶段。
弹性系统需具备隔离、足够容量、冗余、正确及时响应等属性。构建弹性系统不仅需要技术, 更需要人、流程与技术的紧密结合。首先要识别关键业务流程和潜在故障模式, 然后采取检测、预防、恢复和测试等控制措施, 在成本、复杂性和一致性等因素间权衡。
通过持续的混沌工程、错误纠正等实践, 不断测试、优化和学习, 企业才能真正实现业务连续性和系统弹性。这需要制定明确的弹性战略, 优先解决高影响低投入的风险, 并建立完善的运维流程和应急预案。
2024 年 5 月 29 日,亚马逊云科技中国峰会在上海召开。峰会期间,亚马逊全球副总裁、亚马逊云科技大中华区总裁储瑞松全面阐述了亚马逊云科技如何利用在算力、模型、以及应用层面丰富的产品和服务,成为企业构建和应用生成式 AI 的首选。此外,活动还详细介绍了亚马逊云科技秉承客户至尚的原则,通过与本地合作伙伴一起支持行业客户数字化转型和创新,提供安全、稳定、可信赖的服务,以及持续深耕本地、链接全球,助力客户在中国和全球化发展的道路上取得成功。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3019999/ ,如需转载,请注明出处,否则将追究法律责任。