大約一年前,聯(lián)通范總寫了一篇《我所知道的云計(jì)算》,對(duì)云計(jì)算的各種新技術(shù)和理念進(jìn)行了深入淺出地解讀。
這一年來,云計(jì)算發(fā)展得風(fēng)起云涌,有了很多變化。經(jīng)過最近一段時(shí)間的全面學(xué)習(xí)和思考,我也手癢寫一篇自己的理解。其中很多觀點(diǎn)比較極端,算是拋磚引玉,給大家立個(gè)靶子。
要說的核心是:世上本沒有云,說的人多了,云山霧繞,人云亦云,于是云計(jì)算就成了趨勢(shì)。
硬件的演變
大家已經(jīng)習(xí)慣,用軟件和硬件,來對(duì)計(jì)算機(jī)的構(gòu)成部分進(jìn)行區(qū)分。
籠統(tǒng)來說,硬件是為計(jì)算機(jī)系統(tǒng)提供的物理平臺(tái),軟件則是在硬件平臺(tái)上,呈現(xiàn)出各種各樣的功能。二者既有分工又協(xié)同發(fā)展,構(gòu)成了紛繁復(fù)雜的計(jì)算機(jī)世界。
我還記得,大學(xué)時(shí)在51單片機(jī)上做開發(fā),相對(duì)于BASIC和FORTRAN,C語言是當(dāng)時(shí)最先進(jìn)的編程語言。技術(shù)高手用匯編語言來做開發(fā),雖然掌握起來難度大,但操作的對(duì)象是寄存器或存儲(chǔ)器,因此執(zhí)行速度特別快。
那個(gè)時(shí)候,硬件資源稀缺而昂貴,如果能節(jié)約幾行代碼,少幾分資源損耗,都能直接體現(xiàn)巨大的價(jià)值。
之后的發(fā)展,主要是由硬件廠商驅(qū)動(dòng),但發(fā)展的模式卻恰恰是通過發(fā)展軟件,來提升硬件的競(jìng)爭力。
一方面,操作系統(tǒng)的發(fā)展,在降低軟件開發(fā)門檻的同時(shí),使系統(tǒng)軟件和硬件緊緊捆綁在了一起;另一方面,硬件廠商也利用平臺(tái)的主導(dǎo)地位,打造出適合于不同類型應(yīng)用的硬件平臺(tái)。
比如銀行業(yè)廣泛采用的大型機(jī)、容錯(cuò)機(jī),就是提供了一個(gè)穩(wěn)定可靠的運(yùn)算平臺(tái),雖然很貴而且資源冗余,但是穩(wěn)定性可靠性堪稱完美;再比如NCR的數(shù)據(jù)倉庫解決方案,也是軟硬件一體的,在數(shù)據(jù)分析方面表現(xiàn)出眾。
各種計(jì)算機(jī)硬件都有相對(duì)的應(yīng)用場(chǎng)景,尤其在上個(gè)世紀(jì)中后期,各類硬件平臺(tái)不斷進(jìn)步,體積越來越小,容量越來越大,集成度越來越高,性能越來越強(qiáng)大。
當(dāng)然,由于UNIX小型機(jī)在開放性、穩(wěn)定性以及成本等方面的綜合性能最佳,因此成為應(yīng)用范圍最廣的計(jì)算機(jī)系統(tǒng)的硬件平臺(tái)。而PC服務(wù)器雖然成本低,但因?yàn)榉€(wěn)定性差、故障率高、性能低等缺點(diǎn),很難進(jìn)入企業(yè)和大規(guī)模計(jì)算領(lǐng)域。
在這個(gè)過程中,發(fā)展動(dòng)力主要來自兩個(gè)方面:
一是摩爾定律,集成電路的突飛猛進(jìn),推動(dòng)了硬件平臺(tái)的發(fā)展,各類服務(wù)器都不斷推陳出新,幾乎每年都會(huì)推出性能更好、價(jià)格更低的新產(chǎn)品;
二是IT系統(tǒng)初建的浪潮,各單位都在發(fā)展IT,用計(jì)算機(jī)系統(tǒng)取代手工作業(yè),從無到有紛紛建起來的IT系統(tǒng),可謂百花齊放。由于各類應(yīng)用存在差異,穩(wěn)定性、安全性、業(yè)務(wù)連續(xù)性等方面的要求都各不相同,所以各種硬件都有非常好的市場(chǎng)空間。
說到這里,我還想到一個(gè)插曲:早些年,有人說美國為代表的海外IT系統(tǒng),用的都是幾十年不變的硬件和軟件,表現(xiàn)同樣很穩(wěn)定;而國內(nèi)總買最好、最先進(jìn)的硬件設(shè)備,這不是亂花錢么?
在我理解,兩者只是IT的發(fā)展階段不同:國內(nèi)IT企業(yè)發(fā)展快速,尤其是用戶規(guī)模和系統(tǒng)復(fù)雜度遠(yuǎn)超海外運(yùn)營商,所以用最新最好的服務(wù)器并沒有錯(cuò)。而海外的IT初創(chuàng)階段比國內(nèi)早得多,如果系統(tǒng)能力滿足,需求變化不大、變更成本又高,確實(shí)沒有必要頻繁更新設(shè)備。
所以,當(dāng)美國互聯(lián)網(wǎng)再度興起,就對(duì)IT提出了新的需求,為云計(jì)算等一系列新科技的生長提供了土壤。
互聯(lián)網(wǎng)是在通信和計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)上成長發(fā)展起來的,而互聯(lián)網(wǎng)的發(fā)展又給通信和計(jì)算機(jī)領(lǐng)域帶來了機(jī)遇和挑戰(zhàn)。
一個(gè)典型的例子,就是相對(duì)于傳統(tǒng)的計(jì)算機(jī)系統(tǒng),互聯(lián)網(wǎng)需要更大規(guī)模的運(yùn)算能力的同時(shí),還希望盡可能地降低成本,所以X86服務(wù)器大行其道。
單機(jī)性能低,怎么辦?靠軟件堆。硬件不穩(wěn)定,怎么辦?靠軟件來補(bǔ)。需求變化快,怎么辦?靠軟件改。云計(jì)算領(lǐng)域的諸多技術(shù),就是這么被逼出來的。
互聯(lián)網(wǎng)的初創(chuàng)企業(yè)都是省錢的高手,恨不得一分錢掰成兩半花,因此鐘愛于性價(jià)比最低的IT平臺(tái),上一輪次的受益者是SUN。而今,X86服務(wù)器逐漸成為新一代互聯(lián)網(wǎng)公司的標(biāo)配,一家沒有那么多銀子買機(jī)器,就以互聯(lián)網(wǎng)的共享模式,根據(jù)實(shí)際需要租用計(jì)算能力和存儲(chǔ)資源,這也正是催生云計(jì)算出現(xiàn)的源動(dòng)力。
與此同時(shí),“省錢”促成了開源技術(shù)的繁榮。從技術(shù)角度看,開放源代碼,通過社區(qū)交流逐步完善,這些都是非常符合互聯(lián)網(wǎng)發(fā)展思路的行為;但從商業(yè)角度看,免費(fèi)的開源軟件嚴(yán)重影響傳統(tǒng)IT企業(yè)的經(jīng)濟(jì)效益,也抑制了傳統(tǒng)IT企業(yè)的創(chuàng)新動(dòng)力,讓傳統(tǒng)IT產(chǎn)業(yè)雪上加霜。
在諸多硬件流派中,X86擁有的成本優(yōu)勢(shì)無人能及,自然成為云計(jì)算技術(shù)的重點(diǎn)發(fā)展領(lǐng)域,互聯(lián)網(wǎng)飛速發(fā)展產(chǎn)生的推動(dòng)力,主要給了X86平臺(tái);而其他硬件由于規(guī)模大、成本高,變化空間有限,并沒有多少互聯(lián)網(wǎng)企業(yè)愿意在這上面做創(chuàng)新。
幾年時(shí)間下來,大型機(jī)依靠安全穩(wěn)定方面的優(yōu)勢(shì)堅(jiān)守傳統(tǒng)地盤,一部分小型機(jī)與軟件深度整合發(fā)展為一體機(jī),而更多的硬件廠商放棄了自身的發(fā)展計(jì)劃。
未來的IT系統(tǒng),尤其是新建系統(tǒng)新建能力,只能在一片片的X86服務(wù)器的基礎(chǔ)上成長。對(duì)于絕大多數(shù)應(yīng)用場(chǎng)景來說,將來除了X86,或許不再會(huì)有別的硬件平臺(tái)可供使用。
云計(jì)算技術(shù)
基于同樣的X86服務(wù)器,各家的玩法不同,催生出了不同的云計(jì)算技術(shù)。
最為大眾熟悉和接受的,是虛擬化技術(shù)。所謂虛擬化,主要是將龐大的、完整的硬件資源(包括計(jì)算、存儲(chǔ)等)分割成為較小的單元,并具備動(dòng)態(tài)調(diào)整小單元的能力,如果虛擬化用得好,就可以靈活分配和及時(shí)調(diào)度計(jì)算存儲(chǔ)資源,提高資源利用效率。
值得一提的是:虛擬化技術(shù)并不為X86所獨(dú)有。事實(shí)上,在小型機(jī)上部署虛擬化軟件,是目前IT系統(tǒng)經(jīng)常采用的模式。
這是因?yàn)椋瑔闻_(tái)小型機(jī)擁有的資源比X86多得多,因此在資源利用率提升方面,在小型機(jī)上部署虛擬化,往往比在X86上部署效果更好,甚至比X86具有成本優(yōu)勢(shì)。
比如運(yùn)營商現(xiàn)在的系統(tǒng),就是以小型機(jī)為主體,很多小的應(yīng)用都跑在小型機(jī)的虛擬化軟件上。
只不過,未來系統(tǒng)以X86為主體,就不再需要在小型機(jī)上部署虛擬化軟件,更多的虛擬化場(chǎng)景都會(huì)轉(zhuǎn)移到X86上來搞。所以,小型機(jī)的虛擬化場(chǎng)景會(huì)越來越少,剩下的小型機(jī)將主要是滿足大的計(jì)算需求。這也就是說,傳統(tǒng)小型機(jī)逐漸萎縮、退出,只是時(shí)間問題。
虛擬化技術(shù)是將大資源劃小,那么,如何將小的資源,組合成大規(guī)模運(yùn)算的平臺(tái)呢?這就需要另一類云計(jì)算技術(shù):分布式運(yùn)算。
為什么說這是一類技術(shù)?雖然各家需求不一樣,應(yīng)用場(chǎng)景不同,采用的技術(shù)和策略也大相徑庭,常規(guī)的網(wǎng)格計(jì)算、集群,以及很多互聯(lián)網(wǎng)企業(yè)的專用技術(shù),看似五花八門,其實(shí)萬變不離其宗,解決的問題,都是如何將小的計(jì)算資源,組合成為大規(guī)模運(yùn)算平臺(tái)。
雖然目前虛擬化+X86的模式應(yīng)用最廣,但并非所有的云計(jì)算都基于虛擬化技術(shù)。其中最典型的就是Google。
作為提供搜索服務(wù)的互聯(lián)網(wǎng)企業(yè),谷歌需要解決的問題完全用不到虛擬化技術(shù),相反,部署虛擬化軟件將降低系統(tǒng)運(yùn)行效率,增加成本。
因此,Google基于自己的需要進(jìn)行定制化開發(fā),先是做出企業(yè)自用的Map/Reduce和NDFS,又在此基礎(chǔ)之上形成了經(jīng)典的Hadoop平臺(tái),由“自研”到“自用”再到“產(chǎn)品化”,令人欽佩。
在此基礎(chǔ)上,谷歌持續(xù)創(chuàng)新,乃至引發(fā)了“容器”技術(shù)革命以及Kubernetes的狂飆突進(jìn),這是后話,暫且不表。
前面提到,受互聯(lián)網(wǎng)帶來的沖擊,傳統(tǒng)硬件平臺(tái)的衰退勢(shì)不可當(dāng)。但使用低成本的X86和免費(fèi)的開源軟件做出來的系統(tǒng),在安全性、穩(wěn)定性、資源調(diào)度與管理、系統(tǒng)開發(fā)復(fù)雜性等方面,就需要做更多的工作,必須通過各種工具軟件和配套的管理來解決。于是,很多新技術(shù)應(yīng)運(yùn)而生。
評(píng)論