1700台服务器、6个运维人员——游戏公司FunPlus是如何使用AWS云服务的?
可能除了不久前接受来自金沙江1200万美元的投资外,你从来都没有听说过这家名为FunPlus的游戏公司。不过实际上,在这个已经拥有200多 人规模的游戏开发商身上,有一些有趣的标签:1)是连接10亿用户的社交网络Facebook的游戏平台上排名第6的游戏开发商;2)在硅谷创立,首先打 入的欧洲市场,但如今将总部设在了北京,还在温哥华有一个美术工作室;3)北京有着来自20多个国家的员工向全世界的游戏玩家提供服务,而CTO却呆在旧 金山的办公室;4)是最早使用亚马逊云计算服务AWS的中国创业者之一。
这些标签完全能够用来解释为什么我会对FunPlus产生兴趣——在AWS宣布进入中国之后,这样一家对后端稳定性要求极高、对弹性和成本控制需求明显、有大量遍布世界各地的用户、又了解中国云计算环境的游戏公司,恰好是让中国创业者了解亚马逊云计算服务的最好通道。
FunPlus创立于2010年,随后推出了他们的第一款在线社交游戏Family Farm,比较有意思的是,对于大部分同类游戏而言,它们的生命周期都比较有限,很可能在半年或一年后就急速衰落,而时至今日,Family Farm在Facebook上依然有很高的流量。FunPlus的COO陈琦告诉我,其中的秘诀在基于数据分析对游戏进行高频度的更新运营——在 FunPlus上,每一个用户动作都会被记录进日志,存放在AWS的EC2服务器上,然后FunPlus会对这些数据进行清洗和分析,将其存放在AWS S3上,再利用第三方软件Tableau对数据进行可视化,将各类数据之间复杂的关系直观地呈现在他们面前。
接下来,FunPlus就会根据数据来对游戏进行针对性的更新,例如,向部分用户定向推送他们感兴趣的主题活动和奖励,以此来提高留存率。或是根据用户习惯和喜好来调整UI设计和游戏参数。
除了数据外,FunPlus还会针对不同地区的用户做很多本地化的适配。例如,在针对阿拉伯语系国家时,游戏不仅仅是做文字上的翻译,同时还会将整 个游戏界面的操作改为向右堆积;在游戏人物上,也会用戴着头巾的老人来替代欧美玩家界面中的小女孩。同时,在每个游戏中,FunPlus也会根据不同区域 的节日来推出各种游戏活动。
这样的运营和游戏设计策略意味着FunPlus需要针对不同区域的用户进行多种部署方案,而为了让用户获得稳定、流畅的游戏体验,并保证他们能够对游戏数据、UI进行每日更新,所以在部署服务器时FunPlus会选择在离用户最近的那个机房来搭建整个服务集群。
FunPlus的CTO关毅涛告诉我,他们共用到了亚马逊AWS在全球五个不同区域的机房,供计1700多台虚拟服务器。那么猜猜FunPlus的 服务器管理人员数量有多少?答案是,只有6个。关毅涛说,在AWS上1分钟就能部署完一台服务器,6个运维人员几小时内就能将他们所使用的前台服务器部署 完毕,是一件很便捷的事情。
但他们使用云计算服务最重要的原因还是处于对成本和弹性的考虑——作为一家游戏公司,从初创阶段开始,要经历多次大规模的爆发性增长,和一些难以预 估的流量压力,例如突然被Facebook推荐了。如果使用物理机房,会遇到一个两难的选择:如果服务器配置不足,那么无法承载用户带来的压力而崩溃,而 如果购买了过多的服务器,则会增加成本。并且,一般情况下物理机房都需要提前1~2天申请,要等到使用时,可能游戏公司早就被用户骂的狗血淋头了。
云服务最大的好处便是弹性,例如FunPlus使用的AWS服务,首先是可以自动根据游戏的高峰期和低峰期启动或关闭服务器,例如在晚上1700多 台服务器同时运转,而凌晨过后,只需要300台服务器就能满足全部的用户。由于AWS是按小时和流量计费,这样可以极大的节省成本。此外,公司还可以预估 自己的使用量,购买AWS的预留实例(Reserved Instance),大幅度降低服务器的成本(单台EC2如果购买RI,一年节省的主机租赁成本最少可以达到35%),同时保证FunPlus在要部署的 区域有足够的服务器资源。
在不久前,这家总部位于北京的公司开始把自己的游戏带入中国市场,不过目前他们只在App Store和360手机助手上放置了一款移动游戏,并没有做多少实际的运营。谈起如何进入中国市场,COO陈琦还有些头疼:“这里的渠道太多太混乱,结算 和分层方案多种多样。并且,不同于Facebook已经明确表明自己不做游戏,把空间开放给第三方开发者,中国的社交网络,无论是QQ空间、微信还是微 博,开放的API都非常有限,这不是一个透明和开放的生态系统。当然,更让人头疼的是,这里暂时还用不上AWS,我们目前使用的IDC,用户数一上来,服 务就瘫痪了。