對不起,雲計算技術又走錯路了

語言: CN / TW / HK

(1)OpenStack

2010年,OpenStack開源。好嘛,一堆人烏央烏央拿着開源去搞雲計算創業。

到了2013年Docker出來了,所有人都懵了。完了,技術走錯道了。所以到了2017年後,所有搞OpenStack創業的都死了不少。不死的,也都轉型容器計算了。

(2)CloudFoundry

2003年Spring框架開源,説要乾死EJB和EJB商業中間件容器。

2008年,Spring併購了一家公司叫CloudFoundry,可以把Java應用按照依賴關係來自動打包、自動部署、自動監控,一整套應用生命週期管理。這就是Cloud Foundry的價值。

2013年Pivotal公司(EMC和VMWare公司合力投資)大力推廣CloudFoundry開源。於是,IBM用它搞了BlueMix,Salesforce用它搞了Heroku,GE和西門子用它搞了物聯網平台。

但是對不起,2014年Docker這種打包技術出來了,2015年CNCF K8S技術出來了,比CloudFoundry可以搞自動打包、自動部署、自動監控更好。

用CloudFoundry的人,也走錯路了。

(3)Docker

Docker之所以勝出,是因為OpenStack和CloudFoundry都是厚厚地架構了一層。Docker比較雞賊,其實藉助的是Linux內核的一個技術:LXC。這個技術是2008年由Google捐獻給Linux開源社區的,最終成為了Linux內核的標準功能。恰好Docker藉助了Linux操作系統的這一特性,所以Docker比OpenStack和CloudFoundry都要輕薄快速。

但是笑到最後的真是Docker嗎?

不是吧。Docker技術倒是開源,但是Docker公司想掙錢怎麼掙錢?所以Docker公司也搞了一套類似K8S的東西。本來以Google為首的CNCF,Docker+k8s免費開源是一對絕配。而這時,手握k8s的Google這次和Docker公司決裂了。畢竟Google是羊毛出在狗身上,在線搜索廣吿賺的盆滿缽滿,Android雖然也開源,但Android的應用商店卻是收費收的盆滿缽滿。而對於Docker公司來説,沒法羊毛出在狗身上。自然只能決裂。

所以CNCF在Google的帶領下,搞了一套容器接口標準,你們只要遵守這套標準,誰實現的容器產品都能和K8S很好的配合。Docker不是唯一選擇了。

(4)先説説Mozilla

Mozilla這家公司很神奇。這家公司有三個東西我要一會介紹出來:

1、應用產品:開源瀏覽器Firefox

2、應用技術:WebAssembly。簡稱wasm。這種技術能夠把各種開發語言技術編譯成一種字節碼然後在瀏覽器中安全地運行。在過去,瀏覽器只能運行JavaScript開發語言,現在各種語言開發的(如C語言、Rust語言、Go語言等等)開發的都能運行了。2017年,四大瀏覽器廠商全都內置了wasm技術。2019年,wasm技術成為W3C標準。

3、開發語言Rust。Rust這個開發語言具有嚴格的編譯級安全檢查機制。所以大家都想用這個語言重新開發操作系統內核。代表Linux的RedHat,代表Windows的微軟,代表下一代物聯網操作系統(Fuchsia)的Google,都想用Rust重新開發操作系統內核。

(5)再説説WebAssembly

WebAssembly這個東西出圈了。

我記得過去Chrome換了V8 JavaScript引擎後,瀏覽器的性能驟然提升了一大塊,用户體驗極佳。這幫助Chrome迅速佔領了市場份額。

後來有人一看V8引擎這麼好,就把V8引擎從瀏覽器代碼裏剝離了出來,這就成了後來可以運行在服務器端的NodeJS。

現在呢,又有人發現WebAssembly這個跑在瀏覽器端的技術太好了,也剝離了出來,也可以運行在服務器端了。

這個技術嚴格安全保護。Docker對於權限、內存的管理並不安全。

這個技術性能非常的高。是Docker執行的100倍。

這個技術的體積非常的小,是Docker的100分之一。

所以呢,幹Linux內核的RedHat(後台是IBM)、幹Windows內核的微軟、幹Fuchsia內核的Google,和WebAssembly技術的發明公司Mozilla,一起合夥成立了一個聯盟,叫做ByteCode聯盟。專門進行WebAssembly技術的標準化和獨立性。

現在WebAssembly專門制定了開放的標準的接口,各種技術都可以和它對接。

(6)尾聲

2020年12月,由Google主力參與的CNCF發了一個聲明:K8S 1.20版本以後,不再支持Docker技術。

2020年12月,由Google主力參與的ByteCode聯盟還嘿嘿嘿地“湊巧”地發了一個聲明:WebAssembly 開放接口1.0正式版本發佈。

而且K8S開始有意放慢發佈週期:由過去一年發佈四次改為一年發佈三次。等等WebAssembly 技術快速成長。

移花接木開始。