玖万里网络科技(上海)有限公司(下面简称:玖万里)成立于2013年,是国内新兴的游戏研发和发行公司,服务于全球游戏玩家。公司目前已经发行了名为《Hyper Heroes》的弹珠回合游戏和《Hyper Hunters》的角色扮演游戏。《Hyper Heroes》于2016年8月18日在全球发行,在中国的版本名为《横冲直撞》。《Hyper Hunters》于2017年9月在东南亚范围发行上线,后续会逐步开放给全球游戏玩家。2017年8月,全球顶级咨询公司毕马威联手Facebook推出榜单“2017中国出海人本营销领先品牌50强”和“2017中国出海人本营销游戏行业领先品牌50强”,玖万里双双入选。
玖万里成立之初,就确定了向全球游戏玩家提供优质服务的目标。作为初创公司,运维能力、资金实力有限,云服务成为必然之选。覆盖全球的、稳定流畅的游戏运行体验,及时、平滑的版本升级,丰富的市场推广和线上活动,是游戏运营的必然之需,也是对云平台提出的要求。
玖万里运营技术负责人丁幸说,“我们考虑到降低运维成本,所以决定在云上面部署我们的游戏。因为我们是在海外运营,所以对比了其它的云厂商,最终选择了Amazon Web Services (AWS)。AWS的区域和节点较多,全球化覆盖,可以很好地满足我们全球化部署的需求,所以我们将整体IT架构都放在AWS上。”例如《Hyper Heroes》这款游戏,最初在加拿大小规模发行测试,使用了Amazon Elastic Compute Cloud (Amazon EC2)搭载MySQL、Docker以及Redis的服务。测试期间,运行稳定,没有出现任何事故,随后将游戏全面规划在AWS上做正式开服。
在使用AWS服务的过程中,玖万里发现AWS的服务真是一个巨大的宝库。
流畅、稳定、可靠
通过使用AWS的Elastic Load Balancing负载均衡服务,不论Amazon EC2升级或数据库升级,修改Amazon Relational Database Service (Amazon RDS)或者Redis,都能实现自动故障转移,升级过程中用户也完全没有感知。
玖万里定期举办游戏玩家会战活动,非常态的游戏场景通常会使某一时段出现高于平时约10倍的游戏玩家数量。同样,当玖万里获得Google应用商店的全球推荐时,日活用户数和同时在线人数也三倍、五倍地增加。通过Amazon ElastiCache可以快速、方便地增加Redis集群,解决峰值的瓶颈问题,保证全部玩家良好的游戏体验。
通过Amazon CloudFront,玖万里同时将热更新资源和OBB(安卓游戏通用数据包)都分发到离用户最近的节点,实现静态资源和动态资源的运行加速,给玩家提供流畅的下载和游戏体验。
Amazon CloudWatch可对各种服务进行监控,运维人员只需要关注自己的邮箱是否收到安全告警,然后将出现的问题进行处理即可。
强大的数据分析
玖万里创新使用了AWS强大的数据分析服务,使用日志管理工具Fluentd,从游戏服务器推送数据到Amazon Simple Storage Service (S3),将Amazon S3作为数据湖;使用Amazon EMR的Hadoop架构做每日的分析报表,并使用Amazon QuickSight实现视觉化展现。策划部门使用了Amazon Athena,用 SQL语言的方式直接从Amazon S3查询数据,做出游戏商品销售情况的实时报告,并通过Amazon QuickSight实现视觉化展现,制定和调整游戏策划方案。
高效的移动服务
使用AWS Device Farm移动端应用程序测试服务,对即将发布的游戏版本进行适配测试,让玖万里受益匪浅。Device Farm包含了现存的几乎所有移动终端型号,一站式实现各种终端的兼容性测试。在没有使用Device Farm之前,个别版本更新时,由于不兼容部分终端型号,导致大面积用户不能登录。使用Device Farm之后,再也没有出现类似问题。
DevOps开发、运维一体化
玖万里还使用AWS CodeCommit、AWS CodeBuild、AWS CodeDeploy、Amazon Simple Queue Service (SQS)、Amazon Simple Notification Service (SNS)等服务,实现了开发部署自动化。公司把开发环境部署在Amazon EC2上,提交代码后,可以直接在测试环境中预览新功能,预览完成后直接生成正式发行版本。
高安全性
AWS Identity and Access Management (IAM)身份与访问管理服务可以对公司的AWS账户进行管理,随时随地创建子账户,对子账户进行权限设置,方便相关工作人员进入后台操作,或者访问AWS的API;对离职的员工,也可以随时禁用子账户的密钥,提高IT运营的安全性。丁幸说,“使用AWS,只要你按照AWS的最佳安全实践进行部署,就不用担心基础架构的安全问题。”
完善的学习文档
“AWS产品文档是非常完善的,我遇见的大部分问题,都可以通过文档找到合适的解决方案。通过学习文档,可以快速地掌握AWS的操作方法,同时还不断发现新的使用功能。”丁幸说道。AWS线上定期有技术培训,线下也会有架构师进行面对面的指导交流,对于AWS入门是非常有帮助的。
图1是玖万里的系统架构图,玖万里的游戏全都部署在AWS上。所使用的AWS云服务包括:Amazon EC2、Amazon S3、Amazon RDS、Amazon QuickSight、CloudWatch、ElastiCache、CloudFront、Amazon Route 53、Athena、Amazon EMR、Amazon EC2 Container Registry (Amazon ECR)、Amazon SNS、Amazon SQS、IAM、AWS Key Management Service (AWS KMS)、CodeBuild、CodeCommit、Device Farm、ELB等。
AWS云服务带给玖万里的好处主要归结为两个方面:一是降低成本;二是加快业务创新速度。
降低成本主要包括海外业务拓展成本和运维人员成本。以前一款游戏的全球发行,可能需要派遣人员到全球各地进行部署。使用了AWS后,运维人员在上海的办公室、甚至在家里,就能够将业务在数分钟内部署到全球。同时,按照目前的游戏运维规模,如果采用传统的IDC模式,至少需要三名运维人员。而使用AWS,目前只用了一名运维人员,预计未来发行更多的游戏,短期内也不需要增加运维人员。
加快创新速度方面表现在:第一,过去使用MongoDB+自研发数据分析系统,研发周期较长,很多运营数据需要靠人工进行分类聚合,一份完整的报表通常需要一周时间才能完成;而配合使用了AWS数据分析平台,利用Athena和Amazon QuickSight仅需数分钟内即可完成数据的汇总分析及展示,及时了解当天每一种虚拟商品的售价情况、售卖比例以及售卖总额,从而对游戏架构进行快速调整。
第二,使用AWS的容器服务,新版本的更新可以按实例逐个完成,每个实例仅需30秒;全部180多个服务器更新完成,仅需要10分钟。极大地加快了新版本上线的速度。
当全球玩家在《Hyper Heroes》上玩得酣畅淋漓时,他们不会想到,这样一款游戏就出自中国上海、员工仅60人的玖万里公司,因为玖万里公司采用的AWS云平台离他们很近。未来,将有越来越多的全球游戏玩家,通过AWS云平台体验到玖万里开发和运营的游戏。
若要了解如何使用AWS云快速创造精彩的游戏,并吸引全球受众,请访问:https://thinkwithwp.com/cn/gaming/