当Google还只是一个在车库中运作的创业项目时,它的创始人拉里。佩奇(Larry Page)和塞吉。布林(Sergey Brin)就自己动手组装廉价的兼容PC,目的是节约资金。他们认为,
同传统厂商相比,他们有能力设计出一个可以更加高效搜索互联网的计算机网络。
目前,Google已经成为财富500强企业的一员,拥有90亿美元的现金储备,因此再也没有必要“将一分钱掰成两半花”。但是,Google在技术方面仍然坚持着自己动手的精神。尽管该公司今年将在数据中心和技术上投入15亿美元的资金,但其数以万计的服务器都基于自己的设计。
为了拉近同用户的距离并提高响应时间,Google正在全球范围内建设多个数据中心,并采用了降低功耗的技术。Google计算机所使用的软件主要利用该公司自己设计的高级工具开发完成。有迹象表明,Google甚至准备打造自己的定制芯片。市场研究公司Gartner 的分析师马丁。雷诺兹(Martin Reynolds)表示:“Google对基础设施的重视程度不下于搜索引擎,该公司创建了不可思议的计算资源。”他认为,Google堪称是仅次于戴尔、惠普和IBM 的第四大服务器厂商。
Google的两大竞争对手——微软和雅虎也为自己编写软件,并根据自身需求配置计算机和数据中心,但它们主要向戴尔、Sun和Rackable Syste等厂商采购服务器。雅虎运营副总裁凯文。蒂蒙斯(Kevin Timmons)表示:“我们必须搞清楚自己的核心业务。我们应当自己设计路由器?还是打造最受欢迎的网站?要兼顾二者非常困难。”
但事实上,Google已经决定同时做到上述两点。从很多方面来看,Google有着跨国公司的“躯干”,但“躯干”上面却是毕业生创业项目的“头颅”。Google的世界级计算机科学家团队正在不断扩大,该公司希望通过这一资源设计出可以更高效处理信息的计算机网络。雷诺兹预计,Google的计算成本为其它主要互联网公司的一半,只有传统企业的十分之一。
到目前为止,Google还没有就其计算成本发表评论,但该公司声称在这方面拥有优势。Google主管研究和系统设计的副总裁阿兰。奥斯塔斯(Alan Eustace)今年3月表示:“我们认为,竞争对手无法以更低价、更快速的方式在如此大的范围内部署系统。在这一方面,我们有着两年、三年、甚至五年的领先优势。”
除赞扬之外,也有人认为Google“自力更生”的做法没有必要,而且降低了效率,是隐藏在其广告业务增长和高额利润背后的隐患。Google的竞争对手称,它们的网络拥有足够强大的处理能力和效率。微软董事会主席比尔。盖茨此前在接受采访时表示:“Google并非在所有方面都拥有‘魔力’。我们每台服务器的成本略高一些,但在完成同样任务的过程中,我们需要的服务器数量较少。”
Google的技术保密性在业界非常有名,但该公司也公布了一些开发信息,并向其它公司授予了特定专利。从Google高管发表的公开声明,以及现任和前任员工接受采访时的讲话可以看出,Google希望推动现代计算机科学继续前进,并在更广阔的范围内推广自己的技术。Google技术顾问史蒂芬。阿诺德(Stephen E. Arnold)表示:“Google从超级计算机研究社区借鉴了许多技术,并将它们应用在自己的系统中。”
Google的一些创新旨在降低日益增长的科技支出,例如该公司获得的06906920号专利主要涉及计算机机架间的通风技术。但有些创新则十分大胆,例如Google自己开发了一系列并行计算软件工具。MapReduce软件是一个典型的例子,它主要基于一项在计算机学术界被争论了数十年的技术,该技术在Google的系统中发挥了重要作用。
阿诺德表示,这些工具给Google带来了巨大的成本优势。盖茨也承认,MapReduce 是一项重要技术。但他同时强调,微软也在开发自己的并行处理软件,未来将同Google在这一领域展开竞争。Google非常重视开发通用工具和系统,这与致力于开发定制系统的大多数公司有所不同。Google希望通过自己充足的现金储备,以及丰富的人才储备,快速打造出通用系统,从而使Google产品获得经济高效的优势。
挪威研究公司Fast Search & Transfer的首席执行长约翰。莱维克(John M. Lervik)表示:“如果互联网服务的运营成本降低30% ,将会带来巨大的优势。”阿诺德表示,Google的“学院派”风格并不只因为两位创始人毕业于计算机科学专业,而且同他们的早期家庭生活有很大关系。佩奇和布林的父母都在计算机科学和数学方面有一定造诣。
当佩奇和布林设计Google时,并行处理已经不只是一个学术梦想,处理器、内存和磁盘价格的大幅下滑为它的实现带来了可能。这些配件的质量并非最好,因此经常会出现故障,但佩奇最初设计Google服务器时虑到了配件可能会出现故障。通过将可靠性的负担由硬件转移给软件,Google在降低系统成本的同时保持了较高的性能。每个硬件配件都可能发生故障,但软件会自动地将故障系统运行的任务和数据转移到其它系统。
例如,Google设计了一个名为“Google文件系统”的软件系统,在多个位置保存数据备份,因此即使一台服务器出现故障,Google也无需为此担心。与此同时,这种方法也意味着Google无需像其它公司那样定期备份数据。Google的另一个系统——“Google工作队列”(Google Work Queue)可以根据需要指派多台服务器运行各种不同的任务,并动态地为任务分配服务器。这一虚拟化趋势已经在大型数据中心盛行,但大多数公司都购买昂贵的商业软件来动态调度服务器。
尽管Google服务器采用了低价配件,但它的设计每年都会有所变化。Google目前的服务器采用了AMD皓龙处理器,它在性能功耗比方面具有一定的优势。据一位芯片行业高管称,Google是AMD的五大客户之一,在不经销计算机的客户中排在第一位。此外,Google与Sun之间的业务往来也越来越多。尽管Sun产品高昂的价格并不对Google的胃口,但Google首席执行长埃里克。施密特(Eric E. Schmidt)以前曾在Sun 任职,而且Sun 也开发出了一款性能功耗比相当高的新型处理器。
随着业务的拓展,Google在提供电子邮件和支付服务时对系统可靠性的要求越来越高。有迹象表明,Google正在设计自己的芯片。Google已经招聘了很多曾在DEC公司设计Alpha 芯片的人员。独立分析师马克。斯塔尔曼(Mark Stahlman)表示,Google的下一步目标将是开发高性能芯片。
据Google的一名高级副总裁称,该公司曾考虑定制芯片设计,但他没有透露这种芯片是否已经形成产品。他表示,从原则上讲,如果能够买到足够好的产品,Google就不会自行开发。但他同时强调,Google的优势来自于自行设计的低价、高速计算机网络。