为动作 RPG 游戏《艾尔登法环》的在线服务采用 AWS 托管服务
处理了全球 150 万个并发连接的峰值
2022 年
FromSoftware Inc. 专为游戏机设计和开发动作游戏。该公司自 2012 年以来一直使用 Amazon Web Services (AWS) 作为其游戏软件的基础设施平台。对于 2022 年 2 月发行的《艾尔登法环》,该公司在后端采用了 Amazon Elastic Kubernetes Service (Amazon EKS) 和 Amazon Kinesis Data Firehose 的托管服务。该系统在短时间内建成,通过迅速扩展,能够在游戏发行后立即处理 150 万个并发连接的峰值。自游戏发行以来,只需四名内部人员就可以稳定地运行该系统。
正因为有了 AWS 的帮助以及我们开发团队为提升运营效率对架构进行了现代化改造,让我们小而精的团队能够很顺利地运行这款游戏的在线服务,没有出现任何中断情况(这款游戏在全球范围内发行了超过 1340 万套,在世界各地有大量游戏玩家)
Shinichiro Nishida
FromSoftware Inc.
设计科组长
AWS 因其优越的灵活性而被选为用于动作游戏在线服务
FromSoftware 公司制作了《装甲核心》和《黑暗之魂》等受欢迎的动作游戏系列。除了针对家庭视频游戏机的游戏,该公司近年来还在开发越来越多的 Windows PC 游戏。
该公司自 2006 年发行的游戏以来,一直提供玩家之间可以互动的在线服务。由于当时该服务是在内部环境中运行,因此构建和运行服务器的工作量非常繁重。对于实体游戏来说,销量往往会在游戏发行后随着并发连接数量的增加而迅速上升,之后用户数量会逐渐下降。因此,尽管需要为服务器环境准备好足够的备用容量,但很难预测一款游戏会售出的数量,如果销量超过预期,就必须迅速扩大服务器的规模。所以,该公司从 2012 年发行《装甲核心 V》开始,为游戏的在线服务采用 AWS。
“游戏在线服务的服务器成本很高。小型运营团队也很难持续地为其提供维护。因而,我们决定采用 AWS,从而可以根据自己的需求灵活地纵向/横向扩展或缩减服务器规模。做出这一决策的决定性因素是,采用 AWS 后,我们就可获得大量公开的技术信息,让我们很轻松地在内部就能获取专业知识。”设计科组长 Shinichiro Nishida 说。
开发新游戏《艾尔登法环》起开始采用 Amazon EKS
此后,该公司决定从 2016 年左右开始对其架构进行现代化改造(此前一直在 Amazon EC2 上为其游戏提供在线服务),并开始开发一款新的动作 RPG 游戏《艾尔登法环》。《艾尔登法环》在线服务使用了 Amazon EKS,该服务将运行应用程序的环境迁移到容器上,并将 Kubernetes 用于在 AWS 上部署和管理容器。设计科副组长 Nobuyuki Okamura 说:
“我们迁移到容器是为了解决在之前环境中安装中间件和库时存在的部署环境差异。迁移到容器后,维护部署工具的成本和与容器相关的专有管理工具的数量都上升了,所以我们使用默认工具 Kubernetes 来集中管理。同时,为了减少 Kubernetes 的操作负载,我们采用了 Amazon EKS 托管服务。”
为了收集服务器日志,该公司采用了实时收集流数据的 Amazon Kinesis Data Firehose。日志输出目标设为 Amazon OpenSearch Service,并以可视化的形式显示一系列指标,如标准输出日志、各种服务器日志、连接数和请求数等。设计科科长 Hiroyuki Fujii 说道:
“在开发过程中执行负载测试时,会生成大量日志。使用开源数据收集工具 (fluentd),聚合服务器不能扩展,经常导致高负载和日志下降。因此我们采用了 Amazon Kinesis Data Firehose 这一解决方案防止日志下降。可视化工具 Amazon OpenSearch Service 也变得不可或缺,因为它很容易改变实例大小,这也是托管服务的优点之一。
20 万个并发连接预计量在最后一刻超过了 100 万个
通过快速扩大服务器规模应对
《艾尔登法环》的开发于 2018 年正式开始,并于 2022 年 2 月在全球发行。《艾尔登法环》是一款动作 RPG 游戏,玩家可以在一个广阔的幻想世界里自由漫游,使用剑和魔法进行冒险。支持的平台有 PlayStation® 5、PlayStation® 4、Xbox Series X|S、Xbox One 和 Steam。《艾尔登法环》在发行后立即记录了来自世界各地的 100 万个并发连接,两周后并发连接超过 150 万。
“我们最初预计游戏发行后立即会有 20 万个并发连接,但在发行前 2 个月接受预购时,我们预测的并发连接数是 40 万,在发行前 1 个月修改为 100 万个。尽管我们对这些意外的数字有紧迫感,但多亏了 AWS 的帮助,我们能够通过增加服务器资源来应对这一切。“AWS 负责人迅速地为我们提供了支持和帮助,例如迅速满足了我们在发行前最后一分钟的需求。”Okamura 说。
目前,《艾尔登法环》的服务器团队大约由 4 人组成。工程师要负责多款游戏的运营,因此不可能在一款游戏上投入大量资源。因此,托管服务带来了相当大的好处,可以实现快速开发和稳定运营。
“最大的好处之一是对日志的管理。过去,与日志相关的故障每个月会发生 2 到 3 次,但采用 Amazon Kinesis Data Firehose 后,这类故障降至 0,从而让我们能够专注于游戏开发工作。”
托管服务也将积极应用于未来的游戏中
在开发《艾尔登法环》的同时已经开始对在线服务架构进行现代化改造,未来也将继续对架构进行重新评估,判断是否需要进一步优化。
“对于数据库,我们希望使用 Amazon DynamoDB 和 Amazon Aurora,从而提高可扩展性。“在静态内容领域,我们将考虑进行各种改进,例如使用 Amazon CloudFront 和 Amazon S3 进行内容分发,那么关于部署到 Amazon EKS,则从现有的开源环境转移到使用 AWS CloudFormation 的 CI/CD。”Okamura 说。
该公司计划在未来的游戏中也积极利用 AWS 托管服务,并继续发行受欢迎的游戏,同时降低运营负荷。
“正因为有了 AWS 的帮助以及我们开发团队为提升运营效率对架构进行了现代化改造,让我们小而精的团队能够很顺利地运行这款游戏的在线服务,没有出现任何中断情况(这款游戏在全球范围内发行了超过 1340 万套,在世界各地有大量游戏玩家)。未来,随着我们开发团队的建立,我们将考虑把我们的游戏开发环境迁移到云,也将继续从服务和开发两个角度寻找优化使用 AWS 的方法。我们期待与 AWS 继续协商合作,期待它将提供的有用的托管服务。”西田说。
Shinichiro Nishida
Nobuyuki Okamura
Hiroyuki Fujii
客户简介:FromSoftware Inc.
- 创立日期:1986 年 11 月 1 日
- 资本:2.685 亿日元
- 员工人数:349 人(2022 年 5 月止)
- 业务范围:游戏设计、开发及销售;在线内容的创建与开发
采用 AWS 的好处和未来前景
- 通过扩展服务器,在《艾尔登法环》发行后立即处理了 150 万个并发连接
- 采用 Amazon EKS,并在内部针对 Kubernetes 统一了技术堆栈
- 采用 Amazon Kinesis Data Firehose,稳定日志采集,减少管理负载
- 利用 Amazon OpenSearch Service 作为可视化日志和指标的工具
目前正在使用的关键服务
Amazon Elastic Kubernetes Service
Amazon Elastic Kubernetes Service (Amazon EKS) 是一项完全托管的 Kubernetes 服务。
Amazon Kinesis Data Firehose
Amazon Kinesis Data Firehose 服务是将串流数据可靠地加载到数据湖、数据存储和分析服务中的最简单方式。
Amazon OpenSearch Service(Amazon Elasticsearch Service 的后续产品)
Amazon OpenSearch Service 可让您轻松执行交互式日志分析、实时应用程序监控、网站搜索等工作。OpenSearch 是一款开源的分布式搜索和分析套件,衍生自 Elasticsearch。
Amazon RDS
Amazon Relational Database Service (Amazon RDS) 是一种 Web 服务,可让用户轻松地在云中设置、操作和扩展关系数据库。