从亚马逊S3云错误中吸取的5个教训——以及如何为下一次错误做好准备

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

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

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

+更多见网络世界有个足球雷竞技app:云摊牌:亚马逊网络服务vs微软Azure vs谷歌云平台|亚马逊S3的中断引发了来自其他人的大量道歉+

这周应该是一个警钟,确保你的基于云的应用程序为下一次的云故障做好了准备。这里有五个技巧,可以帮助你为云宕机做好准备:

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

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

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

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

尽快ID失败

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

一旦确定了错误,就需要预先配置一系列domino-effect反应来响应这种情况(参见上文关于multi-AZ、multi-region或multi-cloud)。负载平衡器可以用于重定向通信,如果已经将备份系统设置为重定向的话,则可以启动它们(见下面)。

从一开始就构建冗余系统

尝试实时响应停机将不是很有用。停机前的准备工作将在不可避免的停机来临时帮助您。在云系统中构建冗余有两种基本方法:

备用:当出现故障时,应用程序会自动检测到故障,并将故障转移到备份的冗余系统中。在这种情况下,备份系统可以关闭,但在检测到错误时准备启动。另一种选择是备用备份可以一直在后台空闲运行(这样做的成本更高,但会减少故障转移时间)。这些备用方法的缺点是,在检测到错误和故障转移系统启动之间可能存在延迟。

活跃的冗余:为了(理论上)避免停机,用户可以将其应用程序设计为具有活动冗余。在此场景中,应用程序分布在多个冗余资源中:当一个资源出现故障时,其余的资源将吸收更大的工作负载份额。可以使用切分技术,将服务分解为组件。例如,一个应用程序跨8个虚拟机实例运行—这8个实例可以分成4组,每组两个,并且可以在它们之间实现负载平衡。如果一个碎片掉了,其他三个碎片可以补上交通。

备份数据

拥有冗余系统是一回事,备份数据是另一回事。这在本周的混乱中尤其重要,因为它首先影响了亚马逊最受欢迎的存储服务S3。AWS有多种方法来本地备份数据:

同步复制是这样一个过程,在这个过程中,如果事务已被复制到辅助位置,应用程序只确认该事务(例如将文件上载到云中,或将信息输入到数据库中)。这种方法的缺点是,它可能会引入等待辅助复制发生和等待主系统获得确认的延迟。当延迟不是优先级时,这是可以的。

异步复制:这个过程将主节点与副本解耦,这对于需要低延迟写能力的系统很好。在这种情况下,用户应该愿意在出现故障时损失一些最近的事务。

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

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

测试你的系统

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

有关AWS在容错架构方面的最佳实践的更多信息,请查看这个AWS白皮书

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

版权©2017Raybet2

工资调查:结果在