提起“会说话的汤姆猫”这款游戏,相信许多读者朋友都是耳熟能详。这款老少咸宜、妙趣横生的游戏,自从发布之日就风靡了全球,如今更是衍生成为了一个拥有六位主角、数十款游戏的“会说话的汤姆猫”系列IP。
据汤姆猫IP运营商金科文化统计,截至目前为止,“会说话的汤姆猫”系列IP在在全球已经累积有130亿下载量,全球平均月活用户超过4.1亿,全球日活用户超过4000万,中国日活用户超过1000万。2020年6月,金科文化面向全球发行了新游戏“汤姆猫总动员”,第二天即在100多个国家登上了免费的下载榜前10。根据App Annie的统计,“汤姆猫总动员”自从上线之后,在6月份和7月份连续拿下了全球游戏下载榜第一的宝座。其在全球游戏玩家中的受欢迎程度,由此也可见一斑。
不过这时候问题也来了:这样一款风靡全球、蝉联全球下载榜第一的游戏,究竟用的是什么样的云服务呢?
支撑千万日活的云原生架构
日活用户千万级的游戏矩阵,毫无疑问对于游戏平台的伸缩性也提出了严峻挑战。流量较低的时段还好,对游戏平台的性能要求并不高。但是在玩家纷纷上线的流量高峰时段,什么样的系统架构怎样才能继续保持酣畅淋漓的系统反应速度和游戏体验?
“目前我们的整个发行技术体系,依托亚马逊云服务(AWS)的云原生系统架构平台进行开发和运行的,双方的合作大概是从2017年开始启动。”谈到这个话题时,金科文化游戏事业部支撑中心技术总监夏祥龙向趣味科技介绍道。
谈到为什么选择云原生的原因,夏祥龙透露,事实上,金科文化在刚开始组建发行技术体系的时候,也是采用了较为传统的方式来搭建开发和运维环境。然而几个月的时间过去之后,发现实施效果并没有达到当初的预期。考虑到团队人员的技术经验、运维环境、人力成本等各项因素的限制,以及日益逼近的游戏发行时间,金科文化决定破釜沉舟,尝试采用云原生这样全新的开发模式。
“经过我们的项目调研,以及与AWS架构师的讨论,认为云原生能够快速地满足我们的开发要求,实现短期上线的目标,对游戏的高DAU(日活跃用户数)也可以提供完美支持,包括在节省成本方面也都有较好的解决方案。所以综合考虑之后,我们选择了云原生的道路,并且一直走到现在。”
云原生开发模式的优点
相对于传统的应用开发方式而言,云原生是一种全新的应用开发方式,其以应用在云上运行为前提,在应用的开发运维中充分利用云的特性和优势,实现应用的敏捷性、弹性伸缩、高可用性、高效率,并降低TCO总拥有成本。对于云原生模式的这些优点,夏祥龙在游戏的设计、开发和运维中可以说都有着深切的体验和感受。
“首先在技术决策阶段,云原生模式可以大幅节省开发的时间成本。我们想要一个什么产品的时候,直接从云上拿来开通接入就可以开始使用。而如果是我们自己去搭建、调试、运营一个新系统的话,需要耗费的时间短则一周、长则两三周都有可能,中间还有可能会遇到一些难以解决的技术问题,从而大幅延误技术调研和开发进程。”
“其次在项目开发过程中,如果使用云原生模式来搭建系统体系,想要用什么功能和产品直接就可以从AWS云服务上拿过来用。开发人员可以更加专注于运用本身,而不用操心它的运行、维护以及数据安全、多可用性等等其他相关的各种问题,因为这些事情全部都交给了AWS去负责。”
“最后在运维阶段,我们只需要关注这一个组件的健康状态,其他所有的像CPU、内存、读写等各种数据,都有Amazon CloudWatch这样的产品来负责监控,而且还可以非常方便地接入我们自己的运维监控系统。所以对于运维层面来说,整个系统其实都不太需要我们去关注产品的部署和运行,因为几乎所有工作都已经交给了AWS。”
据夏祥龙介绍,通过采用Amazon Elastic Compute Cloud(Amazon EC2)弹性计算服务、Amazon EC2 Auto Scaling弹性伸缩服务、Application Load Balancer(ALB)负载均衡服务和Amazon DynamoDB键/值和文档数据库服务,AWS帮助金科文化的游戏平台实现了多达七倍的自动伸缩和负载均衡,为游戏运营的成本优化提供了极大的帮助。而另一方面,云原生架构在帮助金科文化保证系统开发、运维、交付效率的同时,还实现了自动扩容、自动运维等来保证系统弹性,有力地保障了亿万游戏玩家的用户体验。
AWS云服务的独特优势
“其实在技术选型的时候,我们有对市场上的多家云服务商进行过综合对比。当时选择AWS的一个重要理由,就是Amazon DynamoDB的数据库可以无限扩容,这在当时是独一无二的,也是唯一可以满足我们需求的产品。所以最终AWS成为了我们唯一的选择。”谈到为什么会选择AWS开展合作时,夏祥龙向趣味科技如是表示,
夏祥龙表示:“AWS提供的云服务非常符合我们的发展需求。我们从刚刚开始上线单款游戏,可能就有高达几十万的DAU日活跃用户数,到现在我们每天的DAU也都是千万级的。然而这么多年来,我们的游戏业务一直都依托着这套架构,只在上面做过一些细微的业务型调整,整体的技术性架构并没有什么大的变化。可以看到在这种并发量快速发展的过程中,AWS搭建的整个架构和我们的业务发展进程是非常匹配的。这期间我们消耗的人力成本也始终维持在一个比较低的水平。我们核心团队的开发人员和运维人员,从刚开始进行云原生开发一直到现在,人数基本上都没有什么变化。”
“除了产品层面之外,AWS的架构师团队也是一项非常明显的优势。对于我们业务线上提出的一些需求和一些技术难点,AWS架构师团队都给予了极大的支持。从最开始的选型,到后期架构的调整,再到新产品的使用,以及这些过程中发生的一系列技术问题、技术难点等等,AWS架构师团队都有和我们进行及时的指导和沟通,从而保证了双方合作的流畅进行。”
“另外,AWS的云产品相互之间的衔接比较好,这也是非常有优势的一个方面。从流量到业务处理层,再到最后的数据库,各个层级之间通过非常方便的配置和简单的开发,就可以把各个模块集成到一起,让我们可以专注于整个架构和业务流程的工作,而避免了大量产品和维护方面的工作,帮助我们节省了大量的时间精力和人力成本。”夏祥龙透露,“未来我们和AWS在人工智能应用领域,譬如个性化推荐的内容方面,可能还会开展进一步的合作。”