我们正在见证雅虎作为独立企业的最后日子。回想10年前,当时和谷歌比肩。现在,谷歌已经成为世界上最有价值的公司之一。
任何一个声称自己已经预测到雅虎和谷歌现状的人都是一派胡言,但我们仍然可以找出这是什么,并通过复牌将雅虎和谷歌推向不同的命运。
我从2003年开始为谷歌工作。当时,两个技术巨头正在激烈竞争,争夺快速增长的万维网的领土。影响最终结果的因素有这么多,但有一个很特殊,就是双方构建核心基础设施的方式不同。这个因素似乎在讲述一个特殊的故事。
我的工作和Google的底层文件系统密切相关,所以可能我的看法会受此影响。然而,我仍然相信谷歌和雅虎在基础设施投资上的鲜明对比为人们提供了一个强有力的教训,告诉他们如何建立一个可持续的企业,从而迅速改变科技界的模式。
快速建设与可持续建设
新世纪之初,谷歌和雅虎开始走不同的道路,以获得互联网经济日益增长的需求所必需的巨大规模。对于雅虎来说,解决方案出现在NetApp提供的服务中,让雅虎以令人眼花缭乱的速度扩展服务器空房间。雅虎提供的几乎每项服务最终都运行在NetApp的专用存储设备上。这种可以快速建立、使用方便的存储方式,给了雅虎一个快速满足市场需求的渠道。
但是在山景城附近,谷歌开始设计自己的软件定义的基础设施,最终被广泛称为谷歌文件系统。系统作为一个平台运行,这个平台可以作为谷歌未来生态系统的一部分,服务于谷歌提供的所有服务下的所有用例。Google文件系统并不使用最新的存储设备作为基础,而是使用商用服务器来支持一个灵活而有弹性的架构。该架构不仅可以一劳永逸地解决可扩展性和灵活性问题,还可以简化和促进从地图到云存储的大规模网络应用的启动过程。
扩张的复杂性
在谷歌公司将其用于关键任务操作之前,开发谷歌文件系统花了四年时间和大量的工程资源。与此同时,雅虎一直在使用NetApp服务,这使得雅虎几乎可以立即跟上不断增长的市场需求。在主导互联网的竞争中,雅虎似乎遥遥领先。
然而,雅虎快速进入市场很快就开始显现出一些弊端。随着需求的扩大和多样化,许多不利的方面开始出现:基于硬件基础设施的冗余工程工作形式,日益复杂和低效的环境,以及最终增加的供应商成本。而且雅虎在增加新服务的时候,需要针对特殊用例重新设计NetApp平台。
因此,在雅虎搜索和雅虎邮件等独立服务中出现的相同问题必须在不同的基础架构中多次解决。雅虎脆弱的基础设施也暴露了资源效率低下的问题。因为每个用例都需要单独的服务空和计算能力,不能在整个平台上共享。此外,像雅虎本身一样,运行NetApp设备的成本迅速增加,这夺走了该公司很大一部分收入。
另一方面,谷歌在这些问题出现之前就提前构建了自己的文件系统。因此,添加新用例或修复底层框架的挑战可以有效地完成。比如购买YouTube后,Google可以简单的说“扔掉你的后端,我们会把你放到我们的平台上。”工程师可以升级底层架构,一旦升级完成,这个解决方案将应用到所有Google服务中。
最后,这个灵活的平台可以在不同的用例中共享资源和计算能力。因此,当服务器不忙于搜索时,它可以用来处理电子邮件。它不会损害建立在商业硬件上的一切,因此它可以根据摩尔定律降低成本。
随着底层基础设施的成本和复杂性不断增加,雅虎已经无法跟上谷歌开发和部署新应用程序的步伐。
从头开始的重要性
这可能只是一个关于灵活架构重要性的普通故事,但我相信从中吸取的教训已经超越了基础设施或应用工程。它为我们提供了构建可持续业务所需的洞察力。它揭示了我在谷歌工作期间学到的最重要的一件事:在考虑解决方案之前,我需要彻底了解问题。