2019年12月15日,蚂蚁金服研究员兼系统部负责人何征宇在OS2ATC 2019上分享了蚂蚁在金融级系统软件上的实践经验,以及对开源协作的理念和做法。以下为演讲整理:

我今天想和大家分享一下我在蚂蚁的一些工作,以及在金融级系统软件中开源协作的探索和实践。

金融行业实际上是一个非常注重科技的行业,因为技术的价值可以得到很直观的展现,然后它是非常注重极致,非常追求技术的先进性的,技术上的先进性可以很快的转化为业务的领先性。

蚂蚁金服作为国内金融企业的领头羊,对于技术的追求是永无止境的。蚂蚁的梦想是服务20亿的消费者,1亿的全球小微经营者,这是一个非常大的愿景,而我们相信只有不断发展的技术才能让这些不可能成为可能。例如我们的310贷款能力,就是建立在一流的金融级大规模数据智能的技术能力之上的。

那么我们系统软件的挑战和做软件的压力是什么?如果用一句话来总结的话,就是在海量数据压力下的服务连续性保障和资损风险监控。首先是要达到一个非常高的可用率,这个跟我们常说高可用系统,例如电信级系统不一样,这个后面除了5个9之外,还有金融机构非常严格的一些要求,比如100%保证资金安全,这是蚂蚁金服一直在追求的能力。

蚂蚁金服与系统软件

蚂蚁金服也确实在各个系统软件的方向上追求极致。首先从数据库的角度来讲,OceanBase 在 TPC-C 评测中打破了 Oracle 多年的垄断,这一结果是 OceanBase 团队创新的实现了分布式关系数据库,并且得到了专业评审员的认可。其次是安全计算,我们参与了 Occlum 可信执行环境开源项目,并且与清华展开学术合作,相关文章已经被 ASPLOS 收录,也参与制定国内第一个安全计算的标准。然后是云原生方向上,我们自研了 SOFAMesh 并率先通过今年的双十一进行了大规模的验证。最后是安全容器技术,我们的 Kata Containers 是 OpenStack 顶级开放基础设施项目。

接下来我想讲一些我们的观点。我一直觉得,系统软件是一个手段,它并不是一个目的,因为我们一定要搞清楚的是我们系统软件到底是在做什么。右边这个图很有意思,这是一个楼梯,但是这个楼梯是没法使用的,如果我们做系统软件是为了做而做,有可能做出来就是像这个楼梯一样,目标达到了,但是没有任何价值。

任何一个基础软件、系统软件,比如一个新的操作系统,一般来说都是花销巨大的,而且软件写出来总有一天会淘汰的。我们到底做什么样的系统软件?我相信一定是为了解决什么问题而做,这是我们系统工程师最需要考虑的事情。

接下来,我想结合我自己的一些经历,分享一下我们是如何思考和利用系统软件解决问题的。

第一个案例是大家正在做的容器化所带来的问题。在云原生大趋势下,大家正在将IT系统迁移到容器里,例如从 OpenStack 迁移到 Kubernetes,这里实际上有一个很大的问题,也就是从虚拟机迁移到容器时,我们系统的隔离性,不管是从安全还是性能方面来说,都是有下降的。

蚂蚁金服正在做的安全容器,就是为了解决容器的隔离性问题,它的原理也很好理解。传统容器的隔离性其实是依赖 linux 本身,包括 cgroup 和 namespace 等技术,但是应用还是直接通过系统调用访问内核。安全容器做了一个中间层,利用新的内核,hypervisor 等等技术,让系统调用可以不用依赖底层的 linux,而安全容器自身对 linux 的依赖是完全已知和固定的,而且小到可以做非常详细的审计,从而极大的降低主机被攻破的风险。

安全容器可以有效的保护主机,但是,金融业务本身仍然需要更强的隔离保护。

所幸的是,最近兴起的机密计算(Confidential Computing)技术能够非常有效保护应用程序。它的本质其实上就是在大家手机里应用非常广泛的 TEE 技术,但是随着 Intel SGX 这样的技术的发展,让每一台服务器支持TEE都成为可能。

TEE,现在一般也称为 Enclave,可以进行运行时的双向防护。简单说,应用程序用它的话,可以不相信底层的OS等软件。但是在 Enclave 技术目前存在一些问题,阻碍了它在实际生产环境中的应用,包括:

第一,需要改写应用,因为可信执行环境里面没有内核和基础库,所以没法把应用直接在 Enclave 中执行;

第二,需要分割应用,需要把业务程序划分为 Enclave 内和 Enclave 外的部分;

第三,未集群化,与客户端场景不同,Enclave 中的应用如何 failover,容灾也是阻止其在数据中心中大规模使用的一个原因。

所以说现在基于 TEE 的应用特别难做,基本上现在做的就是纯运算的一些东西,因为 IO 都解决不了。这里就引出来我们的第二个案例,也就是我们为什么要做 Occlum。

Occlum 是我们今年聚焦攻关的一个 Enclave LibOS,现在在世界上来说应该是最先进的一个,使用它可以1分钟内将 Tensorflow Lite 移植到 Enclave 里面。这里我想说明的是,我们不是为了做系统而做系统,我们做系统是为了蚂蚁的业务例如共享智能,区块链等能够更好,更快的拿到机密计算这一新技术的红利。

蚂蚁金服与开源

我们讲开源,像上面提到的系统软件一样,开源也是一种手段,不是目的。这里给大家分享一些我们的思考。

首先给大家科普加拉帕戈斯综合症,这个其实可以对应到我们的系统软件,如果我们的系统软件从头到尾都是闭门造车,那么它一定会根据当时的现状加入妥协的部分,并且这种妥协会越来越多,最后面对开源开放的系统软件是没有竞争力的。

所以我觉得,开放的生态是系统软件保持长久活力的关键。上面的图片里面,左边是在水族馆里面的杀人鲸,它们的背鳍永远是弯着的,显得无精打采,右边是在开放水域的鲸鱼,它们的背鳍就是直的。所以,系统的生态是很重要的。我不想看到的是,不管是因为国家的政策也好,或者什么别的因素也好,我们就在小池塘里面互相吃来吃去的,最后一个大鲨鱼过来全部被干掉了。

从蚂蚁金服的角度来看,我们一定要保持开放,也希望有非常多的良性竞争。中国的武侠一定是有少林和武当的,如果都是一个流派那就不行了,百花齐放,百家争鸣的状态才是最好的。

最后总结一下蚂蚁金服系统软件的发展思路,首先它必须满足业务竞争的需求,然后我们会和顶尖学术机构一起合作创新,并且积极参与开源社区,承担应有的社会责任。

值得一提的是,蚂蚁金服系统软件上的学术合作也比较广泛。我们和国内外的专家学者,包括清华大学,上海交通大学,浙江大学,UC Berkeley 都有合作项目,也拿到了不错的成果,例如上面提到的 Occlum 项目就是跟清华陈渝老师合作的。在这里,我想带出我这次分享最重要的目的,也就是非常希望和在座的各位学术界和开源届的同行能有更多的交流和沟通,达成更多的合作,谢谢大家。

关于“Linux宝库”微信公众号:

有趣云计算故事。

- END -

- 责任编辑:陈绪 -

蚂蚁金服研究员何征宇:系统软件和开源都是手段,不是目的相关推荐

  1. 防止开源的加拉帕戈斯综合症,系统软件和开源都是手段不是目的

    互联网一弹指五十年.谈及开源,人们至今仍对把Linux开源的Linux之父Linus交口称赞.令人难以置信的是,曾有公司因为没有及时开源,而让多米诺效应发生在自己身上.开源,对于我们来说,是舶来品.国 ...

  2. Artiely Vue Admin - 基于蚂蚁金服Ant Design构建的高颜值开源管理后台UI框架

    继承 Ant Design 专业美观的优点,支持PC/手机/平板的响应式布局的优秀后台管理系统 UI 框架. 关于 Artiely Vue Admin Ant Design 是阿里巴巴蚂蚁金服团队出品 ...

  3. 当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?

    蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑.在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享.我们将其 ...

  4. 独家 | 蚂蚁金服TRaaS技术风险防控平台解密

    小蚂蚁说: 在金融行业,风险防控能力的重要性不言而喻.而蚂蚁金服可实现高达99.999%的异地多活容灾,千亿级资金秒级实时核对"账.证.实"等能力也让业界有目共睹. 今年位于杭州的 ...

  5. 蚂蚁金服资深总监韩鸿源:企业级数据库平台的持续与创新

    2019年11月19日,蚂蚁金服在北京举办"巅峰洞见·聚焦金融新技术"发布会,介绍2019双11支付宝背后的技术,并重磅发布全新OceanBase 2.2版本.欢迎持续关注- 蚂蚁 ...

  6. 蚂蚁金服自研数据库OceanBase如何登顶TPC-C

    10 月 2 日,国际事务处理性能委员会(TPC)宣布:在最新发布的 TPC-C 排行榜中,蚂蚁金服自研数据库 OceanBase 位列第一.InfoQ 记者第一时间采访到蚂蚁金服研究员.OceanB ...

  7. 如何理性看待蚂蚁金服OceanBase刷新TPC-C纪录

    OceanBase这几天霸屏朋友圈! 一派是浮夸的宣传,超越Oracle,世界第一,过度解读,全面否定对手,引起了技术圈内人士的反感,因为刷新TPC-C纪录并不能说明OceanBase现在就超越了Or ...

  8. 蚂蚁金服 TRaaS 技术风险防控平台解密

    在金融行业,风险防控能力的重要性不言而喻.而蚂蚁金服可实现高达 99.999% 的异地多活容灾,千亿级资金秒级实时核对"账.证.实"等能力也让业界有目共睹. 今年位于杭州的蚂蚁金服 ...

  9. 蚂蚁金服区块链已开出近60万张医疗电子票据,市民报销看病更方便!

    小蚂蚁说: 从前,看病经常都是5分钟排队两小时,诊间跑断腿手上一堆票.而如今,在蚂蚁金服区块链技术的支持下,这个大家熟悉的经历很快将成为过去. 前言 据了解,蚂蚁金服区块链携手航天信息已经在悄然试水区 ...

  10. 蚂蚁金服开源背后的“有意思”工程师 | 1024快乐

    !important 希望我们是最早给你祝福的朋友 去年的1024,我们回顾了第一代到第五代架构 去年的今天,我们和大家分享了 SOFAStack 背后的这群工程师.比如程立,花名鲁肃,蚂蚁金服 CT ...

最新文章

  1. 动态检测内存错误利器ASan
  2. iOS runtime和runloop
  3. mysql linux版安装
  4. 爬虫css选择器,选择属性
  5. 如何使用Fiddler调试线上JS代码(转自:http://www.cnblogs.com/RockLi/p/3511132.html)
  6. 81. 搜索旋转排序数组 II
  7. javascript热身运动-了解最基本的知识
  8. C#性能优化篇 - 基于索引器封装EPList
  9. 先有电脑然后才有手机,为什么当时手机不叫“手脑”呢?
  10. html5界面手机播放mp3
  11. C++开发 面试问题总结(中兴、CVTE、瑞晟、华为、YY)
  12. [Xcode 实际操作]四、常用控件-(12)环形进度条控件的使用
  13. css_02 | CSS——CSS 选择器详解
  14. 音响白噪音测试软件,如何获取白噪音_音箱_音频新闻-中关村在线
  15. 广州市印发《关于促进大数据发展的实施意见》
  16. 【金融计量学】面板数据(自用笔记,第一次写)
  17. Windows通过IP地址向对方发送信息
  18. 【官方】Mysql中注释的规范写法(全部)
  19. 程序员同事表演加班一个月后,我离职了
  20. app自动化测试之Appium问题分析及定位

热门文章

  1. HP MSA500 G2安装配置
  2. Java-接口第一篇认识Interface
  3. spring-第十六篇之AOP面向切面编程之Spring AOP
  4. 第三周作业之效能分析
  5. laravel php artisan migrate 数据迁移时出现的[HY000][1045]错误
  6. AutoCAD2020布局和模型窗口背景色都修改为黑色
  7. Processes and Threads 线程和进程的理解
  8. 传智播客Java常量进制转换数据类型
  9. Don't be afraid. You are stronger than you think.
  10. 181123每日一句