对于总部位于北京,于2010年创办并在2012年年初即完成1200万美元A轮融资的一家游戏公司,可能“趣加游戏”(FunPlus Game)在很多中国人的耳中都算是一个陌生的名字,可就是这样一家公司,凭借着对海外社交游戏市场与游戏品质的专注,以约200人的规模成为了Facebook上亚洲排名一,总排名第6的游戏开发商,日均活跃用户达到了600万人。在这一业绩的背后,支撑起其整个IT运营的基础则就是亚马逊AWS公有云。而不久前,对FunPlus相关高管的采访,则让我们有机会进一步了解这家年轻的创业公司的成长历程,以及在这一过程中与AWS之间的故事。
基于中美加三国的跨洲团队运营
由于创始合伙人中的两位在美国工作,FunPlus在2010年5月先于美国硅谷后在中国北京成立。按照公司首席运营官 (COO)陈琦的说法,FunPlus是一家中西合璧的公司,“我们现在的理念还是融合东西,我们有一些工作人员两边都是有的,有西方背景,有东方背景。我们希望把两方面的优势融合在一起打造更好的游戏”陈琦表示。
趣加游戏CEO钟英武(右)与COO陈琦
目前,FunPlus在北京、美国旧金山、加拿大的温哥华设立了办公地点,总共有200名员工,其中有一半是外国员工,来自于20多个国家,“外籍员工包括不止是做本地化和翻译的人,还包括工程师人员、设计人员,以及非常好的美术设计师。”陈琦介绍到,“温哥华办公室就是美术办公室,帮我们做游戏人物设定和研发设定,所以他们是我们的美术创新点。大概我们职能部门有这些——游戏设计师,开发工程师,市场分析,产品经理,产品运营,美术设计师。”近年来,随着公司业务的飞速成长,越来越多的全球业界高手也在不断加盟FunPlus,这些人的原东家包括EA、暴雪 、Zynga等等,有的甚至已经是VP的级别。
陈琦强调,FunPlus是一家技术驱动的公司,最关注4个点——移动、社交、云、大数据,公司的CTO(可以说是兼具CIO的角色)关毅涛,曾在领先的技术公司Ask.com,、yousendit.com及IBM担任软件架构师超过15年。曾负责构建在任何地方均可运行且每天可处理3亿多条请求的世界级基础设施。目前他长期的工作地点在美国,此次是通过越洋电话来接受采访。在我看来,关毅涛将办公室放在美国,一个重要的原因也许就是与AWS的关系。按照关毅涛的说法,在公司创建的早期,曾尝试过用自有的物理服务器来承载业务平台,但最终决定采用公有云的模式,而通过比较他最终选择了亚马逊AWS,并在后者的支撑下,迅速成为全球第6大以及亚洲第一大Facebook游戏开发商 ,而负责IT运维的技术人员只有6个人。
创业的IT基石:亚马逊AWS基础架构
FunPlus开发的社交游戏均采用的是业界通用的“免费上手、道具收费”的模式来进行赢利,这就意味着游戏的品质必须优秀,否则即使免费也没人愿意长玩,其次游戏运营中的人流波动所带来的对后台IT需求弹性表现也比较明显,尤其是在新游戏上线时,很难估计几天、一周与一个月的玩家数量走势,而这些玩家中付费购买的行动也基本会成比例变化。所以,如何应对这种波动不可预测的弹性需求,是每一个做在线社交游戏的企业都必须要面对的问题。显然,公有云的特性 与FunPlus最吻合,而在公有云中,FunPlus最终选择了亚马逊AWS。
回顾选择的历程,其实早在公司创建之初,AWS就已经是关毅涛关注的对象。因为作为技术人员,关毅涛非常关注大规模系统层面的研发,他表示,“技术层面上面讲,我们是互联网技术公司,就是强调的是这种大规模,强调的是快速发布。”当时除了AWS之外,谷歌也有一个Apps Engine,此外还有一些传统的技术。在一开始阶段,关毅涛尝试了上述三种手段。不过由于在初期只是做一些研发,所以采用的自有物理服务器,只需一台足矣,远程控制没有任何问题。但是当考虑到这种社交休闲游戏的成长模式下,如果用户量一旦上来,同时访问时,对某些应用的响应速度则是非常关键的指标。而对于FunPlus要开发的大规模应用来讲,关毅涛更多的是考虑到能够完全控制一些东西。他表示,整个计算机技术不外乎出现3个大方面:CPU,内存,以及更重要的IO性能,后者还分为物理IO和网络IO。而此时,AWS提供的是一种更接近于机器本身一项技术,这一点打动了关毅涛——“综合考虑的时候,我们就是觉得AWS有足够灵活性与可控性。”
FunPlus目前主推的4款游戏
在FunPlus初创阶段,曾经有一段时间每一天增长10万用户,这就意味着,每一天都要增加很多台机器。关毅涛认为,如果没有AWS的话,这一点是很难达到的。目前,FunPlus的服务器数量在闲暇时大概有300台,在高峰期的时候集群规模可达1700多台,整个过程从流量监测开始,然后就是启动,测试,全部自动化完成。关毅涛介绍到,有一些简单的应用实例完全能够实现自动伸展。此外,在亚马逊AWS提供的伸缩性和开放化API控制方面,是物理机房比拟不了的,尤其是后者,让客户根据应用需求自动化配置自己的虚拟IT环境成为了可能。同时在成本方面,也因为是弹性的资源配给,也让成本不会一成不变。
对此陈琦举例到,每一个游戏都是有高峰期,低峰期。每一个国家晚上是很多人上线开始玩儿游戏,这个时候FunPlus会自动的在AWS上打开很多新的服务器。到凌晨时,则会自动把这些服务器关掉,从而大量节约运营成本。因为亚马逊AWS是按小时按流量来计费。这样可以把每一个小时都是用到非常的极致。同时AWS还有预留实例(Reserved Instance)的选项,你可以根据自己的业务需求提前预订一定数量的虚拟机,等到需要时才真正激活,即保证了业务的即时弹性空间,也避免了为保证这一弹性而付出正规虚拟机的成本。综合种种方面的优化与精打细算,陈琦表示IT方面的运营成本最多可以下降35%。并且,最有意思的在于,AWS的服务人员会主动提示一些省钱的方法和业务模式来帮助FunPlus节省开支,这一点颇让陈琦感到意外。
目前,FunPlus一共用到了AWS在全球的5个 区(Region)的数据中心资源,可做到一分钟部署一台完整的虚拟服务器。而所用到的亚马逊AWS的服务器,除了标准的EC2、S3外,还有ELB( Elastic Load Balancing,弹性负载均衡),它可以极大提高并稳定游戏用户的访问体验,即使是跨洲访问(如欧洲的玩家数据其实是存放在美国的Region里)也能保证很好的游戏体验,其他的服务还包括RDS(Relational Database Service,关系型数据服务),Redshift(云数据仓库),Cache(缓存),Dynamo DB(NoSQL数据库),也就是说FunPlus的游戏业务与相关的支撑业务(如用户行为与消费规律分析)基本架构,都是建在亚马逊AWS上面。
FunPlus在AWS平台上的IT架构图
目前,FunPlus正在测试AWS的虚拟私有云服务(VPC,Virtual Private Cloud)。关毅涛表示,我们未来将把亚马逊VPC技术变成内网跟外网结合技术,它在安全性,在网络传输有效性上面都是有很大提高。“其实,亚马逊AWS一直冲在前面帮开发者去完善底层基础架构的能力与功能,”他总结到,“我们就是看哪些东西更适合我们。”这可以说是FunPlus以及类似的客户与AWS之间最根本的合作关系形态。
亚马逊应用商店:亚马逊AWS用户的增值服务
对于公司的具体运营来讲,IT只是其中的一个方面,而对于游戏公司来说,最核心的业务还是游戏的推广与用户的拓展,这方面似乎与AWS关系不大,但同属亚马逊集团的亚马逊应用商店,则为AWS的客户提供了“近水楼台”般的增值选项。尤其对于那些希望尽快打开海外市场的创业公司来讲,这无疑为它们提供了一个有力的推广平台。
陈琦对此深有感触,“说到海外业务的拓展,也要特别的感谢亚马逊。亚马逊AWS团队帮我们参与到这个应用商店,我们上线8个月,目前移动版本的排名前10以内了,收入也是不错。亚马逊用户对于整个支付习惯比较好。”根据陈琦掌握的数据,由于亚马逊的用户大都已经是电商客户,由于早就绑定了信用卡,付费意愿与在线消费习惯都是整体游戏消费群体中的领先群体,因此每个用户的平均消费值(ARPU),是Google Play的2倍以上。同时,FunPlus还正在与亚马逊的朋友合作,帮助测试亚马逊的广告服务,比如在亚马逊电子书Kindle上面做一些封面广告,FunPlus也基于此做一些数据测试的工作。此外,在游戏道具的销售方面,亚马逊也为FunPlus提供了结算服务。
从某种角度上讲,亚马逊应用商店与AWS之间的这种联动,的确可以算是AWS用户,尤其是初创的互联网应用企业的一个福利,从应用的开发、IT运营到产品的销售、推广都在亚马逊集团的平台上完成,可以说是一种“一站式”的服务。随着亚马逊集团自身业务的不断扩展与强大,带给AWS用户的好处也将越来越多,这其中可能很难用成本指标来去衡量它所带来的价值,相信也只有亲历者才能有最深刻的体会。
创新、可靠与成本之外的核心优势:实现业务与IT运维的融合
当谈到某一个IT技术架构的优势时,我们通常会听到一些非常熟悉的词汇,如创新、可靠、成本等等,而这也是在采访中FunPlus相关负责人所经常谈到的。这并不难理解,亚马逊AWS本身就是创新与低成本的代名词,其所推行的开放API模式,为用户提供了极大的创新空间,当然这仅仅是一方面,按照关毅涛的话说,他一直在跟踪不同公司的前沿技术发展,“但是几年尝试下来,我们发现亚马逊AWS是创新最快的”,他强调,“包括Google等比较下来之后,亚马逊AWS的创新惯性很大,他真的是领先于很多的做云的厂商。”当然,创新并不等于全面的领先,毕竟某些方面AWS还没有涉足。关毅涛也坦诚的表示,FunPlus会根据地区选择对于用户服务体验更好的服务——“因为我们最终问题是给全球用户提供一种比较好的解决方案。”
在可靠性方面,关毅涛对于AWS的技术实力非常认可,“我们通过研究,发现亚马逊AWS可靠性很高的。比如磁盘技术,不用在开发层面去考虑,因为在系统层面,由于有虚拟机技术,当一块磁盘坏的时候,我们换另外一块磁盘,这个数据就可以保证不丢失,而且整个过程使用命令行来控制非常迅速。”他介绍到,“其实亚马逊AWS在系统层面已经解决的很好了。如亚马逊的Redshift数据库和Dynamo DB数据库,你都不需要关心这个数据库是分布在多少台物理机或虚拟机上。你只要往里面放数据,不管多大的数据,它能够保证你几毫秒到几百毫秒的响应速度。”由此,关毅涛进一步强调——这就能够让我们游戏开发人员专注于我们所擅长的东西,而不是说数据大了以后这个数据库会越来越慢,这就让我们作为应用开发人员花很少时间去考虑这个,让我们有精力去做更多有意义的事情。
当然,众所周知AWS的某些服务也有宕机的现象发生,FunPlus的业务就因美国AWS的一次故障而受到影响,不过在FunPlus看来AWS的可靠性仍然是最好的。“世上没有100%不出现问题的系统,这个我们必须客观看待”,陈琦表示,“说实话,在故障发生时我们肯定也是着急的,但AWS的客服反应非常迅速,相比传统的IT平台以及其他云服务商的故障率要小得多,我们有一家合作伙伴,用的就是美国另一家知名的云服务商,据我所知,宕机率比AWS高多了”。关毅涛补充到,对于企业来说,开发自身的IT冗余架构是必须的,AWS在这方面提供了很好的平台,它们的区、AZ(Region下面的可用区)相互间有很好的备援机制,不可能出现一个服务完全宕掉的情况,我们要做的就是尽量利用AWS的架构来实现自己的冗余性。IT的可靠性涉及到多个方面,AWS在这方面提供了很好的基础,剩下的还要看企业如何进一步利用好这一基础平台。
而在成本方面也在不断优化着用户服务方案组合,这方面负责运营的陈琦在上文中已经指出了IT运营成本在这几年间下降了35%。不过在采访中,我认为真正让FunPlus几年来仍然专注于、留守在AWS平台上的关键因素是,AWS大大简化了IT运营的复杂度并提供极高的灵活力,对于擅长应用编程的企业来说,更是从某种层面上真正实现了业务人员与IT运维的融合,而这无疑是企业IT与业务部门的梦想。这一点从关毅涛的感触中就能明显体现出来。
“我本身是开发出身,我不是运维出身,当时就是因为亚马逊AWS,让我获得了一种可编程式的机器管理方式”,关毅涛表示,“当把运维和编程开发结合起来之后,它的灵活度跟可扩展性的想象空间是很大的,这也就是我们为什么能在一个小时之内服务器集群从10台扩展到1000台,这个在传统运维是想象不来的,只有亚马逊才能提供这种高扩展性和高可靠性。对于我们这种全球用户的一个开发的公司,我们要达到全球各个点,其实现在也只有亚马逊可以做到最好。”
这也是为什么关毅涛的整体技术研发团队有80多人,但负责IT运维的技术人员只有6人的原因。通过自动化运维管理的脚本化设计,可以最大限度的根据业务的需求,自动化管理与调配IT基础设施,这一能力与游戏应用开发相结合,无疑有着巨大发挥空间。而IT运维人员本身则只关注于新的IT支撑平台的研发(如全局的IT监测系统,以及针对游戏用户行为分析的大数据平台)、严重的故障解决与特殊实例的需求。
对此,陈琦为我们演示了FunPlus自己根据亚马逊AWS API开发的自主管理系统Cloudplus,它可以实时更新FunPlus在AWS各区的机器部署情况,以及每台机器的运行情况,并可进行自动化扩展(Auto Scale),而这套系统只用了关毅涛6人IT研发团队中的2-3个人。
在笔者看来,AWS的创新与可靠性设计,在很大程度上都是支撑“将业务与IT相融合”这一特性来服务的,这也是所有需要IT支撑的企业所追求的目标,而创新是必须的手段,可靠则是必须的基础,缺少它们也不可能实现真正有效的融合。而当创新、可靠性、成本等成为每个云服务商必说的“优势”之后,我相信“将业务与IT相融合”无疑将更具诱惑力,在我看来,它也将是亚马逊继续引领公有云服务市场的核心吸引力——对FunPlus如此,对于其他企业亦是如此!