虽然有那么多围绕着google的这样那样、令人眼花缭乱的传闻,Google依然需要解决那些常见的商业问题,例如报告财务情况,跟踪项目进度。但确实,Google经常使用一些非传统,同时高效率的方法去解决这些需求。
Douglas Merrill 走上位于凤凰城的亚利桑那毕尔特摩尔度假酒店的一个演讲台时,他前额的发型依旧那么得有个性,就好像一位有那么点邋遢的大学教授。实际上,4月的这个早晨,他在这儿,是应当地的一个猎头公司(Phoenix Staffing)邀请,在一个早宴上,向一帮CIO们讲述他作为Google内部技术部门经理的工作。
Google,这个带着那么些神秘色彩,却相当成功的,市价61亿美元的全球搜索引擎公司,绝对是全球公认数一数二的企业。可惜,Google总是选择性地讲述它那创新的信息管理架构(information management infrastructure),一个建立在可能是全球最大的分布式计算(网格计算)的系统之上的架构。
Merrill即将带给他的听众们一个相当难得的机会,去窥视Google的未来。并且解释Google的运作方式和这背后的计算机系统。
虽然有那么多围绕着Google的传闻,包括媒体宣称的允许带宠物上班的办公场所,Google的市值,市场占有率,令人眼花缭乱的Beta版(试运行版)的新品发布,甚至它那Microsoft终结者的身份,Google依然需要解决那些基本的问题,例如付账单,收集信息,报告财务收入,跟踪项目进度,雇佣承包商,雇人,评估员工,管理视频会议系统等等,说白了,Google一样要处理那些普通而琐碎的商业事务.
“但这并不意味着Google一样采用传统的方式去解决这些问题”,Merrill这样解释道。
“一件事以往一贯这么处理,我们也不认为它就一定是最佳的处理方式,” Merrill说.
值得注意的是,这意味着Google往往不在标准的硬件上部署标准的商业应用。例如,Google可能会采用文本分析技术去驱动搜索引擎,从而从一封email中抽取应用软件需要的输入,而不是象传统的用户界面那样使用一个数据输入表单。Merrill可能不会把一个应用部署到传统的服务器上,而是部署到一个群集的服务器架构中,这个架构横跨了全球的多个数据中心。
Google拥有好几十万的服务器,初步估计超过45万(本文成文大概是2006年7月),组成了数千个集群,并且分布在全球数十个数据中心。 Google在很多地方有数据中心,爱尔兰的都柏林,弗吉尼亚等等。加利福尼亚那个Google刚取得的占地百万平方英尺的数据中心已在租用中,而 Google最近又在俄勒冈州跨哥伦比亚河的一个叫达尔斯(Dalles)的小村庄修建2个足球场那么大的数据中心。
依赖分布在不同地理位置上的数个服务器和数据中心,Google得以提供更快速的服务性能给它全球的用户们。因为Internet中任意两台电脑的连接速度本该像光速般快速,可惜它被那些网络中的交换机和路由器的延时大大拖慢了。虽然搜索依旧是Google的主要盈利渠道,那些服务器上同时还会运行 Google旗下的其它产品,例如Gmail, Blogger, 还最近那个基于Web的字处理软件(类似Word软件)和spreadsheets软件(类似Excel软件)。
这也是为什么总盛传着Google是Microsoft(微软)的终结者,Google宣称要把一切带到互联网上,让微软的Windows操作系统滚一边去。无论你相不相信,Google和Microsoft已经在正面交火,恶狠狠地掐起来了。Microsoft今年计划投入15亿美元到服务器和数据架构中,而Google可能花费至少相同的钱去保持它的领先地位。而在去年(2005年),Google这方面的投资为8.38亿美元。
在Google,大规模系统相关的技术是最重要的。2005年,Google索引了80亿个Web页面。同时,他的市场份额不断高涨。基于最近 ComScore Networks qSearch的一份报告,Google在4月已经占领了美国互联网用户43%的市场份额,而Yahoo仅拥有28%,微软的MSN仅拥有12.9%。
而且Google的市场份额还在增长; 毕竟一年前,它只占了36.5%。相同的调查表明,美国人在4月份,进行了66亿次在线搜索,整整比上个月增加了4%。这其中,Google占去了其中29亿次的搜索,Yahoo占去了19亿次,而微软的MSN占了8.58亿次。
这个成长得益于众多提高可伸缩能力的科技(scalable technology)。就像Google提交给美国证券交易委员会(SEC)的年报中所提到的:“我们的商业运营依赖于我们的软件和硬件架构,它们在低成本的情况下提供了基本的计算资源。我们整合使用那些现成的机器,并且自定义软件,让他们运行在商业计算机的集群上。我们之前把相当大的投资用在开发这样的架构,这已经为我们带来了不少重要利益。它使得存取和处理大量数据变得简单,使得部署和操作大规模的全球化软件和服务器变得轻松,并且使得大规模计算机集群的管理变得自动化”。
Google购买,而不是租用设备,以便于最大化控制它的基础架构。Google的CEO,Eric Schmidt抵制了5月31日来自于财务分析师的策略建议,他说道“我们相信,通过彻底地构建我们自己的基础架构,我们将获得巨大的竞争力。”
Google不是简单地购买PC级别的服务器,并把他们叠起来,Schmidt说道,“我们是真正地在建造我们内心设想的超级计算机”。
因为Google操作运算着如此巨大规模的数据,它的确值得被研究,尤其当你的组织正在购买或评估网格计算策略(the grid computing strategy)时。也就是你正试图利用很多低成本的计算机协作计算,来处理那些高级别的计算任务。
不管这种架构是否还是言过其实,Google拒绝他的设计师被采访,包括对Merrill的跟进采访。不过,Merrill在Phoenix演讲时,已经回答些问题,而Google销售搜索工具(Google Search Appliance )的部门则帮我们回答了另外一些问题。
一般来说,但Google被问到它的后台系统时,它有那么些人格分裂。对媒体,他总是说,“对不起,我们不讨论我们的架构”。然而,当google的工程师们面对着计算机科学听众时,却大门大开,比如面对着一屋子过来应聘的应届毕业生时。结果,这个故事的主要信息来源,主要来自于那些网站上的技术演讲资料,比如华盛顿大学(University of Washington)的官网,以及Google实验室发表那些的研究论文。
FROM:译言