Cadir Lee,现任Zynga CTO,统管公司的技术平台和海量基础架构的研发和创新。他管理数据分析、网络运维、安全等方面的团队。在加入Zynga之前,他担任Support.com的CTO11年之久,而Support.com也是他和Zynga创始人Mark Pincus共同创立的。
前不久,Cadir Lee来到中国,InfoQ中文站借此机会对他进行了专访。
\Zynga的运维和云计算
\InfoQ:请问Zynga现在自建数据中心的使用和发展情况怎么样?
\Cadir:我们是世界上最大的云计算用户之一。我们使用了很多Amazon的公共云资源,自己也建立了私有的云计算中心。我们的基础架构跨越多个地点的多个数据中心,积累了很多弹性扩展的经验,来满足游戏的需求。我们仍然在不断投入,这已经构成了Zynga的核心竞争力,让我们能够超越很多公司。
\InfoQ:Zynga自己建数据中心的方式是什么样的?
\Cadir:我们采取了“批发”的方式。我们会租下带有电力输入的整栋建筑,然后在内部自底向上完成机架、硬件、网络、制冷、软件等基础设施的设置。
\InfoQ:Zynga以这种方式建立起来的数据中心有多少?
\Cadir:具体数字我不方便透露,但可以说不只几个。
\InfoQ:那Zynga现在仍然在使用RightScale的服务么?
\Cadir:是的,我们仍然跟RightScale有很密切的合作。我们和他们一起,定制了解决方案,可以同时管理我们的私有云和公共云,这么做效率非常高。
\InfoQ:Zynga现在在私有云和公共云使用上有何不同?
\Cadir:我们的公共云和私有云上运行的游戏不同,一个游戏不会同时运行在公共云和私有云上。
\InfoQ:两三年前,Zynga曾经有运维团队来中国,说要在国内使用三千个机架的服务器,不知道现在这件事情进展如何了?
\Cadir:Zynga目前没有在中国国内单独运维数据中心、服务器和基础设施,不过我们现在跟腾讯合作非常紧密,我们的Zynga城市游戏就是由腾讯负责运维的。
\InfoQ:那你们会给腾讯提供一些这方面的建议吗?
\Cadir:会的,我们跟他们合作密切,我们之间的交流很频繁。
\InfoQ:腾讯自己有做一些服务器硬件层面的定制,请问Zynga有这么做过吗?
\Cadir:我们没有自己设计硬件,但是一些供应商会根据我们的要求提供特定规格的硬件。
\因为我们使用了很多Amazon公共云的资源,所以我们构建了自己的软件基础设施,将其构筑在普通的商业服务器之上,其中我们还使用了很多开源的软件,比如软件负载均衡、弹性扩展、存储、web服务器等等。尽管我们有机会定制自己的硬件,但是我们还是觉得用标准的商业硬件更好,因为我们的架构让我们这样做的价值更大。
\InfoQ:那么Zynga是否考虑开源一部分相关的软件的呢?
\Cadir:我们已经有一些开源的贡献了,比如在HTML5方面,还有CrouchBase、MemBase等等。我们坚信回馈开源社区的价值。包括iOS的cocos2d开源项目的带头人之一,就在我们公司。还有多个开源项目的创始人也都在Zynga工作。
\InfoQ:Zynga的游戏很注重社交特性,现在很多像XBox 360、PS3这样的游戏平台都已经开始注重社交特性,请问Zynga是否考虑在这些平台上推出游戏?
\Cadir:Zynga目前还没有在这些平台上推出过游戏,不过我们有对外提供的API,现在是提供个我们的合作伙伴,也许他们会有我们意想不到的使用方法。而且今年晚些时候我们会把这些API对公众开放。
\Zynga的项目管理和A/B测试方法
\InfoQ:Zynga的开发团队是如何组织的?使用了哪些项目管理的方法论和工具?
\Cadir:我们采取的是工作室方式。小工作室有5-10个人,大工作室有上百人。他们使用敏捷项目管理方式,称之为“超敏捷(HyperAgile)”,因为他们每周会发布多次。他们有很成熟的流程,包括挖掘新功能、实现新功能、测试新功能、发布等一系列过程,同时有一系列成熟的工具作为保障。
\我们有很多自己开发的工具,在测试上,我们会采取A/B测试的方式,就是先选取一部分用户,让他们尝试新功能,然后根据测试结果再判断推广哪些特性。
\InfoQ:请问Zynga如何筛选出来这部分先测试的用户?
\Cadir:我们会做用户样本抽取,背后有非常成熟、复杂的算法作为支撑,能够以随机的方式切分不同组别的用户,保证每个组别的用户在同一时间只测试一个新特性,这样不同的测试之间就不会互相干扰,保证单个测试结果的纯洁。
\8点核心价值观保证Zynga快速成长
\InfoQ:听说Zynga公司的价值观很有特点,您能否介绍一下Zynga公司有哪些核心价值观?
\Cadir:我们的核心价值观一共有8点:
\- 喜欢游戏。只有喜欢我们的游戏,才能投入心血去把它做好,才能有动力把它和它带来的快乐分享给自己身边的人。\
- 不断升级(Level up)。我们认为帮助员工成长很重要,他们成长为领导者,才能承担越来越多的责任,这才能让我们成为发展最快的公司之一。我们有指导和培训机制来保证这一点。\
- 像CEO一样思考。我们希望公司中每个人都能有主人翁精神,即使是刚刚加入公司的人,我们也告诉他们去找到一些自己能成为主人翁的事情来负责。\
- 用数据说话。Zynga所有的人都要看数据,所有人都要去分析,尤其在做很多决策的时候,都需要看足够多的数据,用数据来支撑决策。我们也有专门的分析团队来对数据做分析。\
- Zynga速度。我们在做很多事情的时候,速度是很快的,不会拖拖拉拉,不会开很多会讨论什么的,我们强调执行力。\
- Zynga优先。这是对“像CEO一样思考”这个价值观的平衡。有时候,你需要把你和你的团队的需要放在公司的需要之后。\
- 创新,尤其是在已经很成熟的机制上创新。我们相信:一家公司应该对其他公司的成就保持谦恭和学习的态度。每家公司其实都是站在其他公司过去经验的肩膀上。我们应该深入了解别人成功的经验和失败的教训,并力图超越他们。\
- 让我们的玩家感到惊喜和开心。我们会一直记得:Zynga是家娱乐公司,不管用户在我们的游戏中耗费1分钟、5分钟、还是10分钟,我们会一直让他们感到开心,并不断提供各种新奇的体验。\