公司 Capital One 地点 弗吉尼亚州麦克莱恩 行业 零售银行

挑战

该团队着手为部署在 AWS 上使用流媒体、大数据决策和机器学习的 Capital One 应用程序构建一个配置平台。其中一个应用程序每天处理数百万笔交易;有些处理欺诈检测和信用决策等关键功能。关键考虑因素:弹性、速度,以及从基础 AMI 完全重新初始化集群。

解决方案

高级软件工程总监 John Swift 表示,运行 Kubernetes 的决定“对我们来说具有非常重要的战略意义”。“我们将 Kubernetes 视为一个底层系统或操作系统。这在我们的产品开发中具有一定程度的亲和性。”

影响

“Kubernetes 是一个重要的生产力倍增器,”首席软件工程师 Keith Gasser 说,并补充说,如果“没有 Kubernetes 来运行该平台,我们的纯 AWS 费用将很容易增加三到四倍。”上市时间也得到了改善:“现在,一个团队可以找到我们,我们可以在两周内让他们使用一个基本的决策应用程序并运行起来,而以前这将需要一整个季度,甚至更长时间。”部署增加了几个数量级。此外,以前需要手动进行大部分时间的集群重新初始化/重新构建过程,现在通过 Kubernetes 自动化和声明性配置只需几个小时。

作为美国十大零售银行之一,Capital One 的应用程序每天处理数百万笔交易。大数据决策——用于欺诈检测、信用审批等——是业务的核心。为了支持为银行构建这些功能的应用程序团队,高级软件工程总监 John Swift 领导的云团队在他们的配置平台中采用了 Kubernetes。Swift 说:“Kubernetes 及其整个生态系统对我们来说具有非常重要的战略意义。”“我们将 Kubernetes 视为一个底层系统或操作系统。这在我们的产品开发中具有一定程度的亲和性。”

大约两年前,该团队通过首先使用 Docker 踏上了这段旅程。然后是 Kubernetes。首席软件工程师 Keith Gasser 说:“我们希望将流服务作为快速决策工作负载的一个功能放入 Kubernetes 中,并且能够同时进行批量处理。” “一旦数据流化和批量处理,Flink 中有许多我们用于决策的工具集。我们希望以一致的方式在同一生态系统中提供这些工具,而不是拥有一个庞大的自定义雪花生态系统,其中每个工具都需要自己的自定义部署。Kubernetes 使我们能够将所有这些工具整合在一起,因此开源的丰富性,甚至处理大数据的许可社区都可以被整合起来。”

在第一年,影响已经非常巨大。“上市时间对我们来说非常重要,”Gasser 说。“尤其是在欺诈方面,你必须非常灵活地应对市场威胁——能够添加和推出新规则,检测新的行为模式,检测账户和交易流中的异常。”有了 Kubernetes,“一个团队可以来找我们,我们可以在两周内让他们使用一个基本的决策应用程序并运行起来,而以前这将需要一整个季度,甚至更长时间。Kubernetes 是一个多方面的生产力倍增器。”

团队现在拥有了自主部署的工具,因此部署量增加了两个数量级。“而且这只用了七个专职资源,而不需要整个团队在那里监视一切,”Scrum Master Jamil Jadallah 说。“这是一个巨大的成本节约。凭借可扩展性、管理和协调能力,Kubernetes 真正赋予了我们权力,并为我们争取了比以往更多的时间。”

对于 Capital One 强制进行的集群“重新初始化”周期,即从基础 AMI 重新构建集群,Kubernetes 也节省了大量时间。为了最大限度地减少云中应用程序的攻击漏洞,Gasser 说:“我们的整个集群会定期从头开始重建,使用全新的实例和虚拟机镜像,这些镜像都打上了最新最好的安全补丁。”这个过程以前需要花费一天的大部分时间,并且需要人员手动完成。现在,它只是一个快速的 Kubernetes 作业。

节省的费用涵盖了资本支出和运营支出。“进入 Kubernetes 所需的成本非常少,因为它都是开源的,”Gasser 指出。“我们采取了 DIY 的方式来构建我们的集群,我们绝对喜欢能够立即采用社区的最新成果而无需等待下游公司这样做的灵活性。我们无需支付与这些许可相关的资本支出。此外,我们从一些我们特定领域中即将退役的专有软件中节省了资本支出。因此,这也会积极地反映在我们的账本上。”(其中一些开源技术包括 Prometheus、Fluentd、gRPC、Istio、CNI 和 Envoy。)

Gasser 说,在运营支出方面,节省的费用很高。“我们运行着几十个服务,有数十个 Pod,许多守护程序集,而且由于我们是数据驱动的,所以我们所有的有状态服务都利用了 EBS 支持的卷声明。如果我们要没有 Kubernetes 而在底层云服务上完成所有这些,我很容易就能看到我们的成本增加三到四倍,这仅仅是纯 AWS 费用。这还不包括部署和维护所有额外基础设施的人员成本。”

团队相信,这些优势将持续倍增——同时,接触这项新技术的工程师的学习曲线不会太陡峭。“随着我们在这个生态系统中引入更多的租户,我认为人们对 Kubernetes 的理解需求不一定会增加。事实上,我认为它会下降,这很好,”Gasser 说。“因为这真正展示了这项技术的可扩展性。你开始收获好处,他们可以专注于为业务中的重要决策(欺诈决策、信用决策)构建所需的所有功能,而无需担心‘我的 AWS 服务器坏了吗?我的 Pod 没运行吗?’”