客户案例 / 金融服务

2019 年
Coinbase 徽标

Coinbase 利用 AWS Step Functions 在几秒钟内安全地部署到 AWS

Coinbase 本着成为安全、可靠、合法的加密货币中心的目标,力争在安全性、合规性、技术、客户支持和设计等方面达到世界一流水平。 

97%

部署成功率从 90% 提高到了 97%。

几秒钟

添加新的 AWS 账户需要的时间从几天缩短到了几秒钟。

已解决的票证

解决的用户问题的数量大大增加。

概述

加密货币让用户能够以分散的方式使用资金,并且支持类似现金、不能被资金接收方之外的任何人逆转的交易。这些特征让加密货币受到了越来越多的人的欢迎,这里面既有守法的投资者,也有不法分子。随着加密货币得到更广泛的使用,不法分子盗窃加密货币的动机只会越来越强,机会也只会越来越多。美国联邦调查局的网络犯罪投诉中心(IC3)收到的加密货币盗窃报告显示,2018 年被盗取的加密货币总价值为 1.82亿美元,比 2017 年增加了 212%,而这可能只是全球因加密货币骗局而造成的实际损失的一小部分。

“入侵加密货币交易所是黑客世界中最大的夺旗游戏,”Coinbase 的高级基础设施工程师 Graham Jenson 说道。Coinbase 是一个数字货币钱包和平台,在全球拥有 3000 万客户,交易总额达 2200 亿美元。“作为最大的交易所之一,Coinbas 也是一个最大的入侵目标。”

Stock market digital graph chart on LED display concept. A large display of daily stock market price and quotation. Indicator financial forex trade education background.

Coinbase 本着成为安全、可靠、合法的加密货币中心的目标,力争在安全性、合规性、技术、客户支持和设计等方面达到世界一流水平。所以,Coinbase 自 2015 年以来一直将 Amazon Web Services(AWS)作为其主要基础设施提供商,近期使用其他 AWS 技术来改善其软件部署流程。

机会

要保护客户免受攻击,Coinbase 的工程师必须能够快速、可靠、安全地在所有公司系统中部署更新和新功能,而有些软件部署流程需要 20 小时或更长时间才能完成。为了简化和完善各项流程,Coinbase 使用 AWS Step Functions 和 AWS Lambda 针对部署工具的临时产品组合构建可以重复使用的通用框架。(AWS Lambda 是一个无服务器平台,可以运行代码来响应事件,AWS Step Functions 可以将多个 AWS 服务协调为无服务器工作流。)

“借助 AWS Step Functions 和 AWS Lambda,我们的任务关键型部署的成功率从 90% 提高到了 97%,”Jenson 说道。

kr_quotemark

“故障报告显著减少。这是因为 AWS Step Functions 能够为我们的工程师提供信息。”

Graham Jenson
Coinbase 高级基础设施工程师

解决方案

在寻求进一步加强 Coinbase 安全性的方法的过程中,Jenson 找到了完善公司自动化部署管道的方法。“我们有很多部署工具,每个部署工具都有不同的接口,复杂程度也不同,”Jenson 说道。“我们希望有一个通用的框架,让我们能够快速构建部署工具来验证用户输入、安全地将代码发布到 AWS,并且不会对工程师产生阻碍。”

在研究各种解决方案的过程中,Jenson 了解到了 AWS Step Functions。“当我查看相关文档时,我意识到 Step Functions 正是我们所需要的,”Jenson 说道。“Step Functions 可以保持状态长达一年、高度可扩展,并且让我们能够轻松地说明在发生特定错误后怎样处理并重试。”

利用基于 AWS Lambda 和 AWS Step Functions 的框架来构建新的部署工具,并利用 AWS Identity and Access Management(AWS IAM)和 Amazon Simple Storage Service(Amazon S3),让 Coinbase 能够实现快速实施,只需要在开始时进行简单培训即可。Jenson 的团队构建的第一个部署工具是一款叫做 Odin 的开源 AWS 部署工具,这一工具可以使用 Amazon EC2 Auto Scaling 组安全地将项目版本部署到 AWS 中。

“从想法到实现再到将 Odin 迁移到解决方案中,也就是从概念到生产,总共用了 6 个月时间,”Jenson 说道。“但是,因为代码和构建 Odin 所基于的框架都可以重复使用,所以将后续的两个部署工具投入到生产中只用了几周时间。以后速度会越来越快。”

结果

新的方法大大降低了 Coinbase 的架构的复杂性,让 Jenson 团队能够更好地获得信息。

“我们以前的部署工具都具有不同的网络钩子、回调、Amazon S3 设计、存储桶和 AWS IAM 角色,并且使用不同的通信和轮询方式。要获得我们需要的信息非常难,”Jenson 说道。“现在,我们所有的部署工具都基于相同的 AWS Lambda 和 AWS Step Functions 构建,其操作和交互方式完全相同。我们现在可以看着数据流经 Step Functions、发现特定路径上的问题,并采取措施解决问题。”

这种简单性可以加快添加 AWS 账户的速度,并提高安全性。“利用 AWS Lambda 和 AWS IAM 角色,我们可以为一个 AWS 账户指定一个 AWS IAM 角色,而不是向其开放具有单独配置的整个服务,”Jenson 说道。“利用 AWS Lambda 和 AWS IAM,添加新的 AWS 账户需要的时间从几天缩短到了几秒钟。”

新的解决方案还简化了审核工作。“我们可以让多个账户使用一项 Step Functions 服务,因此我们可以一次审核所有部署,”Jenson 说。“这让我们能够轻松了解所有账户的情况,并且能够在不重新进行审核的情况下启用新的账户,同时确保较高的安全性。”

解决方案让工程师能够独立克服障碍,从而也减少了对基础设施团队的需求。“有关部署失败的问题报告也显著减少,”Jenson 说道。“这是因为 AWS Step Functions 能够为我们的工程师提供信息,以便诊断和解决自己遇到的问题。”

在内部实现的这些技术优势提高了安全性,加快了响应客户请求的速度。“利用基于 AWS Step Functions 和 AWS Lambda 构建的部署工具,我们的工程师可以安全地将代码投入生产,”Jenson 说道。“结果是,我们可以更频繁地发布新功能、更快地响应安全威胁事件,并更轻松地达到 SLA 的要求。这可以帮助我们提供更好、更好全的客户体验。”

关于 Coinbase

Coinbase 是一个数字货币钱包和平台,总部位于旧金山。公司拥有 3000 万客户,处理了超过 2200 亿美元的数字货币交易,其中包括比特币、以太坊和莱特币交易。

使用的 AWS 服务

Amazon S3

Amazon Simple Storage Service(Amazon S3)是一项对象存储服务,在可扩展性、数据可用性、安全性和能效方面业界领先。

了解详情 »

AWS Step Functions

AWS Step Functions 是一项可视化的工作流服务,可帮助开发人员使用 AWS 服务来构建分布式应用程序、自动化流程、编排微服务以及创建数据和机器学习(ML)管道。

了解详情 »

AWS Lambda

AWS Lambda 是一项计算服务,可以运行您的代码以响应事件并自动管理计算资源,这使其成为将想法转化为现代生产无服务器应用程序的最快方式。

了解详情 »

AWS Identity and Access Management

通过 AWS Identity and Access Management(IAM),您可以指定谁或什么能够访问 AWS 中的服务和资源、集中管理精细权限,并分析访问权限以优化跨 AWS 的权限。

了解详情 »

更多金融服务客户案例

未找到任何项目 

1

行动起来

无论行业无论规模,每天都有各种机构在使用 AWS 实现自身业务转型、实现企业愿景。欢迎您联系我们的专家,立即踏上您的 AWS 之旅。