挑战
蚂蚁金服于 2014 年 10 月正式成立,起源于 支付宝,支付宝是全球最大的在线支付平台,于 2004 年推出。该公司还提供众多其他利用技术创新的服务。随着支付宝为全球 9 亿多用户(通过其本地和全球合作伙伴)处理的交易量激增——在 2017 年双十一购物节高峰期间,每秒处理 256,000 笔交易,2018 年双十一购物节的总商品交易额达 310 亿美元——更不用说其其他服务的交易量了,蚂蚁金服面临着“以全新的方式处理数据挑战”,负责存储和计算组产品管理的郝杰恒说。“我们看到了在如此规模下运营的三个主要问题:如何提供实时计算、存储和处理能力,例如为欺诈检测提供实时推荐;如何在这个数据之上提供智能,因为数据太多,而我们没有获得足够的洞察力;以及如何在应用层、中间件层、系统层,甚至是芯片层应用安全。”为了为客户提供可靠和一致的服务,蚂蚁金服在 2014 年初就采用了容器技术,并很快需要一个编排解决方案来管理其数据中心中的数万个节点集群。
解决方案
在调查了几项技术后,该团队选择了 Kubernetes 进行编排,以及一些其他 CNCF 项目,包括 Prometheus、OpenTracing、etcd 和 CoreDNS。“在 2016 年底,我们决定 Kubernetes 将成为事实上的标准,”恒说。“回顾过去,我们在正确的技术上押对了宝。但随后我们需要将生产工作负载从传统基础设施迁移到最新的 Kubernetes 支持的平台,这需要一些时间,因为我们在可靠性和一致性方面非常谨慎。”到 2017 年 11 月,所有核心金融系统都已容器化,并且迁移到 Kubernetes 仍在进行中。
影响
“我们看到云原生技术的运营效率至少提高了十倍,这意味着您可以将输出提高十倍,”恒说。蚂蚁还为全球商业伙伴提供其完全集成的金融云平台,并希望凭借其在服务创新和技术方面的深厚经验,为下一代数字银行提供动力。恒说,该团队还没有开始专注于优化 Kubernetes 平台:“因为我们仍然处于高速增长阶段,我们还没有进入节省成本的模式。”
支付宝为全球 9 亿多用户(通过其本地和全球合作伙伴)处理的交易量令人震惊:在 2017 年双十一购物节高峰期间,每秒处理 256,000 笔交易,2018 年双十一购物节的总商品交易额达 310 亿美元。蚂蚁金服秉承“为世界带来平等机会”的使命,致力于通过技术创新打造一个开放、共享的信用体系和金融服务平台。
除此之外,还有其其他产品的运营——例如花呗在线信用体系、借呗借贷服务,以及拥有 3.5 亿用户的 蚂蚁森林 绿色能源移动应用程序——蚂蚁金服面临着“以全新的方式处理数据挑战”,负责存储和计算组产品管理的郝杰恒说。“我们看到了在如此规模下运营的三个主要问题:如何提供实时计算、存储和处理能力,例如为欺诈检测提供实时推荐;如何在这个数据之上提供智能,因为数据太多,而我们没有获得足够的洞察力;以及如何在应用层、中间件层、系统层,甚至是芯片层应用安全。”
为了应对这些挑战并为客户提供可靠和一致的服务,蚂蚁金服在 2014 年采用了 Docker 容器化技术。但他们很快意识到,他们需要一个编排解决方案来管理公司数据中心中数万个节点集群。
该团队调查了几项技术,包括 Docker Swarm 和 Mesos。“我们进行了很多概念验证,但在生产系统方面非常谨慎,因为我们希望确保不会丢失任何数据,”恒说。“你不能承受一分半钟的服务停机时间;甚至一秒钟都会产生非常非常大的影响。我们每天都在压力下运营,为中国和全球的消费者和企业提供可靠和一致的服务。”
最终,恒说蚂蚁选择 Kubernetes 是因为它符合所有条件:一个强大的社区、一项“将在未来三到五年内保持相关性”的技术,以及与公司工程人才的良好匹配。“在 2016 年底,我们决定 Kubernetes 将成为事实上的标准,”恒说。“回顾过去,我们在正确的技术上押对了宝。但随后我们需要将生产工作负载从传统基础设施迁移到最新的 Kubernetes 支持的平台。我们花了很多时间学习,然后培训我们的人员在 Kubernetes 上良好地构建应用程序。”
到 2017 年 11 月,所有核心金融系统都已容器化,并且迁移到 Kubernetes 仍在进行中。蚂蚁的平台还利用了其他一些 CNCF 项目,包括 Prometheus、OpenTracing、etcd 和 CoreDNS。“今年的双十一,我们在 Kubernetes 上部署了大量节点,但与我们基础设施的整体规模相比,这还只是在进行中,”余 ranger 说,他负责全球技术合作与开发。
不过,已经产生了影响。“云原生技术在效率方面为我们带来了巨大益处,”恒说。“总的来说,我们希望确保我们的基础设施足够灵活和敏捷,以应对明天可能发生的事情。这是目标。通过云原生技术,我们已经看到运营效率提高了至少十倍,这意味着您可以将输出提高十倍。假设您用一个人操作 10 个节点。有了云原生技术,明天您可以拥有 100 个节点。”
蚂蚁还为全球合作伙伴提供其金融云平台,并希望凭借其在服务创新和技术方面的深厚经验,为下一代数字银行提供动力。恒说,该团队还没有开始专注于优化 Kubernetes 平台:“因为我们仍然处于高速增长阶段,我们还没有进入节省成本的模式。”
在蚂蚁金服转向云原生的过程中,CNCF 社区也是一项宝贵的资产。“如果您正在应用一项新技术,与其他用户一起讨论技术问题,这非常有用,”恒说。“我们非常感谢 CNCF 和这项令人惊叹的技术,在我们继续在全球范围内扩展时,我们都需要它们。我们将来一定会拥抱社区并更多地参与开源。”
事实上,该公司已经开始开源其部分 云原生中间件。“我们将在这方面非常积极主动,”余说。“CNCF 提供了一个平台,让每个人都可以插入或贡献组件。这是一个非常好的开源治理。”
展望未来,蚂蚁团队将继续评估许多其他 CNCF 项目。为了在中国建立一个服务网格社区,该团队已经召集了许多中国公司和开发人员,讨论该技术的潜力。“服务网格对中国开发人员和最终用户非常有吸引力,因为我们现在运行着很多传统系统,它是将所有内容(新旧系统)粘合在一起的理想中间层,”恒说。“对于新技术,我们非常仔细地观察它们是否会持续存在。”
在蚂蚁,Kubernetes 通过了这项测试,并取得了优异的成绩,该团队希望其他公司也效仿。“在中国,我们在金融和其他相关服务领域的创新方面是北极星,”恒说。“我们绝对希望确保我们能够凭借对技术的投资,在未来 5 到 10 年内继续保持领先地位。”