從 Amazon 的 DevOps 到 AWS 的崛起


編者按:本文來源微信公眾號“HOOLI實時服務”(ID:hoolitech),作者互利科技CEO林坦,授權36氪轉載。作者曾就職於美國Amazon總部負責全球交易系統以及存儲系統,後回國創業,現為互利科技創始人兼CEO。

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內部Co​​nference的時候講到以技術著稱的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才會更清楚自己的孩子會有一個怎樣的未來。拭目以待吧。

本文來自讀者投稿,不代表36氪立場,如若轉載,請註明出處:http://36kr.com/p/5049060.html


資料來源:36Kr

如果喜歡我們的文章,請即分享到︰