开发一个创造平台
谷歌花费数十亿美元打造了一个基于互联网的操作平台,并开发了自己的专有技术。这些基础架构上的投资使公司能够保证一定的服务水准和低于1秒的反应时间,同时还使公司能够快速开发和推广自己或者合作伙伴设计的新服务。专有技术则使公司前所未有地获得了对其基础架构(以及相应战略)设计和演变的控制权。
谷歌的基础架构主要有以下几个特性:
可扩容性(Scalability)虽然互联网能够为每家公司所用,但是谷歌对互联网做出了巨大投资,因而也获得了更多回报。它构建了一个专有平台,为新兴的在线服务提供支持。根据一些广泛报道的非正式统计数据,谷歌拥有一个由大约100万台联网计算机组成的网络基础架构,这些计算机运行的操作系统可以允许新的计算机群插入,并在全球范围内被接纳,从而立即投入使用。执行上述魔术般操作的是一版定制的开源Linux软件(Linux本身就是为了方便第三方增加具有竞争价值的新功能而设计的)。
这个基础架构的另一特征是其网络平台可按照实际需要扩容。比方说,如果谷歌需要建立更多数据中心,它的专有操作系统就可以很方便地添加这些中心。只要用户需要,谷歌还可以将数据在全球范围内进行无缝传输。要管理谷歌汇集的这些超大容量数据,需要特殊的数据库管理工具。由于现有的商业数据库管理系统不可能高效地处理如此海量的数据,谷歌开发了一款称为“大表”(Bigtable)的专有数据库,它能够配合谷歌的操作系统,迅速高效地处理日益庞大的数据。
加快产品开发周期谷歌的基础架构有助于迅速高效地完成整个产品开发过程。谷歌的工程师们在平台上推出各种新应用软件的原型,如果得到了用户的关注,开发者就会推出β测试版*,看看被吸引的广大顾客群是否反应热烈。如果某种新产品反响较好,谷歌庞大的运算能力就会为它辟出一部分空间。在从α版转向β版的过程中,谷歌既是在测试也是在向用户营销新产品。实际上,测试和营销两者很难区分。于是,谷歌与顾客之间形成了一种独特的关系,顾客也成为产品开发团队必不可少的一员,为新产品的成型和改进做出贡献。谷歌不仅仅是在测试新的应用软件,它还将它们寄存在公司的网络基础架构上,接下来,谷歌的顾客群就会顺理成章地由测试者变为使用者,这与其他商业产品上市的过程是一样的。
支持第三方开发和混搭应用软件谷歌创造了专有的基础架构,为用户在互联网之外提供了一个更高效可靠的选择,也保证用户享有更好的体验和更高质量的服务。公司在硬件、操作系统、数据库管理上进行了目标明确的投资,这使得它从头到尾都能掌握主动,并能不断改进诸如电子邮箱(Gmail)、谷歌地图(Maps)、关键词广告(AdWords)以及广告投放系统(AdSense)等产品。每次谷歌开发出一款新的应用,它都很关注如何让产品适应公司的基础架构。比如谷歌地图产品的设计,就力求做到无论是公司内部还是外部第三方的工程师都能够把它作为一个模块来运用,以便添加新的服务。
谷歌富有弹性的基础架构就是一个创新枢纽,第三方也可以借此开发出融合了谷歌功能元素的新型应用。这些外部人员可以轻易地测试和推出各种产品,并将它们寄存在拥有全球超过1.32亿目标顾客的谷歌网站上。除此之外,他们还可以尽情与广大用户交流互动。这对双方都有利:谷歌的产品被广泛接受,而合作方则可以集中精力开发满足用户需求的产品。比如,房产交易网站Zillow.com可以一心关注如何获取房屋买卖的高质量数据,而将地图、展示等问题留给谷歌或者微软。
许多利用谷歌基础架构的第三方,正是以这种方式,开始创建我们称为“混搭”(mashups)的应用产品,从多个来源获取数据和程序功能,整合成一体化的客户体验。例如,Housingmaps.com网站将来自Craigslist.com网站和谷歌地图上的数据进行整合,将待出租的公寓或是待销售的房屋标绘在当地地图上供用户查看。这种超越组织边界、将各种有用的服务轻松糅合搭配在一起的新观念,对于我们思考竞争环境和组织效率都有重要的启发意义,并由此产:生了—个精益创新的“大胆尝试”族(“just try it”class)。XML之类的网络协议和RosettaNet之类的行业标准,使得上述做法在技术上成为可行,实现了汀用户长期以来希望不同系统之间能够互通互用的愿望。
这种模式具有多方面的优点:互动交流提供了持续的反馈信息,使谷歌能不断提升产品性能或增加新功能。而且,谷歌可以根据顾客的搜索条目捕捉到他们的兴趣点,将广告商的信息放在相关的顾客面前,提高了广告商的广告效果。谷歌、第三方创新者、用户和广告商之间的积极互动形成了对各方都有利的良性循环——对谷歌尤其有利。(参见副栏“谷歌的创新生态系统”)
虽然很少有公司能够像谷歌一样在基础架构上做如此巨大的投资,但它们可以做类似的目标驱动型设计,从而快速地推出创新。
以在印度班加罗尔(Bangalore)发起创设谷歌财经网(GoogleFinance)的工程师们为例,他们就是提取了谷歌基础架构中早已存在的一些组件再进行组合,从而形成了自己的新产品。按照这样的模式,一家公司可以制作能反复使用的软件模块,把它们放在自己的基础平台上,让整个公司享用。联盟公司的人也可以访问,他们也许会受到启发,据此开发出自己的应用产品。