Amazon S3云错误的5个教训——以及如何为下一次错误做准备

不要把所有的鸡蛋放在一个篮子里

根据互联网监控平台Catchpoint的数据,Amazon Web Service的简单存储服务(S3)经历了3小时39分钟的中断这对亚马逊的其他云服务和许多依赖这一流行云平台的网站产生了连锁效应。

“S3就像云中的空气,”Forrester分析师Dave Bartoletti说;当它关闭时,许多网站无法呼吸。但是,在云计算中,中断、错误和中断是不可避免的。Bartoletti说没有理由恐慌:“这不是一种趋势,”他指出。S3一直是如此可靠,如此安全,它一直是亚马逊云服务皇冠上的宝石。”

+更多信息请访问网有个足球雷竞技app络世界云对决:亚马逊网络服务vs微软Azure vs谷歌云平台|亚马逊的S3宕机引发了来自其他公司的大量道歉+

本周应该是一个警钟,确保你的基于云的应用程序为下一次云中断做好准备。以下是应对云中断的5个技巧:

不要把鸡蛋都放在一个篮子里;勿孤注一掷

这个建议对不同的用户有不同的含义,但基本的思想是,如果您将应用程序或数据块部署到云中的一个点,它将不会有很好的容错能力。取决于您希望应用程序的高可用性,将决定您将工作负载分散到多少篮子中。有多种选择:

  • AWS建议至少将工作负载分散到多个可用区域。组成AWS的16个区域中,每个区域至少分成两个,有时多达五个az。每个AZ与同一区域内的其他AZ隔离。AWS在同一区域内的az之间提供低延迟连接,创建了最基本的方式来分配您的工作负载。
  • 为了加强保护,用户可以将其应用程序分布到多个区域。
  • 最终的保护是跨多个提供商部署应用程序,例如使用Microsoft Azure、谷歌云平台或一些内部或托管的基础设施资源作为备份。

巴托莱蒂说,不同的客户在这方面有不同的紧迫感。如果您依赖云来为您的业务或它对生产力的整合赚钱,您最好确保它的容错性和高可用性。如果您使用它来备份不经常访问的文件,那么您可能能够忍受偶尔的服务中断。

尽快ID失败

应对云故障的一个关键是知道何时发生故障。AWS有一系列方法来实现这一点。其中最基本的一种是使用所谓的健康状况检查,它提供每个帐户使用的AWS资源状态的自定义视图。Amazon CloudWatch可以配置为自动跟踪服务可用性、监控日志文件、创建告警并对故障做出反应。这项工作的一个重要先驱是彻底分析什么是“正常”行为,以便AWS云工具可以检测“异常”行为。

一旦确定了错误,就需要对一系列多米诺效应反应进行预先配置,以响应这种情况(参见上面关于多az、多区域或多云的介绍)。负载均衡器可以用于重定向通信量,如果已经设置了备份系统,则可以启动它们(见下文)。

从一开始就构建冗余系统

试图实时响应中断将不是很有用。当不可避免地出现停机时,在停机前做好准备可以为您节省时间。在云系统中构建冗余有两种基本方法:

备用:当发生故障时,应用程序自动检测到故障,并将故障转移到备份的冗余系统中。在这种情况下,备份系统可以关闭,但在检测到错误时准备启动。另一种方法是备用备份可以在整个过程中在后台空闲运行(这会花费更多,但会减少故障转移时间)。这些备用方法的缺点是,在检测到错误和故障转移系统启动之间可能存在延迟。

活跃的冗余:为了(理论上)避免停机,用户可以将其应用程序设计为具有活动冗余。在这个场景中,应用程序分布在多个冗余资源上:当一个资源失败时,其余的资源将占用更大的工作负载份额。可以使用分片技术,将服务分解为组件。例如,一个应用程序在8个虚拟机实例上运行——这8个实例可以分成4组,每组两个,流量可以在它们之间进行负载平衡。如果一个碎片坏了,其他三个就能接收到信号。

备份数据

有冗余系统是一回事,备份数据是另一回事。这在本周的中断中尤为重要,因为它首先影响了Amazon最流行的存储服务S3。AWS有多种本地备份数据的方法:

同步复制是一种流程,在该流程中,如果事务已被复制到次要位置,则应用程序只会确认该事务(如向云中上传文件或向数据库输入信息)。这种方法的缺点是,它可能引入等待次要复制发生和主系统获得确认的延迟。当延迟不是优先级时,这是没问题的。

异步复制:这个过程将主节点与副本解耦,这对于需要低延迟写功能的系统来说是很好的。在此场景中,用户应该愿意在出现故障时牺牲一些最近事务的损失。

-Quorum-based复制:是同步复制和异步复制的组合,它设置了限定事务所需备份的最少信息量。

为了确定如何最好地构建冗余系统和备份数据,客户应该考虑其期望的恢复点目标(RPO)和恢复时间目标(RTO)。

测试你的系统

为什么要等待宕机发生,以查看您的系统对故障的弹性?预先测试它。这听起来可能很疯狂,但最好的云架构师愿意杀死整个节点、服务、az甚至区域,看看他们的应用程序是否能够承受。Bartoletti说:“你应该不断地完善自己的网站。Netflix拥有名为Chaos Monkey和Chaos Gorilla的开源工具,这是它的一部分猴军队这可以自动关闭某些内部系统,以测试它们对错误的容忍度。他们工作吗?本周,Netflix没有报告其服务宕机的任何问题。

有关AWS容错架构最佳实践的更多信息,请查看此内容AWS白皮书

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。

版权©2017Raybet2

2021年IT薪资调查:结果已经出来了