据美国IT网站PCWorld报道,Zynga已将大部分用户数据从亚马逊(微博)的云计算服务Amazon Web Services(AWS)转向自家私有云,以***限度提高其社交游戏网络的可靠性与性能。
减少依赖
据Zynga基础架构***技术官(CTO)阿兰·雷恩温德(Allan Leinwand)介绍,到2011年底,接近80%的Zynga每日活跃用户的数据都被寄存于Zynga自有基础架构,而在去年年初,这些用户的数据还几乎全部寄存于亚马逊的公共云。
雷恩温德将亚马逊看作是一辆“四门轿车”,相比之下,Zynga则可以像开跑车一样,对自己的网络(Zynga称之为zCloud)进行调整。他说:“我们十分喜欢四门轿车,它的用途很广——购物、接送孩子。我喜欢将zCloud比作一辆跑车,专门为社交游戏的‘勒芒赛道’(Le Mans)打造,可以根据赛道的实际需要进行调整。”
Zynga开发出过《Farmville》、《Words with Friends》等热门游戏。在周三圣何塞举行的CloudConnect大会上,雷恩温德表示Zynga去年改变了对电脑基础架构的看法。他还在博客中介绍了Zynga的这种转变历程。
雷恩温德透露,Zynga的服务器现已达到1000台,可全天24小时投入使用,自从将运营从亚马逊转至自有私有云以来,Zynga便可以将物理服务器的数量减少三分之一。
根据混合型云服务模式,Zynga还将继续采用亚马逊的服务。雷恩温德认为Zynga虽然并不会进一步减少对亚马逊的依赖,不过Zynga现在只是将亚马逊看作是应对需求突然增长的有益补充,而不是以前的主要平台。雷恩温德“我们十分赞赏这种混合模式的灵活性,我们对多了一种选择感到很欣慰。”
数据中心
Zynga此举或许会给那些当前注重性能的企业未来如何利用云服务以及云服务如何发展带来重要启示。雷恩温德说:“今天的云服务尚无法承担这种 ‘基础架构服务’(infrastructure-as-a-service),也不能对其进行量身定制和修改,以适合我们的业务。对于真正拥抱云计算以及外包数据中心的IT企业来说,你将来需要拥有比现在更多的掌能力。”
Zynga最初是将游戏寄存于自家服务器,但随着基础架构建设无法跟上用户需求的速度,该公司便将游戏寄存于亚马逊。这个转折点发生在2009年,那一年Zynga推出了《Farmville》,这款游戏的用户在短短6周内从零增至1000万。
在去年年初以前,Zynga在亚马逊的云服务中发布所有新游戏,只有在需求可以预测时才转向自家服务器。不过,Zynga利用Cloud.com的软件和RightScale开发的管理工具,仍在建设zCloud。
去年,Zynga极大地扩充了自有数据中心的容量。雷恩温德并没有提供具体数据,只是说该公司在美国东海岸和西海岸建有多个数据中心以备不时之需。他指出,Zynga在2011年下半年给zCloud增加了足够多的功率电容,足够“166个国际空间站使用”。为进一步提高服务可靠性,Zynga 计划将自有光纤设施与亚马逊和Facebook连接起来。
敲响警钟
亚马逊去年遭受的大规模宕机事件给Zynga敲响了警钟。雷恩温德说:“即便我们的游戏服务没有遭到那次宕机事件的严重影响,但要知道,正是我们依赖的公司所发生的事故,改变了我们打造基础架构的方式。”
Zynga开发了自有工具帮助了解其游戏应用对CPU、内存等性能的限制,以及网络服务器、内存缓冲以及存储系统面临的***压力。这种优化工作的结果是,Zynga过去从亚马逊租三台物理服务器完成的工作,如今在zCloud只有一台就能完成。
雷恩温德说:“这不是因为AWS服务器性能不佳,或亚马逊的服务不好,而是我们处处从社交游戏的益处考虑,对zCloud平台进行简化、优化和改进。”
Zynga采用一套三级制度。例如,当玩家在玩《Chess with Friends》游戏时,他们会通过Zynga的网络服务器进入游戏,对在内存缓存的设置进行改变,游戏就保存于多个硬盘以备不时之需。
Zynga的应用主要以PHP语言编写,采用一个称为Membase的开放源平台,该平台前端有memecache缓存系统,后端则有非SQL数据库。Zynga以前利用MySQL存储数据,但并不需要其复杂的检索能力,现在将Membase用作内存和存储,在管理方面就少了一道手续。
雷恩温德的团队编写了多款自动工具,让Zynga可以在短期内安装1000台服务器。Zynga还与另一家公司合作开发专用目的的服务器——雷恩温德不愿透露细节情况,但正常情况下该公司都采用标准x86架构硬件。