当前位置: > Linux新闻 >

打错一个字母瘫痪半个互联网!亚马逊 S3 宕机事件缘由

时间:2017-03-06 19:30来源:IT 作者:IT

2月28号,号称「亚马逊AWS最稳定」的云存储服务S3出现“超高错误率”的宕机事件。

接着,半个互联网都跟着瘫痪了。

一个字母造成的血案

AWS在昨天给出了确切的解释:一名程序员在调试系统的时候,运行了一条原本打算删除少量服务器的脚本,结果输错了一个字母,导致大量服务器被删。为了修复这个错误,亚马逊不得不重启整个系统(在此之前已经几年都没有重启过了),最终导致了震惊全球的Amazon S3宕机4个小时事件。

我想这名程序猿当时的表情应该是这样的

曾经有人计算过,AWS每宕机一分钟,对亚马逊造成的损失是$66,240美元...而这还不包括那些依靠AWS来运行自家服务的公司们的损失。所以这次接近4小时的宕机造成多大的损失,只能请大家自行脑补了。

程序员的世界就是这样的不近人情,一丁点儿错误就足以酿成大错。在这次“一个字母造成的血案”之前,刚刚发生了Gitlab程序猿用错一条命令误删了整个数据库的悲剧。再久一点以前,欧洲宇航局的的火星探测器因为传感器失灵了仅仅一秒钟,就造成探测器在火星表面坠毁,历时数年的探测计划功亏一篑。

所以,当你身边的程序员为了一点点小事较真的时候,你一定要理解:魔鬼都藏在细节里啊!

当S3宕机时,你才明白AWS多么强大

几年前,Google.com曾有一次宕机了一个小时。在那一个小时的时间里,整个互联网的流量减少了40%。当时有人感慨:Google一家就是半个互联网。如今,“半壁江山”的江湖地位似乎要归属于亚马逊了。

AWS是云计算领域全球的领导者,而S3又是AWS历史最久的服务,可以说是AWS的基石。很多AWS提供的其他服务都依赖于S3云存储,比如EC2,Lambda 和 EBS 等,所以这次宕机影响巨大。据最近的统计显示,全球共有148213个网站和121761个独立域名在使用AWS S3服务。

就拿这次事故来说,很多人一觉起来发现手机里的歌听不了,电影看不了,股票不能交易,App也没法下载,就连家里的智能电器都纷纷罢工(主页君家里的电子门锁都失灵了!)云计算听上去离生活很远,其实离我们很近

这次S3宕机影响到无数家公司和服务

在这里罗列了几个著名的:

  • Apple App Store & icloud

  • Airbnb

  • Expedia

  • Netflix

  • Quora

  • Amazon Echo

  • Amazon.com

  • Nasdaq

 

就连AWS自己用来公布服务状态的 AWS Dashboard 都受到了影响,在一段时间内只能通过Twitter账户来发布更新状态。这次S3宕机事件的影响范围之广,可见一斑。

“打错一个字母瘫痪半个互联网”是怎样的感受?

在今天亚马逊披露了这起事故背后的原因后,很多人心里都会有一个疑问:

这个倒霉的程序员会被开除吗?

关于这一点,虽然主页君肯定没法做出准确的判断,但还是愿意给出我们的猜测:不会。

首先,这名程序猿打错命令有没有责任?肯定有。但是,在处理高度可靠的云服务时,每一次操作都应该按照严格的程序,每一个命令都要经过足够的审核。除非这名程序员在操作过程中因为偷懒省略了一些必要的步骤,否则,这次事故更多是系统的责任,因为系统没有足够的机制来防止错误的发生。人,都是会犯错的,只有机器不会。

其次,oncall(值班)的程序员一边操作着影响巨大的的系统,一边还需要争分夺秒的解决问题,肩上的压力之大难以想象。虽然这次事故确实是由于一个打错的字母造成的,但如果事故发生后,作为云服务领航者的亚马逊不是勇敢的承担这笔学费,而是把锅甩给某一个程序员身上,那就太让人寒心了。

我甚至敢断言:如果亚马逊真的做出这样的决定,那么他们在日后的招聘过程中会遇到很大的困难——每个程序员都会三思:我会不会成为下一个背锅的人?

当然,如果这哥们(也可能是姐们)

真的因此被解雇了,想想看——我打错了一个字母,就瘫痪了半个互联网 

这牛逼也够吹一辈子了!

最后,主页君想说:程序员这行真的不容易,做云服务的尤其如此,大家且行且珍惜。对受到这次事故影响而心惊胆战了好几几天的程序员们说一句:加油,你们挺住!

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容