写点什么

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

发布于: 2020 年 11 月 12 日

2020 年 11 月 11 日晚,又一年天猫双 11 狂欢接近尾声。

新交易纪录、新流量峰值,一切都是十全十美的样子。

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



点击并拖拽以移动

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

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

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

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



点击并拖拽以移动

  突然袭击,实弹攻击

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

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

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

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



点击并拖拽以移动

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

  仅 1 分 28 秒,一切如故。

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

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

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

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

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

  这也是阿里敢将可用性目标提升到达 99.9999% 的底气所在。

  之所以能如此精确,就是因为一次次突袭演练之后得出的结果。



点击并拖拽以移动

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

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

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

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

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



点击并拖拽以移动

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

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

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

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

  你听过混沌工程吗?

  Chaos Engineering,混沌工程。

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



点击并拖拽以移动

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

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

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

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

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

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

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



点击并拖拽以移动

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

  实际上从 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% 的容灾操作会发生在云端。尤其是大型云服务商,数据中心都遍布全球,是企业天然的异地灾备中心。

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



点击并拖拽以移动

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

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

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

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

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



点击并拖拽以移动

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

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

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

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

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



点击并拖拽以移动


为什么阿里巴巴的程序员成长速度这么快,看完他们的内部资料我顿悟了


用户头像

还未添加个人签名 2020.09.07 加入

还未添加个人简介

评论

发布
暂无评论
阿里突遭断网断电!双11最惊险一幕刚刚曝光