為什么目前的PaaS都沒有成功?兼談云計算的發(fā)展方向
從操作系統(tǒng)發(fā)展的歷史可以看出,操作系統(tǒng)的***作用是提供合適的抽象。
操作系統(tǒng)是幫我們操控硬件的軟件,它就像是應(yīng)用程序與硬件的中間者,在兩者之間扮演一個協(xié)調(diào)、管理的角色。它們的關(guān)系如下圖。
操作系統(tǒng)提供了幾個我們熟悉的概念去表示硬件設(shè)備,比如進程、虛擬存儲器、文件。它們表示的硬件設(shè)備如下圖所示。
可以看出文件是對I/O設(shè)備的抽象描述,而虛擬存儲器是對主存和I/O設(shè)備的統(tǒng)稱,***,一個進程在此基礎(chǔ)上又加入了處理器。
但在目前的大規(guī)模多機集群的情況下,這個抽象已經(jīng)失效了
由于摩爾定律的失效,單核CPU的效率無法提升,同時單機IO的無法擴展。但是商業(yè)和科研的上的數(shù)據(jù)需求又不斷的在擴大規(guī)模,導致了在服務(wù)端越來越依靠不斷的擴大機器規(guī)模來解決問題。
但機器規(guī)模的擴張僅僅是粗放型的,解決機器、系統(tǒng)、數(shù)據(jù)之間的協(xié)調(diào)成為巨大的問題
我們不再像以前那樣,通過shell或者視窗來登陸系統(tǒng)了,我們在手機上登陸的系統(tǒng),背后的數(shù)據(jù)來自于一個又一個的大集群
那么,問題來了,目前的操作系統(tǒng)不足以抽象上面的機器
這導致了很多問題,對于程序員而言,我們寫的程序不再能簡單的編寫然后運行了,至少一個大規(guī)模的,需要被很多人訪問的系統(tǒng)是這樣的
對于民眾而言,他們不能直接接觸到這個集群,但是過年搶票的痛苦的背后其實來自于系統(tǒng)
新的抽象是云嗎?
這是目前的云計算的抽象圖,雖然看起來很酷,但實際上這個抽象還只是一個藍圖,并沒有像***幅圖那樣已經(jīng)實現(xiàn)。
正如微軟的win9,win10試圖用同一個操作系統(tǒng)UI解決手機和PC的問題那樣不切實際一樣,同樣的故事也在云端發(fā)生,IaaS提供給用戶的還是傳統(tǒng)的操作系統(tǒng)交互,登陸系統(tǒng)后你還是看到一樣的操作系統(tǒng)shell。
PaaS稍微好一些,PaaS能讓程序員把自己的程序分發(fā)部署、運行到集群上,但目前受限于安全性、性能、實現(xiàn)的考慮,用戶能在PaaS系統(tǒng)中獲得的自由非常小,并且又依賴于不同廠商的云實現(xiàn)。
Docker提供了一種思路,就是集裝箱方式來管理程序,或者說,這只是集群中的一項標準
和這個圖片所暗示的一樣,docker僅僅提供了集裝箱的標準,但與之配套的碼頭、裝卸機、中心控制等還沒有建立,這僅僅是個開始。人的自由還非常的小。
我們這個時代有無數(shù)的數(shù)據(jù),但這些數(shù)據(jù)卻被禁錮在政府或者大商業(yè)公司的機房內(nèi),人類的大腦所能接受的數(shù)據(jù)量是有限的,可以想想目前我們的PC已經(jīng)實質(zhì)上性能過剩了,手機也快了。唯有在云上給出系統(tǒng)的合理抽象,大多人才有機會去操縱和利用這些數(shù)據(jù),并進化出我們和這個世界的新的交流方式。