Amazon是一個集合了各種矛盾的地方。它連續十多年虧損,市值卻節節高攀。內部開會不用slides而是寫paper。員工一面抱怨者公司很mean,一面也承認學到了很多。也許唯一不矛盾的地方是都認為Jeff Bezos是個不錯的Visionary。
Amazon核聚變
Amazon的技術既普通又神秘,普通是因為Amazon從一個賣書的起家,從來沒造過什么黑科技,每一項技術運用的都過于接地氣而顯得有點屌絲。神秘是因為Amazon也從來不樂于分享自己的技術(內部有大量的講座,培訓,但從來沒有對外的Engieering Blog之類的東西),卻又可以建造出AWS這樣技術的帝國。
Amazon在工程上做的最牛的一件事,在2002年的一聲炸雷中,Bezos下令:
所有小組必須開放程序功能模塊與數據并提供接口
所有小組的模塊通訊必須通過這些接口
所有模塊間不能有其它通訊形勢
所有模塊的設計需考慮到將來可以把接口開放給全世界
不這么做的人就滾蛋
這就是著名的SOA(Service Oriented Architecture),放在國內現在無論是上市公司還是創業公司,能得其精髓的也相當少,在十幾年前,Bezos就敢如此大規模的應用,腦洞和膽識也不是一般的大。
又或者說那時候就考慮到了AWS形態,以至于要求之一是考慮到把接口開放給全世界。
DevOps形成
在Amazon之前,沒有公司如此大規模的應用過SOA,所以任何其它公司的經驗,咨詢公司都無能為力。在大型SOA的道路上,Amazon也學得了大量構建大型服務的經驗。也因為SOA對工程師所需能力的客觀性,形成了DevOps文化。
SOA有個比較嚴重的問題:服務之間互相連接,系統出錯的時候往往要一個ticket在幾個組之間來回傳幾十次才能找到真正的原因。另外如果上游服務出錯會嚴重影響到下游服務的功能和性能。“由于SOA中遇到的問題,必須靠devs統一考慮解決而不是靠ops打輔助,便有了devops的角色。所以DevOps更適合開拓新領域,尤其是跨幾層網絡模型的新領域。”(來自Amazon Xia Jie的補充)
為了解決這些問題,撇開臭名昭著的Oncall外,Amazon制造了大量的internal tools,幫助對代碼和服務進行監控和管理,每個組可以負責好屬于自己的服務,以最快速度解決問題,當然也因此經常有員工抱怨在Amazon雜事纏身。相比微軟,Google等公司,Amazon真正做到了最大程度的壓榨員工剩余價值(Jeff不愧是科班出身的華爾街資本家)。
這些internal tools同時也大大提高了員工工作效率,可以讓產品以最快的速度更新迭代,一個工程師便可以完成編寫代碼,測試代碼,版本管理,部署上線,服務監測等任務。所以一個工程師即是develoepr,也是QA,也是deployer。
Facebook,Airbnb的創始人都說過從Amazon文化上學到了很多,但也許Jeff對意識形態的輸出并不感興趣,Amazon從來沒有對外宣傳自己信奉的一些理念。現在看來這樣在對開發者的號召力上失去一些優勢,我認為這也許是將來阻礙Amazon發展的一小塊絆腳石。
無論如何,DevOps從那時起便成為了Amazon的文化之一。
AWS的崛起
目前國內很多大型的互聯網公司內,internal tools還各自為政,經常有不同部門重復造輪子。而在美國的互聯網公司,統一internal tools早已經是基本常識。Amazon是最積極,最重視,也是最早這么做的公司之一。而在統一了工具后,就會促使工程師們開始想,要么可以把其產品化,提供給其他的公司,要么可以把框架開源,提供給開發者。
Amazon選擇了產品化,于是AWS誕生了。從第一個服務EC2開始,到目前為止,比較典型的有虛擬化,文件存儲,數據庫,數據倉儲,代碼管理,自動部署,持續發布,服務監測,服務配置,自動化運維,身份管理,消息隊列。通通來自Amazon的內部工具,在我離開之前,還知道若干個正在產品化的內部工具。AWS也不再局限于產品化內部工具,同時也積極融合最新的開源技術,把他們加到AWS的陣容中。
而這樣做的好處是,相比Google和Facebook不停嘗試和關停各種各樣的項目,AWS的服務幾乎沒有失敗,因為這些工具內部已經被使用過若干年無數次,需求早以非常明確,工具也被打磨的比較完善了。這樣一個個幾乎不敗的服務和產品,使得AWS崛起異常迅猛,即便是微軟和Google快速反應過來開始做Azure和Google Cloud,由于缺乏內部成因,最終被越甩越遠。
相比其他公司AWS到底有多領先?我曾參加的Amazon內部Conference的時候講到以技術著稱的Google在AWS推出S3后也推出了類似的服務,當時Speaker調侃到,Google的存儲服務的內部API文檔適用于S3但卻不適用于他們自己的服務,這是為什么呢?
截止2015年,AWS的年營收增長達到了81%,營收額為71億美元,而增長排名第二的企業服務公司是Salesforce,增長為24%。AWS作為Amazon的一個部門,如果拿出來單獨上市,其市值的估計為1000億美元以上,遠超Salesforce,SAP等企業服務公司。接近Oracle,IBM等曾經最大巨頭的市值。用戶數上,AWS穩居第一,其數量是第二名到第三十名的總和的兩倍。近期也看到新聞說Google承認在云服務方面已落后于AWS,希望從自動化方面反超等新聞。不可否認,AWS的崛起并穩占第一,DevOps是因子之一。
Amazon的未來
其實寫完上一段就沒什么想再說的了,但寫文章總要有個收尾,所以形式上再加幾句。
相比其他大公司的員工對公司的“愛戴”,Amazon的員工似乎更樂于自嘲,經常和其他大公司的員工一起吐槽Amazon的公司的福利待遇,嘲笑Amazon的fire phone實在可笑讓股票大跌3個季度。Bezos也一邊開著萬貨商店,一邊玩著技術,一邊也搗鼓搗鼓火箭。
曾經在Peter Thiel的課上聽他講How to invest, 其中之一提到Fouder-led companies outperform in general,其中也舉例了Amazon,反向對比了自己建立的Paypal。對于Founder而已,公司就像自己的孩子一般。所以盡管有時候實在讓人看不懂Bezos這個Visionary到底在想什么,但很多事只有作為對公司完全傾注了心血的Founder才會更清楚自己的孩子會有一個怎樣的未來。拭目以待吧。