最近一段時(shí)間,云計(jì)算、大數(shù)據(jù)領(lǐng)域可謂風(fēng)起云涌,各種聲音與活動(dòng)極為頻繁。總結(jié)看來,大家主要是在表達(dá)這樣的幾種觀點(diǎn):云計(jì)算即將成為IT運(yùn)營(yíng)的主體模式;云計(jì)算不但會(huì)成為公眾與小微企業(yè)的IT主體,并且即將推翻并取代垂直行業(yè)的現(xiàn)有IT體系;云計(jì)算的技術(shù)手段是以“小變大”的分布式架構(gòu)(也是所謂的大數(shù)據(jù)技術(shù)架構(gòu))為主體,它即將以穩(wěn)定、低成本的表現(xiàn)在各個(gè)領(lǐng)域取代傳統(tǒng)IT基礎(chǔ)設(shè)施。
乍看起來,這些意見既符合未來趨勢(shì),又有各方云界英雄們過去的不俗成績(jī)?yōu)楹蠖埽拇_是很容易讓人信服的,并且比以往任何時(shí)候都顯得更加實(shí)在。但是,在各種關(guān)于云計(jì)算、大數(shù)據(jù)的令人振奮、符合時(shí)代趨勢(shì)的業(yè)務(wù)戰(zhàn)略背后,依然是以“小變大”分布式架構(gòu)一統(tǒng)天下的技術(shù)策略作為支撐。
從業(yè)務(wù)上講,云計(jì)算將使IT運(yùn)營(yíng)模式發(fā)生翻天覆地的變化,的確可以算是“浩浩蕩蕩的世界潮流”。而拋棄產(chǎn)品銷售模式,向“以服務(wù)為中心”的模式轉(zhuǎn)變也是全球各級(jí)IT供應(yīng)商應(yīng)該盡早考慮的戰(zhàn)略。這些都無疑是正確的,但是不是就等同于“小變大”的分布式技術(shù)架構(gòu)已經(jīng)達(dá)到了無往不利、能夠有效替代現(xiàn)存所有技術(shù)架構(gòu)、滿足所有技術(shù)需求的地步呢?
這樣的從業(yè)務(wù)戰(zhàn)略到技術(shù)戰(zhàn)術(shù)的推導(dǎo)似乎并不符合邏輯。眾所周知,分布式并不是一個(gè)新東西,為什么突然就能一統(tǒng)天下了呢?看來,這個(gè)問題還是不能簡(jiǎn)單地隨風(fēng)而動(dòng),人云亦云,需要進(jìn)行認(rèn)真的考慮與分析。
業(yè)務(wù):云天萬(wàn)里競(jìng)自由
關(guān)于云計(jì)算轟轟烈烈的新氣象,有兩點(diǎn)筆者是完全贊同和佩服的。
一是關(guān)于云計(jì)算將成為未來社會(huì)IT運(yùn)營(yíng)模式主流的論斷。相信未來有一天,基于云計(jì)算的服務(wù)必將會(huì)成為人類社會(huì)消費(fèi)IT基礎(chǔ)設(shè)施、平臺(tái)乃至應(yīng)用軟件的主體模式。而位于云計(jì)算體系中包羅萬(wàn)象、互聯(lián)互通、安全智能的數(shù)據(jù),其實(shí)也就是真正意義上的大數(shù)據(jù);
二是云界英雄在云計(jì)算新一輪的浪潮中提出的各種發(fā)展戰(zhàn)略、業(yè)務(wù)策劃等,也是非常明智的,它們要比若干年前關(guān)于云計(jì)算的吶喊實(shí)在得多。其中很多行動(dòng)、規(guī)劃與舉措,都是站在時(shí)代發(fā)展的前沿與主干道上,無疑都將是引領(lǐng)未來的正確設(shè)想。
一句話,對(duì)于云計(jì)算業(yè)務(wù)來講,正可謂是云天萬(wàn)里,前景無限!
技術(shù):長(zhǎng)劍僅百尺
“小變大”技術(shù)策略已經(jīng)具備足夠的能力顛覆現(xiàn)有的IT體系了嗎?有一個(gè)現(xiàn)象值得我們注意:云界大佬們?cè)谔岢龈鞣N云計(jì)算業(yè)務(wù)戰(zhàn)略的同時(shí),又強(qiáng)烈地表達(dá)了這樣一個(gè)論調(diào):“小變大”的分布式技術(shù)架構(gòu)將完全顛覆現(xiàn)有IT體系。但深入分析就會(huì)發(fā)現(xiàn),從云計(jì)算的運(yùn)營(yíng)模式并不能嚴(yán)密地推導(dǎo)出這樣的結(jié)論。云計(jì)算無疑是業(yè)務(wù)模式、IT運(yùn)營(yíng)模式的顛覆,但從這一點(diǎn)并不能得出某種技術(shù)方法也是所有IT技術(shù)顛覆者的結(jié)果。
如果將目前用于云計(jì)算的分布式技術(shù)的現(xiàn)狀全部拿出來,與現(xiàn)有的IT技術(shù)體系一一對(duì)應(yīng)的話,我們很快會(huì)發(fā)現(xiàn),如果要全部顛覆,實(shí)在是難以成行的。而這種一一對(duì)應(yīng)來證明某種觀點(diǎn)的方法,雖然也有說服力,但過于具體,其高度、抽象度與理論性還不夠強(qiáng)。這也是本文想重點(diǎn)強(qiáng)調(diào)的,分布式技術(shù)架構(gòu)還不能作為所有IT技術(shù)顛覆者的根本原因,并不是因?yàn)槟骋粋€(gè)具體的場(chǎng)景不能滿足,而應(yīng)是:至今為止,計(jì)算機(jī)體系架構(gòu)并沒有發(fā)生顛覆性的改變。
眾所周知,現(xiàn)代計(jì)算機(jī)體系架構(gòu),從紙帶時(shí)代進(jìn)入磁盤時(shí)代、從電子管時(shí)代進(jìn)入到硅電路時(shí)代以后,無論CPU如何升級(jí),網(wǎng)速如何提升,都一直保持著同樣的體系:一臺(tái)計(jì)算機(jī)內(nèi),CPU、內(nèi)存、磁盤等部件被總線與其他接口連接起來;而在計(jì)算機(jī)之間,則由網(wǎng)絡(luò)連接起來。現(xiàn)階段,主要是以太網(wǎng)和TCP/IP協(xié)議。
多年以來,影響計(jì)算機(jī)效率發(fā)生顛覆性質(zhì)變的關(guān)鍵,無非就是兩點(diǎn):一是磁盤的效率,二是網(wǎng)絡(luò)的速度。我們可以發(fā)現(xiàn),對(duì)于極為高速的單臺(tái)大型設(shè)備,其內(nèi)部一定設(shè)計(jì)有類似內(nèi)存的緩存架構(gòu),同時(shí)一定也采用了“分布式”的思想與架構(gòu)。但其在絕大多數(shù)情況下,它們并沒有采用應(yīng)用開發(fā)者所熟悉的通用“網(wǎng)絡(luò)”來連接分布的部件,IBM大型機(jī)、多CPU的PC機(jī)都是如此,甚至采用MPP(大規(guī)模并行處理)架構(gòu)的TeraData也設(shè)計(jì)了自己的網(wǎng)絡(luò)互聯(lián)技術(shù)BYNET。
長(zhǎng)年從事通用網(wǎng)絡(luò)編程的朋友們也應(yīng)該明白,這么多年了,兩臺(tái)通過網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī)之間,在最底層的IPC編程層面,永遠(yuǎn)都是Socket編程那一套,連函數(shù)都沒有發(fā)生改變,Internet、消息、SOA、WebService、RPC、Hadoop、NoSQL之類,到了分布式通信編程的底層,都是一樣的玩意,沒有什么新東西。
那有人會(huì)問,照你這么說,這么多年還都沒有發(fā)展了?當(dāng)然不能這樣講,但公平的說,計(jì)算機(jī)應(yīng)用及應(yīng)用支撐技術(shù)現(xiàn)代以來的發(fā)展(包括云計(jì)算技術(shù)在內(nèi))(+微信關(guān)注網(wǎng)絡(luò)世界),都只是在現(xiàn)有的技術(shù)體系上做得越來越好、越來越巧妙,這些工作依然是偉大的,但絕對(duì)不適合使用“顛覆”這一詞匯。
另外,采用“小變大”的分布式架構(gòu),使用內(nèi)存與緩存,其實(shí)是由來已久的技術(shù)策略,準(zhǔn)確來講,已經(jīng)有了幾十年的歷史。就連我們感覺老舊的IBM大型機(jī),其實(shí)也采用的是這樣的架構(gòu)。當(dāng)然,本文所說的“小變大”與“分布式”,是專門指x86機(jī)器采用標(biāo)準(zhǔn)計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)。而多年以來,很多問題一直不適合在傳統(tǒng)網(wǎng)絡(luò)連接的分布式架構(gòu)中實(shí)現(xiàn)(例如OLTP中的事務(wù)),而在大型機(jī)這樣的分布式架構(gòu)卻可以實(shí)現(xiàn)的原因也就非常明了了。還有一個(gè)要素也很重要,那就是阿姆達(dá)爾定律用數(shù)學(xué)公式精確地告訴我們:“若串行代碼占整個(gè)代碼的25%,則并行處理的總體性能不可能超過4”,無論您的設(shè)計(jì)編程技能有多么高超!很明顯,并不是所有的問題都是并行處理的優(yōu)勢(shì)所在。
也就是說,如果從技術(shù)角度看,目前云計(jì)算似乎很難做到“倚天抽長(zhǎng)劍,而縱橫天下”。
不顛覆也偉大
筆者從這個(gè)角度出發(fā)來看問題,其實(shí)是想告訴大家:任何技術(shù)性的顛覆,一定需要堅(jiān)實(shí)的理論基礎(chǔ)。正如如果沒有愛因斯坦的E=MC2在科學(xué)理論基礎(chǔ)上的顛覆,就不可能有原子彈在工程制作上的成功。
當(dāng)然,有人會(huì)說,關(guān)于分布式計(jì)算機(jī)互聯(lián)的網(wǎng)絡(luò)通信問題我不與你爭(zhēng)辯,但近年來內(nèi)存對(duì)磁盤的挑戰(zhàn),總算是一個(gè)小小的顛覆吧?這一點(diǎn)當(dāng)然是正確的,但云計(jì)算技術(shù)策略的問題是:要用多個(gè)“小”采用計(jì)算機(jī)網(wǎng)絡(luò)組成一個(gè)“大”。我們先不說內(nèi)存技術(shù)對(duì)磁盤技術(shù)的顛覆目前尚無結(jié)論,核心的問題在于:根本性的技術(shù)顛覆,并沒有發(fā)生過。
因此,如果現(xiàn)有的計(jì)算機(jī)體系架構(gòu),包括分布式網(wǎng)絡(luò)通信架構(gòu),沒有發(fā)生質(zhì)的改變,云計(jì)算在技術(shù)上就很難實(shí)現(xiàn)真正的顛覆。最后一定要強(qiáng)調(diào),有些讀者可能會(huì)以為筆者是在跟云計(jì)算唱反調(diào),事實(shí)正好相反,筆者恰恰是云計(jì)算堅(jiān)定的支持者。只是這里認(rèn)為,云計(jì)算本是一種劃時(shí)代的業(yè)務(wù)模式與IT運(yùn)營(yíng)模式,為什么一定要與某種技術(shù)緊緊綁定呢?似乎從邏輯上、現(xiàn)實(shí)上講都沒有必要。我們是不是應(yīng)該放開眼界,采用“適合就是美”的策略來建設(shè)和運(yùn)營(yíng)云呢?如果這樣,即使沒有技術(shù)顛覆的結(jié)果出現(xiàn),偉大的云計(jì)算模式也一樣可以成功。