前Amazon的Steve Yegge谈平台战略

Posted on Thu 03 November 2011 in it

本文是《SteveY对Amazon和Google平台的长篇大论》的精编缩略篇,新阳推荐。原文翻译得比较急,缩略过程中对文字进行了修改,尽量让大家阅读得更顺利。

此文很鼓劲儿,我们的SOA步伐还应该再迈得再大些。

注:Steve Yegge, Amazon的前员工,现任Google员工,在两个公司都待了六年以上。

Amazon已经把文化转变成了“一切Service第一”为系统架构的公司,今天,这已经成为他们进行所有设计时的基础,包括那些绝不会被外界所知的仅在内部使用的功能。他们对于SOA的优缺点都了如指掌,能够采取有效的措施克服缺点从而取得成功。因为,SOA驱动出来的设计会产生出平台(Platform)。 对大多数(其他公司)的团队来说,只是让他们开发几个存取他们数据、提供一些运算的小小Servcie,这些服务都提供对外可编程接口。对他们来说就感到翻天覆地了,觉得自己在做产品,但其实只是提供了一些凄惨粗糙的Service。就算是这些粗糙的东西很不错,不过这就好像要汽车的时候,你却只有汽车的零件。//平台提供的服务要具有可用性

没有平台的产品是没用的,再精确一点,去平台化的产品总是被平台化的产品所取代。//提供开放式的API是大势所趋

平台Platform的黄金守则是Eat Your Own Dogfood(吃你自己的狗食——自己都要用自己的平台)。不能是你吃人类的食物而给你的开发人员们吃狗食。那样做只会是为了短期的成功而掠夺了平台长期价值。//平台就是要你考虑得长远

Facebook的成功是因为他们建立了一个可以让外界在其上上面开发的产品群。

你是否开始看到Google公司这样的的思考有多么不靠谱了吗:试图预测人们想要什么,然后推出产品给他们。你不能这么做。真的不能。也不可靠。在这个世上,甚至在整个计算机的历史上,只有极少数几个人能够这么干,Steve Jobs是其中一个。但是我们没有Steve Jobs。对不起,我们真的没有。 Amazon的Bezos意识到他不需要成为Steve Jobs也能提供给所有人好的产品:大家容易使用的接口与工作流。Bezos明白他只要有让第三方开发人员来做的平台,这些东西自然就会有的。 这是非常明显的,只是我们没有去做。我们没有领会平台,我们也无法领会到Accessibility。这两者本来就是同一件事,因为平台会解决Accessibility。而平台就是Accessibility。

具有讽刺意的是,Wave是个伟大的平台,愿他能安静地长眠。我们需要知道,做一个平台并不会马上给带来成功。平台需要杀手级应用。Facebook——他们供应了的涂鸦墙和朋友等其他东西——则是Facebook平台的杀手级应用。但是,如果你说没有Facebook平台,仅有Facebook应用也能像今天这样成功,那么,这会是个一个非常严重的错误。

也许,Facebook只是看一眼我们(Google),就问到:“我们如何击败Google?他们少了什么?”

Google面对的问题非常的庞大,因为只有经过剧烈的文化转变后,才能迎头赶上。Google目前没有内部的SOA平台,自然外部也没有。这就是说,整个公司都“没有领会到”:产品经理没有,工程师没有,产品团队没有,没人领会到。就算是个别人有,比如你有,那也相当于没有,除非我们在生死存亡的时候。我们不能这样不断推出产品,并装作我们以后会把这些产品转变成迷人美丽的可扩展式的平台。我们试过了,不行。

平台的黄金守则,“Eat Your Own Dogfood 吃自己的狗食”,换句话说,“先打造出自己使用平台,然后把它用在所有的地方”。你不能事后再做,那样做就太困难了——你去问问那些把MS Office平台化、把Amazon平台化的人。如果你放在后面做,那么你比一开始要花十倍的精力才能做对。你不能作弊,你不能让内部软件走秘道去取得特定的优先权限,不为什么,你必需从一开始就要解决这个问题。

我不是说现在做已经太迟了,但我们等的越长,我们就会越接近——“太迟了”。

我们必始在开始时把事做对!

SOA