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

阅读 216 ·  发布日期 2017-03-09 15:40:25 ·  admin 目录:首页 / 资讯
2月28号,号称「亚马逊AWS最稳定」的云存储服务S3出现“超高错误率”的宕机事件。

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

  一个字母造成的血案

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

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

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

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

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

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

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

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

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

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

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

  Apple App Store & icloud

  Airbnb

  Expedia

  Netflix

  Quora

  Amazon Echo

  Amazon.com

  Nasdaq

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

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

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

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

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

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

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

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

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

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

  这牛逼也够吹一辈子了!

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

/zixun/dacuoyigezimutanhuanbangehulianwangshizenyangdeganshou/p.article_6_78.html