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