突遭断网断电!阿里双11最惊险一幕曝光...

新闻 开发工具
2020 年 11 月 11 日晚,又一年天猫双 11 狂欢接近尾声。新交易纪录、新流量峰值,一切都是十全十美的样子。

 2020 年 11 月 11 日晚,又一年天猫双 11 狂欢接近尾声。新交易纪录、新流量峰值,一切都是十全十美的样子。

[[352260]] 

图片来自 Pexels

此时,阿里巴巴 CTO 程立(鲁肃)才将一段实录视频公之于众:

[[352261]] 

11 月 5 日凌晨,阿里技术上下完成双 11 大考期间最后一次全链路压测后休息和交接间隙……服务器连续遭遇了两次攻击。

第一次,凌晨两点左右,监控大屏显示四个地区数据中心数值迅速下跌,技术保障团队启动紧急响应处理,确定遭遇了断网攻击。

紧接着第二次,2:10,更凶猛直接的攻击来了。华东区域某个数据中心,直接被拉闸断了电……

但最令人震惊的是,这一切居然是阿里巴巴合伙人、双 11 新零售技术负责人吴泽明(花名范禹)干的。

[[352262]] 

突然袭击,实弹攻击

这不是事先明确的一次突袭。

甚至只有范禹和霜波——阿里双 11 技术大队长、技术安全生产负责人陈琴“小范围”知道。

但是即便如此,陈琴看到这次断网攻击时还是吓了一跳,因为与之前商定的攻击量级并不符合。

当时,明面上压测已经结束,参与的阿里技术工程师们,有的在进行夜宵补给,有的在工位上小憩休息,对于这次意料之外的实弹攻击,没有一点点防备。

[[352263]] 

庆幸的是,技术保障上下训练有序。迅速锁定故障源头,启动应急方案,紧急展开修复……

仅 1 分 28 秒,一切如故。

甚至如果恰好有在那时下单的用户,都难以察觉有过“抖动”。

对于阿里技术上下,虽然事出突然毫无防备,但对于这样的突袭应对,已然肌肉记忆一样……因为在阿里,这种突袭早已普遍而日常,还有专门因此形成的红蓝军对抗。

蓝军负责设计突袭弹药,常在不经意间发起突袭。红军则需要在极短时间内修复故障。

对外,这种技术突袭和红蓝对抗一直不为人知。

对内,无数次突袭和演练之后,连故障恢复机制都形成了“1-5-10”的方法论,即在 1 分钟内发出警报、5 分钟内定位故障、10 分钟内修复故障。

这也是阿里敢将可用性目标提升到达 99.9999% 的底气所在。之所以能如此精确,就是因为一次次突袭演练之后得出的结果。

[[352264]] 

阿里内部,还将这种红蓝军的偷袭与防守,类比为对系统打疫苗。

故意在可控半径内将故障注入系统以测试系统的响应,类似于将少量有害物质注入体内激发免疫反应以防止未来疾病。

这似乎很疯狂,但能让公司提前为包括宕机在内的各种故障做好准备,将其影响降至最低。

甚至还有更疯狂的举动。阿里为这种突袭专门设计了 App,简化成一个“按钮”,串联了阿里巴巴经济体的各种技术架构和业务手段。

方便随时随地,按下按钮完成突袭。

 

它可能发生在任何时候,比如,某一次会议结束后所有人都处于放松状态时。

这次双 11 前的突袭攻击,就出现在范禹闲庭信步走出“光明顶”时——双 11 核心作战室内没人察觉异常。

有内部工程师把这种偷袭演练与马斯克 SpaceX 那次知名的“事故逃逸”演习类比。

核心都是以真实可能发生的事故,来实际检验自身的技术和应急保障机制。

你听过混沌工程吗?

Chaos Engineering,混沌工程。

被称为“故意破坏的艺术”,主要通过主动制造故障,测试系统在各种压力下的行为,从而识别并修复故障问题,以此提高生产环境中系统的容错性和可恢复性,最终实现系统弹性的提升。

 

在硅谷科技公司中,混沌工程已经有过实践。

2010 年,Netflix 团队开发出了 Chaos Monkey——混沌猴子这个工具用于测试系统。

模拟一只讨厌的猴子,在系统中随机位置上蹦下窜,不停捣乱,直到搞挂你的系统。

随后的几年里,Netflix 还将混沌猴子在 GitHub 上开源分享,并指出这种随机故障测试,对测试分布式系统的稳定性有传统方式难以超越的优势。

在这样一整套原理基础上,混沌工程师这样的岗位开始在硅谷出现,角色和功能如这次阿里对外公开的蓝军,把这种随机破坏性攻击,变成一种日常测试手段来提升自身的抗灾能力。

混沌工程是一种专门的理论,本质上是一种反脆弱的思想。

如果再往上追溯,哲学源头可以找到尼采——杀不死我的必使我更强大。

[[352265]] 

而对于阿里来说,混沌工程思想理念,与技术稳定体系需求不谋而合,与阿里异地多活、容灾容错的发展需求契合在一起。

实际上从 2010 年左右,阿里电商域开始尝试故障注入测试的工作,开始的目标是想解决微服务架构带来的强弱依赖问题。

后来经过多个阶段的改进,最终演进到 MonkeyKing 线上故障演练平台。

 

作为阿里集团使用广泛的混沌工程平台,MonkeyKing 不但帮助很多业务团队进行故障演练,提升了业务稳定性,同时也支撑阿里集团内部定期的联合演练活动。

2019 年开始,还开始在小范围生产环境内推进突袭演练,并对外开源了阿里巴巴混沌工程工具 ChaosBlade。

 

而这次双 11 前夜的突然袭击、断网断电,本质也是混沌工程的一次实践。

即便双 11 这样的节点里,显得异常惊险,但对于阿里来说,拥抱「混沌工程」,搞出「红蓝演练」,也是业务倒逼的结果。

被逼出来的阿里

阿里历史上很多业务改革,都与双 11 密切相关。

比如「异地多活」,起初就是因为双 11 很火,流量带来扩容需求。

阿里集团 CTO 程立就回忆说,2009 年第一次双 11,因为是淘宝商城临时决定搞的活动,技术侧还不太有感觉。

 

但 2010 年,双 11 流量一下子涨了好几倍,服务器根本不够用……当时在支付宝的程立,亲身经历了把支付宝系统一再瘦身,只留下核心的支付链路,才总算扛过了那次交易洪峰。

而其后对于每年迎来新纪录流量洪峰挑战的双 11,阿里开始在平时倒逼改革。

另外,也有一些意想不到的天灾人祸,带来容灾警醒。

2013 年夏天,因为杭州 40° 高温酷暑,全城电力供应极度紧张,而阿里的服务器机房又是耗电大户,拉闸限电的威胁迫在眉睫,一旦机房停电,业务就关门大吉了……

 

上述等等经历,让阿里技术意识到,不能再等到下一个高温酷暑的夏天,不能再等到下一次天灾教训,再来思考如何保障业务稳定性。

也不能忽视地域中的物理灾害,影响到线上数以亿计的用户。更不能因为基础设施的限制,阻碍快速增长的业务。

所以先是解决同城多活的挑战,其后又进一步解决异地多活的世界难题。

都是面对问题和挑战,倒逼出来的创新。

 

实际上,这种倒逼出创新的案例,在阿里发展历史上比比皆是,例如支付宝研发 OceanBase,阿里云研发飞天云操作系统……

当年为了支撑双 11 的流量,支付宝一个不到 100 人的团队,研发出可代替甲骨文数据库的 OceanBase 数据库。

今年,在去年双 11 核心系统 100% 上云后,程立透露——阿里把全副身家性命放到云上,飞天云操作系统、神龙服务器集群、中台等数字新基建还在不断升级,技术的沟沟坎坎几近解决,应对峰值不再是最大技术挑战。

消费者的热情越来越高,倒逼阿里技术持续进化。而混沌工程和突袭计划,也是这种倒逼着进化的一部分。

互联网本身就充满了未知和不确定性,例如高温、洪水、台风、暴雨、地震、雷电等自然灾害以及人为操作失误等种种黑天鹅事件,都可能对业务造成严重打击。

阿里敢在双 11 期间对业务系统发起各种高危故障,这种自信源自成熟的突袭机制,而底气则来自阿里云十年来搭建的灾备体系。

Gartner 就曾预测过,2020 年,90% 的容灾操作会发生在云端。尤其是大型云服务商,数据中心都遍布全球,是企业天然的异地灾备中心。

而阿里云的云灾备能力无疑处于云厂商第一阵营。

[[352266]] 

阿里云曾率先在业内提出数据中心的“四个不”原则,即不在同一火山地震带,不在同一水系,不在同一电网,不在同一运营商网络出口。这是传统企业所不具备的硬实力。

另一方面,阿里云的灾备能力全面涵盖了网络、数据库、存储等领域,这是能应对各种故障的软实力。

举个栗子,在存储领域,阿里云凭借存储高可用等能力,持续三年入选 Gartner 全球云存储魔力象限,并且被列为全球领导者地位。

所以只有兼具软硬实力,才能最大程度地保障业务和数据稳定安全。这也是阿里敢把全副身家性命都放在云上的原因之一。

甚至这种「最大程度保障」,还需要考虑到被断网断电的极端场景……

[[352267]] 

所以,拉闸断电的攻击成功了吗?

11 月 5 日凌晨 02:10,阿里华东区域某一数据中心被内部拉闸断电。

瞬间,蓄电系统启动……服务器供能无缝切换,未受一丝影响。

4 秒钟后,柴油发电机群启动。电力完全恢复供应,数据中心运转如常。

阿里云灾备体系,至此交了满分答卷。

[[352268]] 

混沌工程 ChaosBlade 项目地址:

  1. https://github.com/chaosblade-io/chaosblade 

作者:雷刚

编辑:陶家龙

出处:转载自公众号量子位(ID:QbitAI)

 

责任编辑:武晓燕 来源: 量子位
相关推荐

2016-09-27 20:54:10

云计算

2015-09-07 09:50:22

Chrome火狐Windows 10

2020-11-30 14:17:31

iPhone 12苹果成本

2022-02-10 10:44:25

网络攻击网络安全黑客

2014-12-23 09:32:43

Android 6.0

2010-12-30 13:29:13

2013-11-12 09:50:55

阿里双11数据

2020-11-10 11:01:38

“双11”阿里人工智能

2012-06-11 18:07:03

2009-10-13 15:54:31

双网络接口间歇性断网

2013-11-14 09:41:30

2020-03-25 15:12:10

手机印度制造

2023-12-17 11:31:26

字节OpenAI

2017-11-28 10:23:24

阿里双11

2013-07-12 15:33:52

2022-02-09 17:54:28

漏洞数据泄露

2017-12-13 17:30:56

云骨干网网络能力

2009-04-07 12:31:09

云安全网银盗号

2019-05-20 09:06:12

华为谷歌安卓

2019-11-11 09:39:54

AI 行业 人工智能
点赞
收藏

51CTO技术栈公众号