Square Enix 案例研究

2016 年

Square Enix 的企业理念是提供难忘的体验,将快乐传播到全球。该公司提供高质量的娱乐内容、服务和产品。其标志性的电子游戏包括 Dragon Quest、Final Fantasy 和 Tomb Raider。Dragon Quest 是该公司的主要游戏产品之一,于 1986 年开始成为 Nintendo 红白机的游戏软件。而随着 Dragon Quest X 的推出,这款游戏已经逐步发展成一种名为 MMORPG(大型多人在线角色扮演游戏)的在线游戏。Dragon Quest X 吸引了数十万玩家在同一个世界中游戏,Square Enix 为此构建了可以始终向客户提供良好游戏体验的基础设施。

开始 python 教程
kr_quotemark

AWS Lambda 拥有惊人的效果。过去需要几小时的图片处理工作只要 10 秒多一点就可以完成。我们还把成本降低到了本地处理成本的二十分之一左右。"

Daisuke Agata
Square Enix Co., Ltd. 第六事业部技术总监

挑战

Dragon Quest X 连接到了门户网站和智能手机应用程序,让玩家能在游戏中交换信息、购物和管理角色。它还具有游戏内截图功能,客户可以在门户网站中查看和管理屏幕截图。这一功能非常受欢迎,并且客户会截取大量的屏幕截图,尤其是当游戏为了庆祝圣诞节和新年前夜而举办活动时。

游戏内屏幕截图截取后,图片会被发送到服务器进行处理,例如创建缩略图和添加版权水印等。“这种图片处理工作会占用大量资源”,Square Enix 的技术总监 Daisuke Agata 表示。这意味在当许多人同时截图时,例如活动期间,服务器负载会出现高峰。通常情况下服务器每分钟会收到 200 到 300 张需要处理的图片,但在游戏内的新年前夜活动中,这一数字可能会高达每分钟 6000 张。

“屏幕截图在服务器端按顺序处理。在每年发生几次的高峰期间,有时需要耗费三四个小时才能完成图片的处理,让客户能够查看自己的截图”,Agata 表示,“加快处理速度并提高客户满意度,是 Square Enix 在扩大客户规模时需要面临的一项挑战。"

为什么选择 Amazon Web Services

为了加快图片处理速度,Square Enix 起初考虑添加一台大约 64 核的新服务器,增加处理图片的线程数。“这是因为我们原来认为提高并行处理能力比提高单张图片的处理速度更有效果”,Agata 表示。

经过多次内部讨论后,该公司决定转向云计算,而不是引入新的服务器,这样效率会更高。Square Enix 信息系统部门的 Kojiro Kubo 建议使用 AWS 云,他认为为了应对每年只发生几次的高峰而配备昂贵的服务器很不合理。“特别重要的是,我认为在 AWS 基础设施上使用 AWS Lambda 来执行代码可以消除在我们的环境中进行图片处理的需求,同时仍然支持与本地服务器集成”,Kubo 表示,“我还觉得 AWS 的门槛比较低,容易使用,因此我建议使用 AWS。”

截图完成后,二进制图片数据首先会上传到 Amazon Simple Storage Service (Amazon S3)。然后,Amazon S3 事件会触发 AWS Lambda 执行图片处理。然后,从 Amazon Simple Queue Service (Amazon SQS) 输出的、包含二进制图片数据的队列会导入到本地服务器,以便保存处理好的图片数据。
随着客户数量的增长,游戏内屏幕截图功能预计会造成更大的高峰。“理论上讲,我们可以借助 AWS Lambda 无限扩展。这是决策过程中的另一项重要考虑因素”,Agata 说道。

Square Enix 从 2015 年夏季开始制备样本并在 AWS Lambda 上进行测试。“我们成功地在 AWS Lambda 上执行了图片处理工作。然后我们花时间进行测试,确定与本地服务器集成的方法”,Agata 表示。

由于可用性和可靠性对于屏幕截图功能至关重要,Square Enix 还测试了备份计划。测试之后,该公司于 2015 年 12 月完成了向 AWS Lambda 的迁移。

Square Enix 系统配置

效益

利用 AWS Lamba,Square Enix 缩短了客户查看屏幕截图的等待时间。“如果客户在截图一个小时后才能查看截图,他们不可能满意。因此我们设置了 10 分钟完成图片处理的目标,然后我们根据每分钟大概 18000 张图片的工作量来进行测试,这是预计峰值期间每分钟 6000 张图片的三倍,”Agata 说道。

在迁移到 AWS Lambda 后的新年前夜活动中,屏幕截图的生成速度超过了每分钟 6000 张。“AWS Lambda 拥有惊人的效果。过去需要几小时的图片处理工作只要 10 秒多一点就可以完成。我们还把成本降低到了本地处理成本的二十分之一左右”,Agata 表示。

采用 AWS 还让 Square Enix 降低了基础设施成本和人力成本。“消除与服务器的运行、维护和更换有关的劳动力也降低了人力资源成本”,Kubo 说道。

迈向未来

Square Enix 经常通过推送通知向客户发送关于 Dragon Quest X 的信息,而这一工作量会随着时间和日期的不同而有很大波动。因此,Square Enix 在考虑使用 Amazon Simple Notification Service (Amazon SNS) 来发送通知。该公司还考虑采用 Amazon CloudFront 进行内容分发。

“在未来,我们还希望对证书进行适当处理,以便减少与提供基于 Web 的服务相关的风险。所以我们在考虑采用 AWS Certificate Manager (ACM),这项服务能够处理 SSL/TLS 证书的配置和管理工作”,Kubo 表示。

“我们希望继续地成功集成我们的本地环境,同时我们会积极地研究在云中效率更高的服务的迁移工作”,Agata 表示。

Square Enix 系统配置

jp_diagram_square-enix_1024x406

客户截取的游戏内屏幕截图。

square-enix_image

关于 Square Enix

Square Enix 的企业理念是提供难忘的体验,将快乐传播到全球。


使用的 AWS 服务

Amazon S3

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。 

了解更多 »

AWS Lambda

通过 AWS Lambda,无需预置或管理服务器即可运行代码。

了解更多 >>

Amazon SQS

Amazon Simple Queue Service (SQS) 是一种完全托管的消息队列服务,可让您分离和扩展微服务、分布式系统和无服务器应用程序。

了解更多 >>


开始使用

各行各业中所有规模的公司都在使用 AWS 对其日常业务进行转型。联系我们的专家,立即踏上您的 AWS 云之旅。