我们正在见证雅虎作为一个独立企业的最后的日子。回想一下10年以前,那时它和谷歌旗鼓相当。而现在,谷歌已经成为了世界上最有价值的公司之一。
任何声称他们已经预测到雅虎和谷歌如今情势的人都是在胡扯,但是我们仍然能够通过复盘,去了解究竟是什么,将雅虎和谷歌推向了不同的命运。
我从2003年开始为谷歌工作。那时,两个科技巨头正在为了占据快速增长的万维网领土而激烈竞争。如此多的因素影响着最终结果,其中一个却很特别,即双方在核心基础设施搭建方式上的不同。这个因素,似乎在讲着一个特殊的故事。
我的工作和谷歌底层文件系统有密切联系,也许我的观点会受此影响。但是,我仍然相信,谷歌和雅虎在基础设施投资上的鲜明对比,在如何建设一个可以快速改变科技界格局的可持续性商业上,为人们提供了强有力的教训。
快速建设和可持续性建设
在新世纪的开端,谷歌和雅虎开始沿着一条不同的道路去获得互联网经济(搜索、邮件、地图等)不断增长的需求所必需的巨大规模。对雅虎来说,解决方案出现在NetApp公司所提供的服务上,它允许雅虎以一种令人目眩的速度拓展服务器空间。雅虎提供的几乎每个服务,最终都在NetApp的专用存储设备上运行。这种可以快速建立和方便使用的存储,给了雅虎一个迅速满足市场需求的通道(雅虎不久后就成为了NetApp最大的客户)。
但是在山景城附近,谷歌却开始致力于设计用它自己的软件定义的基础设施,并且最终作为谷歌文件系统广为人知。该系统作为一个平台运行,而这个平台可以服务谷歌作为它的未来生态系统的一部分所提供的所有服务下的一切用例。谷歌文件系统并没有使用最新的存储设备作为基础,而是用商用服务器去支持一个具有灵活性和弹性的架构。这个架构不但可以一劳永逸地解决可拓展性和弹性问题,而且可以简化和促进推出从地图到云存储等大规模网络化应用的进程。
拓展的复杂性
在谷歌公司将谷歌文件系统用于关键任务的操作之前,曾花费了四年的时间和大量的工程资源去开发它。与此同时,雅虎一直在使用NetApp的服务,这使得雅虎几乎可以立即跟上不断增长的市场需求。在主导互联网格局的这场竞赛中,雅虎似乎已经远远领先了。
然而,雅虎迅速进入市场的方法不久后就开始浮现出一些弊端。随着需求的扩大和多样化,许多不利的方面开始显现出来:基于硬件基础设施的冗余的工程工作形式,日益复杂和低效的环境,最后,越来越大的供应商成本。并且,当雅虎增加一项新服务,它需要为了特别的用例去重新设计NetApp平台。
结果,发生在例如雅虎搜索和雅虎邮箱等单独服务上的相同问题,不得不在不同的基础设施上被多次解决。雅虎脆弱的基础设施,也暴露出了资源效率低下的问题。因为每一个用例都要求单独的服务空间和计算能力,且不能在整个平台中共享。除此之外,运行NetApp装置的成本,像雅虎自身一样快速增长,分走了这家公司很大的一部分收入。
另一方面,在这些问题出现之前,谷歌就已经预先建好了自己的文件系统。因此,添加新的用例或者修复底层框架的挑战,可以被很高效地完成。例如,在购买了YouTube之后,Google可以简单地说,“扔掉你的后端,我们会把你放在我们的平台上。”工程师可以升级底层架构,一旦这么做了,这个解决方案就会被应用在Google所有的服务上。
最终,这个灵活的平台可以允许资源和计算能力在不同的用例上被分享。因此,当服务器没有忙于检索时,可以被用来处理电子邮件。它不会伤害建立在商用硬件上的一切东西,因此可以提供一种按照摩尔定律减少的成本。
而随着成本和底层基础设施的复杂性的增加,雅虎已经无法跟得上谷歌开发和部署新应用的步调。
从零开始的重要性
这可能只是一个普通的关于灵活架构的重要性的故事,但是我相信从中所得到的教训已经延伸到了基础设施或应用程序工程之外。它为我们提供了一种洞察,即建立一个可持续性商业究竟需要什么。它揭示了我在谷歌工作所学到的最重要的事情之一:在思考解决方案以前,需要彻底地理解问题。
当你看到一个问题,从零开始。无论你是个工程师或者企业家,抑或两者都是。对现有的解决方案闭上眼睛,在建立自己理想的解决方案之前,忽略之前所做的一切。一旦你有了理想方案,你就能够决定哪些现有方案应该被采用,哪些需要被重建。