Amazon GameOn 使用 AWS 实现延迟超低且简单的变更流程

该服务原本出现了意外事件。Amazon GameOn 是一系列灵活的 API,使游戏开发人员能够提供排行榜、多人游戏和具有真实奖品的联赛,这些奖品将由 Amazon 配送。距其发布日期只有几天时,该团队发现了 GameOn 工程主管 Kaushik Chakraborti 所说的“关键安全漏洞。” 他解释说,“我们的其中一个表格缺乏它所需要的静态加密。要修复这样的问题,可能需要更改数据流、访问限制,甚至是架构。这些任务都比较耗时,可能会影响该服务的发布。”

只是可能会影响,但实际上并没有。这是因为 GameOn 是基于 Amazon Web Services (AWS) 构建的,并使用 Amazon DynamoDB,而这个表格就位于其中。Chakraborti 说:“我们只需下载数据,选中相应框以启用加密,然后再次上传数据,便可遵守规定并按时发布。”“让我印象深刻的是,AWS 也想到了这一点。”

Chakraborti 对此印象深刻,但并不感到惊讶。正是这种远见,即对简单、经济高效的可扩展性的需求促使 GameOn 团队为 GameOn 构建原生 AWS 架构。Chakraborti 说:“在 AWS 上运行的一大好处就是,如果您遇到问题,AWS 很有可能已经发现了这个问题并提供了简单的解决方案。”“因为 AWS 在发布产品和功能以解决新问题或满足不断变化的要求方面有着辉煌的历史,我们知道在 AWS 上运行不仅可以帮助我们克服当前面临的挑战,还可以帮助我们应对未来的挑战。”

“我们的客户说,我们的响应时间处于领先水平,虽然我们因此而得到称赞,但这实际上是因为我们选择在原生 AWS 上运行。”

– Amazon GameOn 工程主管 Kaushik Chakraborti

  • 关于 Amazon
  • Amazon 一向秉持四大原则:顾客至上而非专注于竞争对手;勇于创新;致力追求卓越营运;并且高瞻远瞩。客户评论、一键购物、个性化推荐、Prime、Amazon 物流、AWS、Kindle Direct Publishing、Kindle、Fire 平板电脑、Fire TV、Amazon Echo 和 Alexa 是 Amazon 首创的部分产品和服务。

  • 优势
    • 提供 47 毫秒的 P90 延迟
    • 外部 API 调用的成功率达到 99.995%
    • 每两周发布一次产品更新,每月发布一次主要功能
  • 使用的 AWS 服务

每两周发布一次产品更新,每月发布一次主要功能

Amazon GameOn 是在 2018 年游戏开发人员大会上发布的,它为游戏开发人员提供了一种非传统的构建平台无关 REST API 产品的方法。无论开发人员是在 Amazon Appstore、iOS 还是 Android 等移动平台上为电脑和游戏机提供游戏,他们都可以注册游戏一次,获得 API 密钥,并在短短一周内轻松使用模块化 GameOn 组件。

除了在 Amazon DynamoDB 中存储数据外,GameOn 还使用 Amazon ElastiCacheAmazon DynamoDB Accelerator(DAX)进行缓存,使用在 Amazon Redshift 上运行的 Amazon QuickSight 来获取商业智能和报告,并使用 Amazon Elastic Compute Cloud(Amazon EC2)运行应用程序逻辑。它还利用 AWS Lambda,这是一种无服务器服务,可以运行代码来响应事件,适用于编排后台作业、数据收集、欺诈检测和计费流程。GameOn 架构中最重要的组件之一是 Amazon API Gateway,这是一种完全托管的服务,使您可以轻松创建、发布、维护、监控和保护任意规模的 API。 

Chakraborti 说:“我们遵循了 AWS 的建议,大量使用微服务,而不是构建传统的整体式应用程序。”“依赖 Amazon API Gateway 和微服务架构,我们可以在不影响任何其他服务或组件的情况下在小范围内进行特定更改,这使相对较小的产品团队能够每两周发布一次产品更新,且每月发布主要的新功能。”

API Gateway 的另一个优点是,它使您能够轻松区分内部和外部调用可访问的内容。Chakraborti 说:“假设某个特定 API 提供 10 项服务,但我们只希望客户能够访问其中 8 项。”“在 API Gateway 上,我们可以选择通过两个网关提供服务,轻松阻止客户访问内部服务,而无需编写其他逻辑或更改 API 和签名。API Gateway 如此精妙地解决了许多问题,我们甚至从未考虑过使用其他产品。”

使用 AWS 实现前所未有的低延迟

在 AWS 上运行最重要的好处之一是 GameOn 团队可以为其客户提供极低的延迟。Chakraborti 说:“在我们的规划和研究阶段,游戏开发人员明确表示他们无法承受我们服务的缓慢响应时间,因此我们的要求之一就是实现亚秒延迟。”

这项任务已完成,另外还完成了其他任务。根据 Chakraborti,自 GameOn 发布以来,有数以亿计的对 GameOn 网关的外部 API 调用,这些调用的成功率达到了 99.995%,而 AWS 架构可以提供 47 毫秒的 P90 响应时间。Chakraborti 说:“根据我的经验,这种速度闻所未闻。”“我们的客户说,我们的响应时间处于领先水平,虽然我们因此而得到称赞,但这实际上是因为我们选择在原生 AWS 上运行。”

这也远远满足了团队的可扩展性要求。Chakraborti 说:“以前,和我担任相同职位的人在夜里会失眠,担心如果明天规模翻倍会发生什么情况。”“因为我们的架构遵循 AWS 最佳实践,我们不用为圣诞节或 Amazon Prime Day 担忧,更不用说今年剩下的时间了。DynamoDB 的自动扩展功能可以完美地处理我们交给它的任务,而无需使用任何工程资源来监控事项和作出调整。”

该系统的原生 AWS 架构为团队消除了管理扩展这项繁重任务,在团队的待办事项列表中,这并不是该架构消除的唯一一项繁重任务。Chakraborti 说:“我们知道,只要通过正确的方法提前构建所有内容,我们就可以大大减少运营开销,然后让 AWS 处理剩下的工作。”“由于 AWS 负责安全更新、硬件升级和操作系统修补等工作,我的工程人员中只有不到 10% 的人需要花时间执行维护和管理,甚至工程师也有足够的剩余时间来帮助其他人开展集体讨论并制作新产品和功能的原型。”

虽然到目前为止在 AWS 上运行一直没有问题,但 Chakraborti 并不担心在遇到挑战时无法找到应对之策。“AWS 提供了强大的支持,很多时候,您只需通过在线搜索就能找到所需答案。AWS 的外部知识库已经非常庞大,且每天都在扩增。”

根据 Chakraborti,最重要的是,GameOn 团队实现了一切目标,而无需对它正在使用的 AWS 服务进行任何自定义或调整。“我们能够使用现成的标准 AWS 工具和技术轻松构建强大、有弹性、可扩展的架构,这太令人惊讶了。”


了解更多

了解有关 Amazon DynamoDB 的更多信息。