2020年11月11日晚,又一年的天猫双11狂欢即将落下帷幕。新的交易记录,新的流量高峰,一切都很完美。图片来自Pexels。就在此时,阿里巴巴CTO程力(鲁肃)向公众发布了一段直播视频:11月5日凌晨,阿里科技完成了双11考试期间最后一次全链路压力测试。休息和交接间隙……服务器连续遭受两次攻击。第一次,凌晨两点左右,监控大屏显示,四个大区数据中心的数值急速下降。技术支持团队启动应急响应流程,确定遭遇网络中断攻击。紧接着第二次,也就是2点10分,更加凶猛直接的攻击袭来。华东某数据中心被直接断电……但最令人震惊的是,这一切竟然是阿里巴巴合伙人、双创负责人吴泽明(范宇饰)所为11新零售技术。突然袭击,实弹袭击这不是事先指定的突然袭击。“小范围”知道的只有阿里巴巴双十一技术组组长范宇、双波和技术安全生产负责人陈勤。可即便如此,看到这种断网攻击,陈沁还是吓了一跳,因为这不符合之前约定的攻击等级。那时,压力测试已经在表面上结束了。与会的阿里技术工程师有的在吃夜宵,有的在工位小憩。他们没有为这种意想不到的实弹袭击做好准备。好在培训的技术支持自上而下井然有序。快速定位故障源、启动应急预案、紧急启动抢修……仅需1分28秒,一切如故。即使当时恰好有用户下单,也很难察觉到“抖动”。至于阿里的技术,虽然对突如其来的事件毫无防备,但对于这样的突然袭击,他已经有了同样的肌肉记忆……因为在阿里,这种突然袭击早已司空见惯,每天都有,而且还有一个红蓝两军的对抗就是专门为此而形成的。蓝军负责设计突袭的弹药,经常在不经意间发动突袭。红军需要在很短的时间内修复故障。对外,这种技术突袭和红蓝对抗一直鲜为人知。在内部,经过无数次的突击演练,就连故障恢复机制也形成了“1-5-10”的方法论,即1分钟内告警,5分钟内定位故障,修复故障10分钟。这也是为什么阿里敢把可用性目标提高到99.9999%的原因。之所以能够如此准确,是因为经过突击演练得到的结果。阿里内部将红蓝势力的偷袭和防御比作对系统打疫苗。故意在可控半径内向系统注入故障以测试系统的反应,类似于向身体注入少量有害物质以触发免疫反应以预防未来疾病。这可能看起来很疯狂,但它可以让公司提前为包括停机在内的各种故障做好准备,并将其影响降到最低。甚至还有更疯狂的举动。阿里专门为这种突袭设计了一款APP,将其简化为一个“按钮”,将阿里巴巴经济体的各种技术架构和商业方式串联起来。方便随时随地,一键完成突袭。它可以随时发生,例如,当每个人在会议结束后放松时。双11前的突袭发生在凡羽悠闲地走出“璀璨之巅”的时候——双11核心操作室里的任何人都没有注意到异常。有内部工程师将这次偷袭演练比作马斯克SpaceX著名的“意外逃生”演练。核心是用真实的和可能发生的事故来实际检验自己的技术和应急保障机制。你听说过混沌工程吗?混沌工程,混沌工程。被誉为“故意破坏的艺术”,主要通过主动制造故障,测试系统在各种压力下的行为,从而识别和修复故障问题,从而提高系统在生产中的容错性和可恢复性环境,最终实现改进的系统弹性。混沌工程已经在硅谷的科技公司中得到实践。2010年,Netflix团队开发了ChaosMonkey,一款用于测试系统的工具。模拟一只讨厌的猴子,在系统的随机位置上下跳跃,四处乱窜,直到它挂掉你的系统。随后几年,Netflix还在GitHub上开源了ChaosMonkey,指出这种随机故障测试在测试分布式系统的稳定性方面具有传统方法无法超越的优势。在这样一套原则的基础上,混沌工程师等职位开始出现在硅谷,其角色和作用类似于阿里此次公开的蓝军,将这种随机的破坏性攻击转变为一种日常测试手段,以提高他们的能力。自己的能力。抗灾能力。混沌工程是一种专门的理论,本质上是一种反脆弱的思想。如果再往前追溯,您会在哲学的源头找到尼采——杀不死我的,终将使我更强大。对于阿里来说,混沌工程的理念与技术稳定体系的需求不谋而合,契合了阿里多活异地、容灾的发展需求。其实从2010年左右开始,阿里电商领域就开始尝试故障注入测试,最初的目标是解决微服务架构带来的强弱依赖问题。后来经过几个阶段的改进,最终演变成孙悟空在线故障演练平台。MonkeyKing作为阿里集团广泛使用的混沌工程平台,不仅帮助众多业务团队进行故障演练,提升业务稳定性,还支持阿里集团定期开展联合演练活动。2019年开始,也开始在小规模生产环境中推广突击演练,并开源了阿里巴巴的混沌工程工具ChaosBlade。双十一前夕的突如其来的袭击,导致网络断电,本质上是混沌工程的一种实践。尽管双11看起来无比惊心动魄,但对于阿里来说,拥抱“混沌工程”,打造“红蓝钻”,也是迫于商业压力的结果。阿里巴巴历史上很多被迫退出的业务改革都与双11息息相关,比如“异地多活动”最初是因为双11的火爆,扩容的需求是流量带来的。阿里集团CTO李程回忆,2009年第一次双11活动是淘宝商城临时决定的活动,技术方面对它不是很熟悉。但是2010年双11流量一下子暴涨了好几倍,服务器根本不够用……当时在支付宝的程力亲身经历了支付宝系统的瘦身,只剩下核心支付环节,终于扛过了那次交易的巅峰。随后,对于每年都迎来新纪录流量高峰挑战的双11,阿里开始在平时发力改革。此外,还有一些突发的天灾人祸,带来灾后恢复警惕。2013年夏天,由于杭州40°的高温,全市供电异常紧张,而阿里的机房是用电大户,停电威胁迫在眉睫。经过这次经历,阿里科技意识到,不能再等到下一个炎热的夏天,或者下一个自然灾害来吸取教训,再??思考如何保证业务的稳定性。我们也不能忽视该地区的自然灾害,影响数亿在线用户。更不用说因为基础设施的限制而阻碍业务的快速增长。因此,它首先解决了多住同城的挑战,进而解决了多住异地的全球性问题。都是在问题和挑战面前被迫出来的创新。事实上,在阿里的发展史上,这种强制创新的案例比比皆是。比如支付宝开发了OceanBase,阿里云开发了飞天云操作系统……为了支撑双11的流量,支付宝只有不到100人的员工。团队研发了可替代Oracle数据库的OceanBase数据库。今年继去年双11核心系统100%云化后,程力透露,阿里把所有生命都放在了云上,飞天云操作系统、神龙服务器集群、中台等数字化新基建正在仍在升级中。起起落落几乎解决了,处理峰顶不再是最大的技术挑战。消费者的热情越来越高,倒逼着阿里的技术不断进化。混沌工程和突袭计划也是这种强制进化的一部分。互联网本身就充满了未知和不确定性。高温、洪水、台风、暴雨、地震、闪电等自然灾害,以及人为失误等各种黑天鹅事件,都可能对业务造成严重影响。阿里敢于在双11期间对业务系统发起各种高危故障,这种底气来自成熟的raid机制,底气来自阿里云十年来打造的容灾体系。Gartner预测,到2020年,90%的灾难恢复操作将在云端进行。尤其是大型云服务商,数据中心遍布全球,是企业天然的异地容灾中心。阿里云的云容灾能力无疑是云厂商中的顶尖阵营。阿里云在业界率先提出数据中心“四不”原则,即不在同一火山地震带、不在同一水系、不在同一电网、不在同一地区。同一个运营商的网络插座。这是传统企业所不具备的硬实力。另一方面,阿里云的容灾能力全面覆盖网络、数据库、存储等领域,是应对各种故障的软实力。比如在存储领域,阿里云连续三年入选Gartner全球云存储魔力象限,并凭借存储高可用性等能力被列为全球领先者。因此,只有软硬实力并重,才能最大程度地保障业务和数据的稳定性和安全性。这也是阿里敢于将自己的财富和生命全部放在云端的原因之一。即便是这种“最大保护”,也需要考虑断网断电的极端场景……那么,断电攻击成功了吗?11月5日凌晨02点10分,华东某数据中心被内部开关断电。瞬间,储能系统启动……服务器的能源供应无缝切换,没有任何影响。4秒后,柴油发电机组启动。电力完全恢复,数据中心照常运行。阿里云的灾备系统现在已经交了满分。ChaosBlade项目地址:https://github.com/chaosblade-io/chaosblade作者:雷钢编辑:陶家龙来源:转载自公众号量子位(ID:QbitAI)
