蚂蚁金服红蓝军技术攻防演练究竟有多“狠”

如果一个技术团队不干别的,专门“搞破坏”,这是一种怎样的存在?这真的不是“天方夜谭”,在支付宝确实有这么一支队伍——技术蓝军。蓝军的任务就是不断地攻击和进攻,而防守方则是技术红军。在支付宝,蓝军从属于蚂蚁金服技术风险部(SRE),而红军则包括SRE及各业务部门的技术团队。

说到SRE,就需要科普一下了。SRE全拼为Site Reliability Engineer,是软件工程师和系统管理员的结合,是一种要求极高的技术工种。据说,目前全球只有少数几家顶级互联网公司拥有真正意义上的SRE团队,蚂蚁金服是其中之一。

由蓝军主导的技术攻防演练就是那个传说中的“疯起来连自己都打”的项目,今天,就来起底一下这个神秘的项目。

从“青铜”到强者

红蓝军技术攻防演练与蚂蚁金服技术风险部的发展息息相关,而蚂蚁技术风险的演进轨迹和游戏中的不断打怪升级非常相像。

早期是质量+运维+架构师三角协同,各司其职并自发性的开展一些技术风险相关的工作。2013年,蚂蚁金服技术团队提出了质量2.0战略,以统一的规章、统一的流程和统一的阵型,开始体系化地沉淀故障检测等方面的平台化能力。

大概一年后,也就是2014年,专门成立了技术质量部,从全域视角解决技术风险的问题。

2015年,技术质量部正式升级成为技术风险部,专注研发及架构的技术风险问题,并完成相应解决方案和落地的平台。

2016年,技术风险部再次升级为SRE团队。

SRE团队组建后,就开始全面开展故障自动定位、自适应容灾、防抖、精细化高可用等工作。其中防抖这块,要保证任何的网络或基础设施抖动,用户都无感知;而精细化高可用,又叫单笔高可用,其颗粒度可以精准到用户的每一笔交易,远远优于行业内的机房级高可用。

同时,那个热衷“找茬”的组织——技术蓝军也正式成立。这个专门的、拥有独立职能的团队不干别的,主要职责是挖掘系统的弱点并发起“真实”的攻击,红蓝军技术攻防演练也自此诞生。

牛X的是,技术蓝军并不对各业务方负责,只对应用架构及防御系统的稳定性和可靠性负责。在蓝军眼中,故障的发生是必然的,只是时间早晚而已。蓝军只有想尽办法去触发这些故障,这样,在故障真实发生的时候,才有足够的应付能力。

所以,蓝军发掘各类脆弱点,并通过红蓝军技术攻防演练,不断验证防御系统的可靠性。而故障防御系统及不断优化的高可用架构则是由SRE团队的红军与各业务深度合作,沉淀、构建出来的。


技术蓝军正在进行作战部署

现在,全栈级别的技术攻防演练每周都在进行,蓝军似乎对“疯起来连自己都打”很上瘾。

利矛与坚盾不断升级

持续不断的攻防演练,让蓝军和红军的技术能力得到了极大地提升,同时双方“武器库”也在不断升级。

2017年秋天,蓝军团队在成立后的两个月内,自主研发了字节码级别的故障注入系统Awatch,这个武器的厉害之处在于可以实时地对运行中的业务系统进行任意链路的编织侵入。这对于对于技术蓝军以及整个红蓝攻防体系,具有里程碑式的意义。

蓝军研发出了厉害的武器,红军也没闲着。

与此同时,技术红军的防控体系建设也在如火如荼地进行着,实时核对平台横空而出。该平台能够做到稳定的分钟级核对异常发现能力,在某些场景下可以做到秒级发现,并且平台提供了业务快速接入的能力;红军还在实时核对平台的基础之上,升级演化出一套智能核对平台(内部代号四道防线),引入AI技术自动识别业务问题,目前这套防线已经覆盖蚂蚁80%以上的业务。另外,各个业务域针对自身业务的一些特殊性,也研发了相应的核对系统。

尽管蓝军制造故障的能力有很大的提高,但大部分的故障场景主要是各个业务方提供的,只有极少数是蓝军人工梳理业务或者分析代码产出。此时,蓝军团队认为,日常演练常态化,在故障场景发现方面不能再依赖业务,必须建立自主发现故障场景的能力。


用“可乐山”明志,是程序员常见的套路

2018年3月,蓝军推出故障场景挖掘平台,基于Awatch探针探测应用内数据流,以此进行“弱点挖掘”。这套弱点挖掘体系,能够自动发现故障场景,最高能够在5分钟内产生500+的故障场景,红蓝攻防的日常演练的最为重要一块拼图终于完成!

然而新的问题来了。

蓝军的故障挖掘平台能力毋庸置疑,但有攻击就需要应急,高频攻防实施亦会给红军带来大量的人力消耗。持续应急压力驱动,红军开展““故障自愈”架构体系升级及能力建设,以效能为目标,结合仿真,红蓝军一起研发了“无损”攻防体系,并且推出与之匹配的度量平台,自动度量攻防结果,数据可视化。

目前,常态红蓝技术对抗保持每周200+个故障场景的节奏在持续运作。

常态化的红蓝 “互怼”

在线、实时、随地、无差别……这是支付宝技术蓝军实施攻击行为的几大标签。

2017年年底的红蓝技术攻防周,技术蓝军发起攻击,但由于故障组件一处隐藏bug导致故障命中数量远远大于预期,给红军增添了不少麻烦,业务线的技术同学投入大量的人力和资源进行善后。此情此景之下,红军方面不仅没有抱怨,反而给予蓝军鼓励,“这次预期外的故障攻击是最真实的应急锻炼!”

2018年年中的一次红蓝技术攻防中,蓝军在周末发起突袭,而刚好红军的相关同学正在举办婚礼。于是,一群程序员赶紧拿出吃饭的家伙,噼里啪啦敲着键盘进行应急,那画面简直不要太美了。

还是在2018年的一次对抗中,红军祭出了“尖端武器”——自适应防灾、防抖等,这让蓝军吃尽苦头,几乎每次攻击都无功而返。挫败感飙升的蓝军最终放出大招,让红军接受了非常猛烈的炮火洗礼。

有意思的是,似乎蓝军攻击得越欢,红军的同学越高兴……虽然看上去很受虐,但却没毛病,因为蓝军攻击得越狠越深入,被挖掘和发现出来的技术风险就会越确定,防御系统的能力也会因此而得到提升。


除了设计缜密的防御措施防止袭击,程序员拜关公求庇佑也是“习俗”

令人震惊的是,为了防止蓝军的“袭击”,红军除了在防御系统方面下十足的功夫,每年期中和期末的红蓝技术攻防演练,红军都要举办一个仪式——那就是拜关公,除了叩拜,还得给驱邪镇恶的关公献礼,礼品包括旺仔牛奶、格子衬衫、键盘、香烟等。

风险防控技术全面开放

蚂蚁金服技术风险部门经过不断地升级,并将红蓝技术攻防演练形成常态化。除了每周进行全栈级别的演练,每年还会举行规模极大的“期中考试”和“期末考试”。这意味着,支付宝的风险防控体系持续地经受打磨与锤炼。

目前,支付宝的“红蓝对抗”演练已经沉淀出一整套成熟的风险防控体系,通过仿真环境模拟天灾人祸,去考验技术架构的健壮性及技术人员的应急能力,从而全面地提升系统稳定,实现系统的高可靠性和高可用性。

所谓的天灾和人祸。天灾指的是,当出现台风、断网、火情等极端异常情况的时候,系统如何快速应对。这有点类似于今年杭州云栖ATEC大会上,蚂蚁金服副CTO胡喜现场演练的异常断网情况下,“三地五中心”自动切换,保证支付服务不中断。人祸则是指因技术人员操作失误引发故障后,系统如何快速应。

在蚂蚁金融科技官网上可以看到,这些技术风险相关的能力已经对外开放,目前共有3款产品,包括容灾应急平台、全链路压测和资金安全监控;另外,还有3款产品,变更管控、巡检平台和黑屏运维管控即将上线对外开放。

 

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖

阿里巴巴正用物联网技术解决干旱地区的灌溉问题,通过搭建农业物联网平台,全面监测农作物的生长状态,从而匹配最节约的灌溉方案。12月19日试验区研究人员得出预测结果:一年可以省出1.5个西湖的水。 一直以来干旱是困扰人类的重要环…

网易考拉在服务化改造方面的实践

导读: 网易考拉(以下简称考拉)是网易旗下以跨境业务为主的综合型电商,自2015年1月9日上线公测后,业务保持了高速增长,这背后离不开其技术团队的支撑。微服务化是电商IT架构演化的必然趋势,网易…

Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号

ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html (Oracle Database 11g Release 2 (11.2.0.4) JDBC Drivers & UCP Do…

阿里重磅开源Blink:为什么我们等了这么久?

12月20日,由阿里巴巴承办的 Flink Forward China 峰会在北京国家会议中心召开,来自阿里、华为、腾讯、美团点评、滴滴、字节跳动等公司的技术专家与参会者分享了各公司基于 Flink 的应用和实践经验。 感兴趣的开发者可以看云栖社区的对于大会的主会5场分…

GAN是一种特殊的损失函数?

数据科学家Jeremy Howard在fast.ai的《生成对抗网络(GAN)》课程中曾经讲过这样一句话: “从本质上来说,生成对抗网络(GAN)是一种特殊的损失函数。” 你是否能够理解这句话的意思?读完本文&…

matlab 三维 作图 坐标轴_这张图(不全),想利用matlab画一张三维图,X Y z 轴分别为经度 纬度 频率,这...

xrangeminx:dx:maxx; yrangeminy:dy:maxy;[X,Y] meshgrid(xrange,yrange);griddata(lon,lat,SST,X,Y);mesh(X,Y,Z), hold onplot3(lon,lat,SST,o),hold offmatlab 作图方法2113:plot3 三维曲线图;plot3(x1,y1,z1,x2,y2,z2,…,xn,yn,zn): surf(x,y,z)…

(Python)零起步数学+神经网络入门

在这篇文章中,我们将在Python中从头开始了解用于构建具有各种层神经网络(完全连接,卷积等)的小型库中的机器学习和代码。最终,我们将能够写出如下内容: 假设你对神经网络已经有一定的了解,这篇文…

短视频宝贝=慢?阿里巴巴工程师这样秒开短视频

前言 随着短视频兴起,各大APP中短视频随处可见,feeds流、详情页等等。怎样让用户有一个好的视频观看体验显得越来越重要了。大部分feeds里面滑动观看视频的时候,有明显的等待感,体验不是很好。针对这个问题我们展开了一波优化&am…

Haproxy 管控台介绍

Queue 队列 简称全称说明Curcurrent queued requests当前的队列请求数量Maxmax queued requests最大的队列请求数量Limit队列限制数量 Session rate (每秒的连接回话)列表 简称全称说明scurcurrent sessions每秒的当前回话的限制数量smaxmax sessions每秒的新的最大的回话量s…

阿里云时空数据库引擎HBase Ganos上线,场景、功能、优势全解析

随着全球卫星导航定位系统、传感网、移动互联网、IoT等技术的快速发展,越来越多的终端设备连接至网络,由此产生了大规模的时空位置信息,如车辆轨迹、个人轨迹、群体活动、可穿戴设备时空位置等。这些数据具有动态变化(数据写入频繁…

云栖专辑|阿里开发者们的第二个感悟:PG大V德哥的使命感与开放心态

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

VS Code 全局配置

文章目录1. settings.json2. 在项目根目录添加.eslintrc.js3. 在项目根目录添加.prettierrc.json1. settings.json ctrlshirtp 搜索settings.json替换为下面内容即可 {// 主题颜色 浅色主题"workbench.colorTheme": "Monokai","workbench.iconTheme…

云栖专辑 | 阿里开发者们的第3个感悟:从身边开源开始学习,用过才能更好理解代码

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。 阿里巴巴常说“晴天修屋顶”。 在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。 所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的…

个人帐目管理系统java_Java 项目 个人帐目管理系统

目录第一部分项目描述 31.1项目目的 3第二部分需求和开发环境 32.1使用技术和开发环境 32.2项目需求 32.3详细功能 32.4 E-R图 32.5数据库的设计 32.5.1数据表的设计 32.5.2数据库约束的设计 42.5.3数据库序列的设计 42.5.4数据库索引的设计 42.5.5数据库视图的设计 52.5.6数据…

KubeCon 2018 参会记录 —— FluentBit Deep Dive

在最近的上海和北美KubeCon大会上,来自于Treasure Data的Eduardo Silva(Fluentd Maintainer)带来了最期待的关于容器日志采集工具FluentBit的最新进展以及深入解析的分享;我们知道Fluentd是在2016年底正式加入CNCF,成为…

全球首个!阿里云开源批流一体机器学习平台Alink……

11月28日,阿里云正式开源机器学习平台 Alink,这也是全球首个批流一体的算法平台,旨在降低算法开发门槛,帮助开发者掌握机器学习的生命全周期。 Flink Forward 2019在京举办,吸引众多开发者参与标题Alink基于实时计算引…

聚焦产业·城市、擎领数字未来:IMPACT2019紫光云峰会在津成功举办

近日,紫光云技术有限公司在天津举行主题为“产业城市 擎领未来”的IMPACT2019紫光云峰会,深度阐释打造产业数字引擎的理念和实践,并为unI X云创中心揭牌,发布紫光云芯片产业数字引擎。 天津市人民政府副秘书长杨明远为大会致辞会上…

IntelliJ IDEA 2020 创建xml文件

1、file—setting,左上角输入template, 2、在左侧栏找到File And Code Templates 3、中间选中Files 4、点击号,添加模板 5、输入模板名字:Name:mybatis-cfg.xml (name可以自定义) 6、后缀名extension&#…

刚刚,蚂蚁金服荣膺“中国金融大数据领军企业”称号

小蚂蚁说: 2018中国软件和信息服务领域十大领军企业、人物及产业园区评选活动是业界最权威和最受关注的评选之一。12月20日,在北京举行的“2018中国软件大会”正式宣布蚂蚁金服成为“2018中国大数据金融领军企业”。 2018年12月20日,在北京举…