小蚂蚁说:
在金融行业,风险防控能力的重要性不言而喻。而蚂蚁金服可实现高达99.999%的异地多活容灾,千亿级资金秒级实时核对“账、证、实”等能力也让业界有目共睹。
今年位于杭州的蚂蚁金服ATEC科技大会上,蚂蚁金服正式推出技术风险防控平台TRaaS(Technological Risk-defense as a Service)。经历过无数考验的TRaaS 是把蚂蚁金服整个分布式架构和相应的技术风险能力组合在一起的免疫系统,它将高可用和资金安全能力结合 AIOps,使系统实现故障自愈,具有免疫能力。
本文将为大家全面解读蚂蚁金服的技术风险防控平台TRaaS。
与 IaaS、PaaS、SaaS 都同属于“aaS”辈的 TRaaS 听起来就给人一种高科技的感觉,这个在今年蚂蚁金服ATEC 科技大会上一鸣惊人的名词的中文释义非常令人寻味,Technological Risk-defense as a Service,技术风控即服务。而按照 ATEC 大会主办方蚂蚁金服解释,TRaaS 是蚂蚁金服内部沉淀已久推出的“技术风险防控平台”,它将高可用和资金安全能力结合 AIOps,使系统实现了主动发现风险和自我恢复的能力,进而形成了更智能化、精细化的技术风险防控体系。
而实际上,蚂蚁金服酝酿 TRaaS 已经有几年之久,在经过四年的精心打磨和无数次严酷考验之后,蚂蚁金服才在此次ATEC 大会上将之公布与众,由此足见 TRaaS 对于蚂蚁金服的重要性,因此,笔者觉得有必要对 TRaaS 进行一番深入的剖析和解读。
1.TRaaS 的前世今生
“蚂蚁有一个团队,他们在背后默默守护着我们的系统,为保障业务连续性付出十二分的努力。他们就是蚂蚁的技术风险团队。大家知道,风险防控能力对于金融系统而言是第一位的,如何保障金融系统的高可用?如何保障金融业务的0资损?这就是技术风险团队需要解决的两大课题,随着金融行业日新月异的发展,这两大课题逐渐发展成为包含容量弹性管控、变更风险预测、资金风险识别与故障智能决策等在内的技术风险防控领域,最终成长为更智能化、精细化的技术风险中台架构。当前我们已经在蚂蚁金融云上开放了技术风险领域最为成熟,并在蚂蚁内部得到广泛应用的技术风险防控产品。我们将继续在 AIOps 运维方向上探索,通过数据、算法、经验沉淀支撑 7×24h 智能运维。因此,我们将技术风险这层能力持续地抽象出来,形成 TRaaS,输出给数字化转型的金融机构,在分布式架构改造升级的同时提高技术风险防控能力,真正做到让不确定的事变成确定!”蚂蚁金服如此讲述了 TRaaS 的来龙去脉。
正如上所述,TRaaS 诞生于支付宝系统千锤百炼的实战经验之中,是在经历了严酷的“双十一”等多次考验下一步一步逐渐成长起来的技术风险防控平台。
2015 年,在支付宝经历了惨痛的527事件以后,蚂蚁金服痛定思痛,组建了技术风险 SRE 团队,负责蚂蚁金服整个金融系统的风险防控。在这一年,蚂蚁完成了资金安全防控体系建设,并实现了异地多活的容灾架构,还建立了容灾演练机制。
2016 年,蚂蚁金服成立高可用&资金安全架构组,这也是日后 TRaaS 为用户提供高可用和资金安全两大能力背后的强大技术支撑团队。同年,蚂蚁金服开始进行断网突袭演练,构建自适应容灾架构,这也为 TRaaS 具备的业务连续性和高可用性打下了坚实的基础。同在这一年,支付宝资金业务核对由 T+H 提升到实时。
2017 年,支付宝系统实现了故障定位精细化,这为日后的故障自愈提供了前提条件,而灰度仿真的支持,则进一步提升了系统的健壮性。同年,蚂蚁金服还引入了红蓝攻防,这为 TRaaS 注入了风险预测的能力。
2018 年,在故障定位精细化的基础上,支付宝系统实现了故障自愈,容灾仿真回归为系统提供了出色的容灾能力,而 AIOps,则将人工智能技术融合在了风险防控之中。
正是在这样的基础上,蚂蚁金服在今年的云栖 ATEC 大会上正式推出了 TRaaS 技术风险防控平台。
2.TRaaS 究竟强在哪里?
“TRaaS 这套架构,我们内部称之为”免疫系统“,它就好像人类的免疫系统。就像人们生病时,免疫系统会帮助他们快速恢复健康一样,我们把蚂蚁金服整个分布式架构和相应的技术风险能力组合在一起,提供出来,这就是我们的免疫系统——TRaaS。通过 TRaaS,我们可以保证实现 99.999%的高可用性,这背后依靠的就是我们三地五中心的架构。另外,对于金融最关键的资金安全,TRaaS 可以做到实时化的内部帐、证、时的核对,速度达到秒级。此外,最关键的是 TRaaS 具有强大的”免疫能力“,可以使我们做到风险5分钟发现,5 分钟自愈。”蚂蚁金服副 CTO、副总裁、首席架构师胡喜一针见血的指出了 TRaaS 系统的三大强点,即高可用、资金安全、免疫能力。
强点之一:高达 99.999%的高可用性
高可用对于金融系统的重要性不言而喻,而对于支付宝这样最高可达每秒 25.6 万笔交易处理能力,拥有几亿行代码、几万台服务器以及未来可能由百亿行代码、百万台服务器构成的庞大和动态变化的系统而言,如何能够合理地架构与驾驭其复杂性,使其保持健壮、敏捷及高可用性对蚂蚁金服而言是一个极大的挑战。
为此,蚂蚁金服通过自主研发的金融分布式架构 SOFAStack 以及金融分布式数据库 OceanBase,为系统提供全方位的业务连续性和高可用保证。SOFAStack 将提供全栈式的金融分布式架构能力,配合金融分布式数据库 OceanBase,能够在保证风险安全的同时帮助业务需求敏捷迭代,同时满足异地容灾、低成本快速扩容的需求。
但对于金融系统的高可用来说,容灾显然更为关键,蚂蚁金服在本次ATEC大会上重磅推出三地五中心架构,即在三座城市部署五个机房,一旦其中一个或两个机房发生故障,支付宝的底层技术系统会将故障城市的流量全部切换到运行正常的机房,并且能做到数据保持一致且零丢失,三地五中心架构可实现低成本交易,无限可扩展,恢复点目标(RPO)接近 0,恢复时间目标(RTO)小于 30 秒。
同时,通过全链路压测,即将足够的流量压力,例如类似“双十一”的流量压力,载入整个系统之中,来测试系统系统在极限容量下的可用性,并通过测试结果对系统进行不断的调整和优化。
依靠这种三地五中心的异地多活容灾架构以及全链路压测的考验,TRaaS 最终实现了高达 99.999%的高可用性,即极高可用性,也就是说系统年度停机时间将不超过 5 分钟。
强点之二:千亿级资金秒级实时核对
资金安全对于金融系统的重要性不言而喻,尤其对于支付宝这种每秒能够处理百亿、千亿级资金的平台来说,资金安全则更是生死攸关的大事了。资金安全的本质是要保证在整个业务交易的流水过程中,资金金额不能出现差错。而这则要涉及到人、应用、数据三大对象以及故障应急、数据支撑、风险度量、灰度演练、风险识别五大能力。
而这些方面能力的提升,只能是通过不断的攻防演练来实现,因此,从 2016 年开始,蚂蚁金服就开始进行断网突袭演练,而到了 2017 年,蚂蚁金服更是引入红蓝攻防,演练的频率也从从一、两个月一次逐渐过渡到现在的每天一次。
通过这样的不断演练,蚂蚁金服的业务核对能力由最初的 T+1,逐步过渡 T+H,直到今天的实时业务核对,而整个资金安全防控体系也包含了变更管控、自动化回归、流量仿真、资金安全监控、应急预案等更多的内容。
TRaaS 平台负责人,蚂蚁金服研究员陈亮(花名:俊义)回忆道,在整个资金防控体系的演进过程中,最初与很多银行一样,是靠人力做当前的金额跟全天总账的对账。之后通过自动的方式,将全量数据库表导出后做计算来进行核对。后来业务量更大了以后,就引入了 T+H,核对时间也从天变到小时级,并在此过程中增加了异常管理。最后演进到实时业务核对时,又增加了熔断决策、资金免疫以及智能监控等方面的功能,从而形成了 TRaaS 强大的千亿级资金秒级核对能力。
强点三:5 分钟发现,5 分钟自愈的免疫能力
对于一个关键系统,尤其是金融系统来说,如果系统不主动出现问题,就几乎不可能知道系统存在问题,因此,蚂蚁金服对此的应对方法是每天不断的给系统注入各种故障,而且这些故障覆盖蚂蚁金服的一千多个应用场景,这种注入故障的方法就好比军事演习中的红蓝军对抗,因此,称为“红蓝攻防”。而在不断的在对抗中,TRaaS 系统不断的走向健壮,从而形成了自己所谓的“免疫能力”。
而通过引入AIOps,即智能运维,不仅能够帮助TRaaS在发现、定位和自愈能力上更加智能,而且可以大幅降低运维人员的工作量。对此陈亮还举了几个例子,例如在高可用的监控领域,由于需要监控的点和数据非常多,这就会使数据的噪音增多。而这些噪音AI只要通过一定的训练和模式识别就可以轻松过滤掉,而对人来说这却非常困难。又比如在支付宝内部,仅仅监控点就有五六万个之多,而每个点都可以配置出一条数据,如果再让人把这些数据绘成可视化的图表,这几乎是不可能完成的任务,而AI则可以轻松做到。陈亮还介绍说,通过AI的方式识别监控数据之间的关联,无论是对于资金监控、故障发现、精确定位,还是风险预测,快速止血以及自动决策都是事半功倍的。
3.TRaaS 的未来会怎么样?
作为蚂蚁金服成立四年来,最为重磅的发布,TRaaS、分布式金融核心套件以及大数据+人工智能平台实际上是蚂蚁金服在金融系统多年积累和沉淀的技术能力、服务能力的对外输出,它代表了蚂蚁金服 3.0 时代的开放思想,也标志着蚂蚁金服在金融系统领域技术上的最高水平,实际上确立的是蚂蚁金服在金融领域技术领先的地位,同时也是阿里巴巴董事会主席马云所倡导的“五新”中的创新金融服务中的重要一环。TRaaS 之于支付宝、蚂蚁金服、甚至整个阿里巴巴集团都非常重要,因此,我们有理由相信 TRaaS 将会成为蚂蚁金服在核心金融系统领域的杀手锏,而摆在它面前的征途,将是星辰和大海!