云計算企業在近些年已經大量興起,但是能存活下來的只剩小部分,而最近興起的“邊緣計算”,“霧計算”也開始對云計算的定位產生了一定的威脅,云計算的發展之路又會變成什么樣的呢?
上個星期在Gartner數據中心年度會議上,硅谷風投大佬AndreessenHorowitz 合伙人Peter Levine語出驚人,他指出云計算時代在還沒有正式啟動的時候,就將很快“終結”。“我將為你們展示什么才是未來。”他以此開場,隨后論述了他關于云計算昨天、今天和明天的“瘋狂”觀點:中央計算將很快被分布式計算取代,他非常樂于投資云計算的“終結者們”。

當我們都還在考慮如何轉型到云計算中心的時候,軟件創新的前沿者們,是否應該開始考慮“后云計算時代”的軟件了?
無獨有偶,2016年初,惠普(HPE)正式關閉了它的公有云業務。這幾天思科也宣布即將終結它10億美元的公有云服務,將于2017年3月31日正式關閉。遙想思科推出互聯云之時,號稱這是一種基于OpenStack的平臺,能夠在各個數據中心之間輕松轉移工作負載,并表示這個平臺是將其自己和合作伙伴公司的宏大計劃。事實顯然證明,這個愿景實現起來比預想的困難得多。目前,5大云服務商主宰了公有云服務一半以上的市場份額,并且其增長速度甚至超過整個云計算市場份額的增長速度。
這些關門是否和物聯網趨勢有關,不得而知。但是歸根結底,云計算是建立在“集中大量的硬件來提供消費者服務”。而物聯網,恰恰提供了“大量”的計算能力。
物聯網的產生和發展,從商業經濟上,開設了一個全新的競爭場所:原來由“人”為主體的網絡轉向由“物”為主體。目前眾多的投資創業轉型項目,就是這個革命的見證。從技術角度來看,我們要思考,這個物聯網的發展,是否會導致計算模式的再次變革?
答案是肯定的,就是物聯網的發展將是云計算結束的開始。
現代意義上的計算,可以從六十年代的IBM的大型商務機(mainframe)開始算起。集中計算的特征就是用戶不需要考慮任何硬件軟件的配置功能。缺點是沒有可伸縮性。和集中計算相反的分布式計算是從七十年代的小型機開始,八十年代以Unix系統為主導的發展,到本世紀初的手機和后來的智能手機達到高峰。分布計算的特征是每個節點都有計算功能。缺點是每個用戶都需要管理自己的節點,硬件軟件。后來就出現了云計算,把大量的數據處理交給“云”去做。這個云計算實際又是一個集中計算,它免去了用戶對中央計算的管理要求。
我們現在要問,這個鐘擺是不是又會將計算模式擺回到分布式?
物聯網的出現,將計算節點數量和數據量推到一個更高的層次。這個量變將引起質變:云計算會因此而只能維持現狀而不會持續發展,或者說,終結(這個不是消失的意思,就像IBM的大型商業服務機至今仍然在使用一樣)。將云計算取代的是很多“微計算中心”(micro service center),這個有點類似于思科在2014年提出的“霧計算”概念(fogcomputing)。這就是說,過去60年的計算模式,又會回到分布式:每個節點,服務器、電腦、手機、傳感器、智能路燈,都會有計算功能。
當年思科提出霧計算的概念是出于技術角度。它認為物聯網的節點必須有自己的自治功能:比如網絡不穩定節點要有自己管理自己的功能,為了減輕網絡和云處理中心的負擔節點自己數據預處理等。所以它提出把計算放到邊緣(節點)(edge computing)。
但實際上,把計算功能放到節點上不單是一個技術問題。云技術解決兩個問題:硬件資源管理和集中計算(軟件)。我們不妨設想一下。硬件資源由于成本下降和穩定性提高,需要管理的內容會持續下降,每個用戶都是硬件管理員(蘋果手機將這個概念做到非常完美)。而軟件,將會出現無主控制服務(master-less),對稱(symmetry),自動協商自治式的分布技術(auto-negotiate,autonomous)。這樣的軟件,會自動集成資源,尋求信息連接,提供計算結果。
這將是一個非常可擴展的彈性計算資源。比所有的現有云模式更加廣闊,符合超大規模的物聯網和數據膨脹形式。
舉個例子,一個完全物聯網化的制造車間,會組成一個微計算中心,它不再需要將數據傳到云里面。一旦它的計算要求超過它自己本身的能力,它可以借助于附近的計算節點(另外一個車間,甚至智能手機)來完成。它計算的結果也直接會輸送到用戶的終端上(有可能這個用戶也是借給它計算的一部分,如果不是,這個用戶可以向這個物聯網車間收取一定的費用作為收入)。
這種計算方式不是我們的想像,當年DNA計算有人就利用各種剩余的資源,個人電腦、企業多余的服務器,一個小時、5分鐘,都可以用來計算一個小的部分,然后將結果匯總。也有人將各種多余的存儲,都組合起來,形成一個大的,虛擬的存儲設備(vSAN)。
再一個例子,一臺自動駕駛車輛,它本身是一個微計算中心,它可以通過一定的協議,向其他車輛借用資源,調用信息。我們認為,當硬件速度足夠快,軟件功能足夠豐富,這樣的全新分布計算的出現只是一個時間問題。我們姑且叫這個模式為“眾計算”,Crowd Computing。
那么究竟如何使得物聯網的節點都可以參與這種新的計算模式呢?這個首先要歸功于硬件的發展。現在的傳感器,或者智能傳感器,都基于MCU(微控制器),它有所有“計算”所需要的能力,CPU、內存、硬盤和通訊、RaspberryPi、IntelEdison還可以有現成的操作系統運行,而且硬件成本會持續下降,所以由物聯網節點來參與“眾計算”的基礎已經存在并且會更加完善。雖然每個節點能量有限,但是有海量的數目。每個節點只需要計算一小部分。
那缺少什么呢?缺少統一的協議、操作系統、工作調度、數據安全等軟件。而所有這些軟件概念也已經都有,從大數據處理的Hadoop,到平行計算的調度jobscheduling到并行存儲。
為什么要這么做?因為可擴展性,自我服務性。分布計算使得每個人都可以獨立去完成。而且資源是“無限”的,成本會更低,你可以去掉今天云計算模式的束縛。另外一個需要指出的是,和一般常規認知相反,這種“眾計算”模式會比大型機,云計算更加穩定,可靠。
也許有一天,你的手機,不但給你帶來通訊的便利,同時在你不用的時候,在為你悄悄的創收。