AWS 案例研究:嘉谊互娱
“我认为最好的服务是‘无感知’的,而AWS提供给我们的正是这种服务。”
——成都嘉谊互娱科技有限公司CTO 张雨农
关于嘉谊互娱
成都嘉谊互娱科技有限公司(以下简称“嘉谊互娱”)是一家专注海外休闲游戏市场,集产品研发,运营和发行于一体的游戏企业。公司总部位于中国成都,并在美国,香港等地设立有分公司。成立三年以来,公司一直专注创作精品游戏,并持续探索市场潜力。至今公司自研产品海外累计下载量已突破1.1亿人次,其中不仅有多款游戏获得苹果及谷歌商店全球推荐,同时也不乏多种不同类型产品,取得全球重点国家下载榜和分类畅销榜前列的成绩。
业务需求与挑战
嘉谊互娱自成立起就专注深耕手机游戏市场。随着玩家需求的不断变化,嘉谊互娱开始由单机版非联网游戏逐渐向联网类游戏市场进军。2016年,嘉谊互娱开始积极开拓海外市场,选择一个具有全球覆盖能力的云服务商是业务发展的前提。随着多款游戏被应用商店推荐,全球玩家数量急剧攀升,嘉谊互娱研发团队面临的首要挑战就是传统单台服务器架构难以满足飞速增长的玩家需求。
传统的基于虚拟机的游戏后端部署方式存在诸多弊端,缺乏灵活性。“当一个游戏创意被玩家所接受时,这款游戏会在非常短的时间内成为‘爆款’,玩家数量突增5-10倍。如果单台虚拟机CPU负载过大,将会有停机的风险。然而虚拟机的扩展过程也非常令人头疼,有时不得不进行停服扩展和升级,这会严重影响玩家的体验。”嘉谊互娱CTO张雨农谈到。为了平台的稳定运营,企业需要招聘大量的运维专业人员,针对每一款游戏的运行状况进行监控并灵活调整,这对于嘉谊互娱这样一家初创企业来说是一笔非常昂贵的人力成本支出,嘉谊互娱更希望把有限的资源投入到新游戏的研发与创新上。
其次,随着游戏运营数据的不断积累,嘉谊互娱也希望充分挖掘来自数百万玩家所积累的海量日志数据,从而发现业务数据背后的商业价值,为游戏服务的创新、玩家的体验与精准化营销提供支持。然而构建大数据团队对于游戏公司来说不仅缺乏足够的经验和专业人员,而且成本支出大、周期长,很难在短时间内获得可预期的投资回报。此外,游戏行业易受安全攻击或是DDoS类型的攻击,嘉谊互娱希望更加充分地保障平台的安全性,确保自身服务的稳定和玩家的畅快的游戏体验,但仅靠虚拟机来构建很难满足这一需求。
为什么选择AWS
在嘉谊互娱看来,从传统单机游戏到在线游戏转型的过程中,依托云平台实现服务的部署并进行快速的海外拓展是明智的选择。一个可靠的云服务商能够提供持续稳定且无感知的服务体验。为此,嘉谊互娱开始对市场上的主流云服务商进行试用评估,经过全面的考察,基于以下几方面的优势,嘉谊互娱最终选择采用Amazon Web Services。
- 前/后端无服务器化改造
最初嘉谊互娱的游戏服务器采用单台Amazon Elastic Compute Cloud (Amazon EC2)进行部署,服务器代码也不支持分布式发布。当玩家数量短时间内暴涨,很容易出现服务器压力过大,必须停服维护的情况。先后尝试加入Elastic Load Balancing和启用AWS Elastic Beanstalk服务之后,仍然无法从根本上解决可用性和扩展性的问题。研发团队痛定思痛,在2018年初决定彻底转向无服务器架构。
嘉谊互娱使用AWS无服务器架构最佳实践,将前端迁移到Amazon API Gateway+ AWS Lambda,替代了传统的Amazon EC2虚拟机,通过架构的改造成功解决了压力问题。后端数据库的动态扩缩容则采用Amazon DynamoDB和Amazon Aurora Serverless取代了传统的Amazon Relational Database Service (Amazon RDS) 数据库,同时降低了成本。游戏服无服务器化改造完成之后,新游戏直接采用无服务器架构,老款游戏也将逐渐迁移过来。截至目前,游戏服基本没有出现过中断现象,可用性保证在99.999%以上。“无服务器计算让我们不必考虑Amazon EC2实例的磁盘I/O与网络性能的配比,通过切换占用资源的单位数,而不是切换Amazon EC2实例的数量来调整游戏服务性能,能够更灵活地扩展,让我们从容应对爆款游戏的需求。” 张雨农说。
- 无服务器的大数据分析平台
随着游戏玩家的不断增长以及公司业务的发展,为了更好地服务玩家,研发创新游戏,嘉谊互娱在一开始就特别重视对用户日志的收集和处理。“我们在实施大数据项目的时候,一直考虑自建Kafka+Hadoop的方案,但限于公司在这一领域的技术积累有限,难以保证大数据平台的稳定运行,最后选用Amazon Kinesis+ AWS Glue+ Amazon Athena快速简便地上线了无服务器的大数据平台,现已平稳运行一年多。”张雨农介绍。起初嘉谊互娱使用虚拟机收集用户行为日志,但当硬盘的读写消耗无法满足时,会反向影响业务响应。在与AWS服务团队咨询之后,使用无服务器自动伸缩框架Amazon Kinesis Data Firehose完美解决了服务器效率问题,同时还可以自动进行数据格式处理,自动转存、压缩和切片放在Amazon Simple Storage Service (Amazon S3),这一切对于嘉谊互娱开发人员来说都是无感知的自动化流转。相比于自建方式,涉及脚本、定期压缩、上传、删除等多个环节,而且需要实时监控以免出现问题。
- 利用机器学习打造千人千面的用户服务
为了实现对用户千人千面的分类和个性化服务,早期嘉谊互娱采取传统的人工统计分析结合AB Test方式进行粗放型智能营销。张雨农坦言:“机器学习是我们一直想做却没有能力做的事情。为了加快新游戏上线抢占市场先机,团队的重心必须放在游戏研发上,而机器学习技术也需要专业人才和雄厚的技术投入,这些都是我们面临的障碍。” AWS拥有经验丰富的专业服务团队,手把手地帮助嘉谊互娱攻破这一难关,不仅提供强大的技术支持与指导,使嘉谊互娱利用Amazon Sagemaker搭建起一套机器学习预测平台,充分利用游戏中的各种数据,为付费和留存预测提供科学的模型,提升整体业务收益。同时,借助AWS专业服务团队的力量,嘉谊互娱组建起专业的团队负责机器学习/人工智能方面的研究。在学习、使用AWS的过程中,团队成员的技术视野得到不断拓宽,开发思维逐步升级,将AWS的技术经验和能力赋能于团队成员。
图1是嘉谊互娱游戏服务、大数据分析和机器学习系统在AWS上的架构示意图,所使用的AWS服务有20多种,包括AWS Lambda、Amazon S3、Amazon DynamoDB、Amazon EMR、Amazon CloudWatch、Amazon CloudFront、Amazon QuickSight、Amazon SageMaker、Amazon Route 53、Amazon Kinesis、AWS Glue、Amazon CloudTrail、AWS Identity and Access Management (IAM)等。
获得的成效
通过使用AWS所提供的无服务器架构构建游戏平台、大数据和机器学习解决方案打造千人千面的用户服务,嘉谊互娱取得了一系列显著的收益,这些收益包括:
借助AWS所提供的托管服务和无服务架构部署的优势,嘉谊互娱可以轻松应对全球化游戏平台部署与运维工作的挑战,并且避免传统架构在业务增长时的中断问题,实现服务的自动化扩展,可用性保证在99.999%以上,充分保障了玩家的体验。利用AWS的托管和高级服务,嘉谊互娱将产品开发和测试的周期从5-6个月缩减至3-4个月;将游戏上线前的服务器配置测试由30分钟提升至秒级。“借助AWS托管服务,嘉谊互娱可以将大量精力放在游戏开发和业务上,享受AWS带给我们的无感知的服务体验。我们不需要再为运维工作配备专职的技术人员就能够完成大规模的平台运营管理,真正实现了零运维。”张雨农谈到。
通过使用AWS的大数据分析解决方案,嘉谊互娱也实现了将业务数据转化为商业价值的愿景。张雨农说,“AWS大数据分析解决方案,无论是在玩家的画像、分析还是游戏广告投放、营销方面,我们都取得了很好的效果,并且借助数据的力量更好地平衡了付费游戏玩家和非付费游戏玩家的商业盈利模式,让我们可以持续地保持收入增长。”
不仅如此,在与AWS的合作中,依托AWS专业服务团队的支持,嘉谊互娱可以对技术团队实现赋能。“AWS专业服务团队为我们提供了大量的最佳实践和架构分享,让我们可以快速拥抱创新技术。” 嘉谊互娱CTO张雨农说到,“我们在没有足够技术积累的情况下,快速搭建起机器学习平台,模型预测准确率超过80%,这一切离不开AWS强大的技术支持。”
展望未来
技术视野的扩展、思想包袱的卸除将为嘉谊互娱的未来带来更多可能。基于目前所取得成绩,嘉谊互娱计划使用Amazon EMR搭建Hadoop大数据平台,为机器学习和人工智能应用做好准备。同时,将与AWS在此领域展开更深入的合作,包括Amazon Translate和Amazon Rekognition等服务的应用。
更多信息
了解更多如何在不考虑服务器的情况下构建并运行应用程序,请访问无服务器详细信息页面。