AWS 上的韧性
探索如何在 AWS 上构建韧性应用程序
什么是韧性?
韧性是指系统承受失效、中断或意外事件并从中恢复的能力。云端软件具有一系列特性,即使在最具挑战性的条件下也能维持应用程序的功能性、完整性和稳健性。例如,应用程序抵御故障或负载峰值并从中恢复过来以及保持正常运行的能力是一个持续性过程,需要不断进行设计决策、可观测性和评测。此页面汇集了有关韧性资源的技术、教程和示例,可帮助您在 AWS 云中构建已就绪并优化以满足客户需求的应用程序。
-
每个人都应了解的关于韧性的四个概念
了解在 AWS 云中构建韧性应用程序的基本概念,并通过大量链接深入探讨这些主题。
- 什么是韧性——它是关于抵御故障和负载峰值并保持正常运行的能力。
- 如何防止故障演变成失效——故障时有发生。如何防止它们在云端应用程序中出现失效?
- 如何考虑韧性——我们喜欢将其视为一个由三部分组成的模型。这可以帮助您了解用于缓解不同类型故障的各种策略。
- 云如何帮助您构建韧性应用程序——了解云为实施韧性最佳实践而提供的工具和自动化。
韧性基础
在 AWS 上构建韧性应用程序需要采用全面的方法,将关键资源和框架整合到一起。从“AWS Well-Architected Framework 的可靠性支柱”开始,构建者可以学习创建韧性云工作负载的最佳实践。“韧性分析框架”通过重点介绍关键失效模式和实施缓解措施所涉及的利弊权衡,帮助进一步加深理解。为了保持和增强韧性,“韧性生命周期框架”提出了分为五个阶段的持续改进策略。最后,AWS 韧性监测中心使开发人员能够评测和完善其应用程序的韧性,利用 AWS 的最佳实践和自动化解决方案来实现稳健的韧性状态。这些资源共同提供了一条全面的路径,帮助您在 AWS 上实现并维持韧性应用程序。
-
AWS Well-Architected Framework 的可靠性支柱
AWS Well-Architected Framework 帮助您衡量在 AWS 上构建工作负载时所做决策的利弊。本支柱白皮书记录了在云端构建韧性应用程序所需的最佳实践。
-
韧性分析框架
使用韧性分析来了解哪些失效模式对保护您的应用程序免受影响最为重要。本白皮书介绍了 SEEMS 模型,涵盖了五种常见的失效类别,SEEMS 中的每个字母代表其中一种失效模式:单点故障、过载、延迟过长、配置错误和错误以及共同命运。了解更多 -
韧性生命周期框架:持续提高韧性的方法
持续的生命周期使您能够不断提升应用程序的韧性。基于多年来与客户和内部团队的合作,该框架概述了五个关键阶段以及每个阶段的活动,以保持应用程序的韧性。
-
使用 AWS 韧性监测中心构建韧性 Well-Architected 工作负载
AWS 韧性监测中心提供多种功能来提高您的应用程序在 AWS 上的韧性。它根据 AWS Well-Architected 的韧性最佳实践评测您的应用程序,并就如何改善您的韧性状态提供具体指导。它还为你提供了模板,让你可以在 Systems Manager 中轻松部署新的 CloudWatch 警报、故障注入服务实验以及自动运行手册。有了这些,您可以监控和测试应用程序的韧性,同时自动化韧性策略中的相关操作。
韧性生命周期框架:持续提高韧性的方法
高可用性 (HA)
高可用性 (HA) 采取了积极主动的方法来实现韧性。即设计系统时,要让系统能够自动从常见失效中恢复,而无需人工干预。这可能包括复制关键组件,平衡多台服务器的负载,或者使用可以在网络出现故障时重新路由流量的云服务。 高可用性 (HA) 旨在降低因小而频繁的问题对您的服务产生重大影响的概率。
-
可用性及其他:可用性及其他:提升分布式系统的韧性
本文概括介绍了对可用性作为一种韧性衡量标准的共识,为构建高度可用的工作负载制定规则,并提供有关如何优化工作负载可用性的指导。了解更多 -
深入了解最佳实践
深入了解如何实施具体的韧性最佳实践以实现可用性目标 -
基于单元的架构
-
运行状况检查
-
灰度故障
深入了解最佳实践
灰度故障
ARC309 | 构建能够从可用区故障中恢复的应用程序——此论坛和 ARC301 配合观看。在本次分论坛中,您可了解Amazon Route 53 应用程序恢复控制器可用区转移。嗯,该服务名字很长,但功能非常强大——它让您可以控制哪些可用区被纳入或排除在您的应用程序中(即哪些可用区正在接收流量)。使用本论坛中介绍的监控技术,您将能够检测何时需要将某个可用区设为离线,了解如何将其移除,并维持良好的可用区继续在线处理客户流量。视频
灾难恢复 (DR)
灾难恢复 (DR) 是您的安全保障。这是您为从可能导致长期停机(例如自然灾害、网络攻击或重大技术故障)的灾难性事件中恢复而制定的流程和政策。它的目标是通过制定强大的备份和恢复策略来最大限度地减少停机时间和数据丢失。这不仅涉及备份数据,还包括确保您可以快速恢复操作,必要时可能需要在其他地理位置恢复操作。
持续改进
韧性不是一劳永逸的功能。它需要持续改进。这意味着要定期测试系统从失效中恢复的能力,这种做法被称为混沌工程。它还实时监控您的系统,以快速识别和解决问题。将韧性测试纳入持续部署流程,可以确保您的架构能够应对新的挑战,并有效抵御不可预见的威胁。