文章来源:MacTalk

题图:自己拍的

一个公司能够做到顶级,一定有过人之处,像阿里这样的大公司,一直是大而不僵,充满活力。比如支付宝,和微信支付杀的难解难分,从线上打到线下,总有奇招叠出。另外,他们的技术领域也有创新举动,今天讲的故事就是支付宝的一位朋友告诉我的,非常有意思,有启发。

说起技术团队,大家想到的总是建设、创新、开源,很少有技术团队专门「搞破坏」的。但是在支付宝确实存在这么一支队伍 —— 技术蓝军,这就有点军事演习的意思了。蓝军的任务就是不断地攻击和进攻,而防守方则是技术红军。在支付宝,蓝军从属于蚂蚁金服技术风险部(SRE),而红军则包括 SRE 及各业务部门的技术团队。

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

为什么会有这样的团队设置呢,我想蚂蚁应该是希望通过这样的演练,更好的保证蚂蚁金服系统的安全和稳健。

从「青铜」到强者

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

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

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

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

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

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

同时,热衷「搞破坏」的组织 —— 技术蓝军也正式成立了。这个团队不干别的,主要职责是挖掘系统的弱点并发起「真实」的攻击,红蓝军技术攻防演练也自此诞生。

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

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

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

第十人理论

这让我想起了电影《世界大战》里的第十人理论。

无论多么完美的计划、周密的理论,总需要有人站出来,从另一个层面考虑问题。当所有人的意见或建议都变得无比一致的时候,潜在的危机和隐患恰恰是最大的时候。这时候如果第十人站了出来,提出了出乎意料的方案或建议,可能成为系统的最后一个保护神。

这个说法来自以色列军方。大部分智能决策的来源都是大量的碎片信息,信息量越大,做出的决策越合理,当你拥有的数据大到一个量级的时候,根据这些数据就有可能找到最优决策。但是,就像解决任何一个谜题的早期阶段,不完整的碎片信息会导致决策者做出错误的或截然相反的判断,因为数据样本不够大,这时候就需要有人运用逆向思维从这些谜团中提出异议、找出真相。

1973 年以色列国防部专门成立了一个机构,他们可以运用各种方式方法挑战情报机构做出的普遍假设,用来保证情报的准确性。这个机构就是那个第十人,不管前九个人的结论看起来多么正确,多么万无一失,他们必须提出异议,找到这九个人都错了的特例,并提供给军方进行评测。

他们会收集并分析各类信息,寻找信息环各个节点的漏洞和错误,挑战一切假设和判断。他们的信条不是「He who dares wins(勇敢者才能赢)」,而是「He who thinks, wins(善于思考者赢)」。

原来蚂蚁金服也有类似的机构。

利矛与坚盾不断升级

持续不断的攻防演练,可以让蓝军和红军的技术能力得到极大地提升。

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

蓝军出招了,红军也没闲着。他们做了实时核对平台横空而出。该平台能够做到稳定的分钟级核对异常发现能力,在某些场景下可以做到秒级发现,并且平台提供了业务快速接入的能力;红军还在实时核对平台的基础之上,升级演化出一套智能核对平台,引入 AI 技术自动识别业务问题,目前这套防线已经覆盖蚂蚁80%以上的业务。另外,各个业务域针对自身业务的一些特殊性,也研发了相应的核对系统。

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

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

然而新的问题来了。

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

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

自此,红蓝军进入了常规化互怼的阶段。在线、实时、随地、无差别攻击和防护……有意思的是,似乎蓝军攻击得越欢,红军的同学越高兴……虽然看上去很受虐,但却没毛病,因为蓝军攻击得越狠越深入,被挖掘和发现出来的技术风险就会越确定,防御系统的能力也会因此而得到提升。

风险防控技术全面开放

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

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

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

了解了这些故事,我的得到是:

1、在系统建设和业务发展的过程中,我们要有逆向思维,也就是第十人思维,寻找信息环各个节点的漏洞和错误,挑战一切假设和判断。文章中的蓝军就是这样的角色。

2、就像阿里云一样,支付宝的能力建设成熟了就会开放出来,如果你的企业有这样的需求,也可以是去了解或使用这样的能力。

你的获得呢?

了解更多“蚂蚁金融科技”,请点击“阅读原文

支付宝疯起来连自己都打相关推荐

  1. Java实现 LeetCode 502 IPO(LeetCode:我疯起来连自己都卖)

    502. IPO 假设 力扣(LeetCode)即将开始其 IPO.为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本. 由于资源有限,它只能在 IPO 之前完 ...

  2. ssms 缺少索引信息_疯象网:都说二十世纪信息值钱,其实二十一世纪的信息更值钱...

    可能大家都听过"20世纪最值钱的信息,21世纪最值钱的是人才"但往往大多数年轻人都不知道是什么意思. 20世纪因为传递信息很慢,或者成本比较高昂,所以大家信息交换的少,自然也就存在 ...

  3. 支付宝收费惊呆小伙伴:都是微信给逼的

    支付宝在其官方网站低调发布公告,从2013年12月03日开始在电脑上进行支付宝账户间转账,将收取手续费.公告称,在电脑上进行支付宝账户间转账费率降低为按每笔交易金额的0.10%收取,0.5元起收,10 ...

  4. 支付宝这么专业,为什么中老年人都喜欢用微信支付?看完涨知识了

    移动支付的普及给我们带来的诸多好处,出门不用带现金了,避免了现金丢失,而现在手机就算丢了,别人也转不走手机里的钱.但你们有没有发现中老年人和路边的小商贩都是喜欢用微信支付或者收款,用支付宝的都很少,那 ...

  5. 【你可知乎】大型的支付系统,如支付宝、财付通每天交易额都非常巨大,后系统是如何对账、风控的呢?

    为了可以更好地解释支付结算系统对账过程,我们先把业务从头到尾串起来描述一下场景,帮助大家理解: 一个可能得不能再可能的场景,请大家深刻理解里面每个角色做了什么,获取了哪些信息: 某日阳光灿烂,支付宝用 ...

  6. 大型的支付系统,如支付宝、财付通每天交易额都非常巨大,后系统是如何对账、风控的呢?...

    为了可以更好地解释支付结算系统对账过程,我们先把业务从头到尾串起来描述一下场景,帮助大家理解: 一个可能得不能再可能的场景,请大家深刻理解里面每个角色做了什么,获取了哪些信息: 某日阳光灿烂,支付宝用 ...

  7. Web3.0赚疯了!周星驰都要做

    01 周星驰进军Web3.0  10月18日,已经60岁的周星驰注册了Instagram账号,并在这个社交媒体上发布了第一条动态:招Web3.0人才.人才要求熟悉Web3.0.有项目管理经验.有头脑又 ...

  8. 快被95后新人整疯:啥都不会,情商低,乱怼人!

    扫 码 带 你 走 进 程 序 员 的 欢 乐 源 泉 又是一年秋招季,莫名想起当初刚毕业时被一大堆新工作支配的恐惧... 最近看到一网友在脉脉发帖狂吐槽: 快被公司95后的新人整疯了,啥都不会就知道 ...

  9. 央行“出手”, 支付宝微信又要“遭殃”, 网友: 等下两家都收费了

    央行"出手", 支付宝微信又要"遭殃", 网友: 等下两家都收费了 马云马化腾这两位互联网的风云人物大家想必也听说过,那么支付宝和微信这两款应用app也一定使用 ...

  10. 带出7个“师弟”,支付宝BASIC College的辅导员是个伪90后

    "我的花名是改之,不是'有则改之无则加勉'的改之,而是'杨过,字改之'的那个改之."一见面,他对自己花名的介绍,就让人耳目一新.至于为什么要用杨过的字给自己起名,他也毫不扭捏地坦诚 ...

最新文章

  1. oracle统计数据库所有表的数据记录数SQL
  2. python软件是免费的吗-谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信...
  3. hash算法的介绍 【清晰易懂】
  4. mysql 5.1.62_MySQL 5.5.62 安装方法(标准配置版)
  5. python第三方库安装(复习)
  6. java使用itext开源包实现pdf文件合并,亲测可用,响应速度快的惊人
  7. 云原生游戏《云联物语》揭开神秘面纱 云鹭科技温向东带你深度了解云原生游戏领域...
  8. Request.GetOwinContext()打不到
  9. 寻找发帖水王java_编程之美–寻找发帖水王 | Acm之家
  10. CSS实现三角形的方法--拓展
  11. Linux笔记(十二) Linux集群搭建(附带视频详解)
  12. cf方框透视易语言代码怎么写_如何用 C++ 写一个可编程软件渲染器?
  13. 集合的概念以及集合框架的介绍
  14. IntelliJ IDEA如何创建Source Folder和导入jar包
  15. 动作Action详解
  16. xlsx表格怎么筛选重复数据_excel怎么筛选两个表中相同数据
  17. 损失函数总结 : 评价模型好坏指标准确率 和 稳定性
  18. 安卓Andriod使用入门(二)【高仿安卓微信6.0】
  19. 手机怎么调整照片分辨率?照片清晰度dpi怎么调整?
  20. CV各领域牛人及资源-有些网页已很久没更新

热门文章

  1. 黑盒测试用例设计方法实践---(判定表驱动法)
  2. web.xml配置以及一些详解
  3. GIMP的Path的import和export
  4. android_handler(三)
  5. ubuntu14在kDE界面下的关于eclipse提示框黑色背景的修改!
  6. 大叔手记(2):为每个应用程序池单独设置aspnet.config配置文件
  7. JavaFX之3 动画与事件处理
  8. 20200706每日一句
  9. Atitit 索引法 html文件转txt纯文本索引 适用于 evernote索引,导入imap邮箱,方便检索 /sumdoclist/src/aPkg/html2txtIndexFile.jav
  10. Atitit 文档资料的摘要与压缩技术总结abstract tech v4 目录 1. 概念包含了原文本中的重要信息,其长度不超过或远少于原文本的一半” 1 2. 1. 摘要的作用 应用场景 1 2