虛擬化技術(shù)是計算機領(lǐng)域的一項基本技術(shù)其內(nèi)涵非常的的廣泛,云計算概念出現(xiàn)后一些從事虛擬化技術(shù)的公司迅速宣稱自己的虛擬化技術(shù)將是云計算的核心技術(shù),企業(yè)從自身利益出發(fā)也許會片面強調(diào)虛擬化的某一個方面,本文以一個全面系統(tǒng)架構(gòu)的觀點來解讀虛擬化技術(shù)。我們認為“虛擬化”只是一個邏輯詞,我們不應(yīng)過份的將其作為一個具體的技術(shù)來對待,虛擬化只是實現(xiàn)了不同技術(shù)層面的邏輯轉(zhuǎn)化和抽象工作,不同的邏輯轉(zhuǎn)化工作應(yīng)該用不同的具體技術(shù)來描述。
1.虛擬化技術(shù)的一般性描述
從云計算提出以來虛擬化技術(shù)就被提到了很高的地位,虛擬化技術(shù)被稱為云計算的核心技術(shù),但廣義的來講虛擬化技術(shù)的范圍非常的寬,它不但是云計算的核心技術(shù)、同樣也是計算機科學(xué)的核心技術(shù)、甚至是整個工業(yè)領(lǐng)域的核心技術(shù)。
我們在開汽車的時候其實就用到了機械的虛擬化技術(shù),汽車機械運動的復(fù)雜形態(tài)被邏輯上簡化為方向盤、油門、剎車、離合器的簡單運動方式,這種簡化使汽車機械系統(tǒng)的復(fù)雜性被全面屏蔽,方向盤、油門、剎車、離合器成為了人機交互設(shè)備。
不只在工業(yè)領(lǐng)域就是在金融領(lǐng)域也有虛擬化技術(shù)的身影,如復(fù)雜的股市變化規(guī)律被幾個簡單的指數(shù)所描述,通過指數(shù)的變化就能反應(yīng)股票市場的運行情況,甚至整個經(jīng)濟的運行規(guī)律。
物理學(xué)也虛擬化技術(shù)用的最多的地方,原子核內(nèi)部的復(fù)雜運動情況通過各種宏觀物理設(shè)備如:拉曼譜、正電子譜、核磁共振等表現(xiàn)出來,其實我們誰也沒有真正的看到原子核的形態(tài),但我們能通過對這些物理量的分析得到原子核的結(jié)構(gòu),那么這些物理設(shè)備就實現(xiàn)了對原子核內(nèi)部結(jié)構(gòu)的虛擬化工作。
以上的描述我們可以看出,虛擬化技術(shù)是一門應(yīng)用很廣泛的技術(shù),甚至可以說是一門相當(dāng)基礎(chǔ)的學(xué)科。廣義的定義虛擬化技術(shù)可以這么來看:虛擬化技術(shù)就是一種邏輯簡化技術(shù),實現(xiàn)物理層向邏輯層的變化。從這個定義來看一個系統(tǒng)采用虛擬化技術(shù)后其對外表現(xiàn)出的運動方式是一種邏輯化的運動方式,而不是真實的物理運動方式。所以采用虛擬化技術(shù)能實現(xiàn)對物理層運動復(fù)雜性的屏蔽,使系統(tǒng)對外運行狀態(tài)呈現(xiàn)出簡單的邏輯運動形態(tài)。
2.虛擬化角度下的云計算架構(gòu)
虛擬化技術(shù)是一項非常綜合的技術(shù),對于計算機科學(xué)來說大部分工作都是在做虛擬化的工作,網(wǎng)絡(luò)的七層協(xié)議是對物理通訊的虛擬化、傳統(tǒng)的操作系統(tǒng)是對單個計算機物理硬件的虛擬化、計算機高級語言是對機器語言的虛擬化、人工智能則是更高級的虛擬化技術(shù)。計算機科學(xué)的虛擬化層次我們用下圖進行了簡單的描述,節(jié)點的物理硬件和網(wǎng)絡(luò)物理硬件通過多層虛擬化的邏輯簡化過程形成了彈性化的計算、存儲和網(wǎng)絡(luò)帶寬三者整合的虛擬資源池,也就是我們今天講的云計算模式。
云計算的概念位與整個邏輯的最上層,是底層物理硬件經(jīng)過多次虛擬化抽象而形成的一個邏輯概念。這也就說明了為什么云計算是未來的幾年的技術(shù)發(fā)展方向,因為技術(shù)的發(fā)展就是一個不斷抽象簡化的過程,越上層的技術(shù)邏輯就是越高級的邏輯,因為這個邏輯是站在了很多巨人肩上的,這些巨人就是下層的虛擬化技術(shù)。
所以可以說云計算系統(tǒng)是運行在一個多層虛擬化協(xié)議棧上的高度抽象系統(tǒng),云計算不是新瓶裝舊酒,而是更高一級的技術(shù)發(fā)展,這個酒是面少不了老酒的調(diào)味作用。這幅圖中我們看到了云計算的立足之本,炒作是推動不了技術(shù)發(fā)展的,技術(shù)的發(fā)展有技術(shù)發(fā)展的邏輯。
3.從虛擬化角度看云計算資源池包括哪些資源
多數(shù)文章認為云計算所構(gòu)成的資源池只包括計算和存儲,不過我們從圖2中可以看到云計算的資源池除了計算和存儲外還有網(wǎng)絡(luò)帶寬,由于云計算系統(tǒng)節(jié)點是分布化的,云中心可以不只是一個地方,云計算系統(tǒng)可以實現(xiàn)帶寬資源的有效協(xié)調(diào),從而將帶寬這一資源納入到資源池,CDN的功能將被納入到云計算的功能體系。
當(dāng)然一個開放的通用云計算系統(tǒng)的資源池還包括系統(tǒng)平臺所接入的服務(wù),云計算平臺作為一個應(yīng)用接入平臺可以實現(xiàn)大量應(yīng)用的接入和整合,也許服務(wù)也應(yīng)該成為資源被虛擬化技術(shù)放入資源池。
4.從虛擬化角度看云計算的產(chǎn)業(yè)鏈
一提到虛擬化大家首先想到了Vmware,Xen等產(chǎn)品,然而大家都忽略了最大的虛擬化產(chǎn)品是現(xiàn)有的操作系統(tǒng)軟件Window和Linux,更嚴格的說90%以上的IT企業(yè)都在做虛擬化,思科在做網(wǎng)絡(luò)層的虛擬化、Intel在做硬件層的虛擬化、大量軟件企業(yè)在做應(yīng)用層的虛擬化。
每一個虛擬化層還可以做更為細致的劃分,每一個虛擬化層就代表了云計算產(chǎn)業(yè)鏈上的一個環(huán)節(jié)。云計算肯定不是一兩個虛擬化技術(shù)企業(yè)的專有技術(shù),云計算“大象無形”的下面是一個巨大產(chǎn)業(yè)鏈和技術(shù)邏輯鏈的支持,只有“大象”才能“無形”。
芯片生產(chǎn)商、硬件生產(chǎn)商、網(wǎng)絡(luò)設(shè)備生產(chǎn)商、云計算平臺提供商、云應(yīng)用平臺提供商、存儲技術(shù)提供商、操作系統(tǒng)、帶寬提供商等等都必然會進入云計算的產(chǎn)業(yè)鏈,他們在不同的虛擬化邏輯層進行著不同的工作,以支撐最高層的云計算應(yīng)用。
云計算標準就是要建立一個虛擬化的邏輯協(xié)議棧,使產(chǎn)業(yè)鏈上的不同企業(yè)能有效的在同一個邏輯遞推關(guān)系下工作。
5.用戶和云計算應(yīng)用開發(fā)人員眼中的云計算
用戶眼中的云計算就是通過層層虛擬化后的一個邏輯形象,就像汽車駕駛員看到的方向盤和油門一樣,用戶只需要生活在一個他們熟悉的邏輯環(huán)境下就行了,這和電影Matrix中的描述的一樣:用戶自己應(yīng)該根本不知道自己是存在于一個虛擬的邏輯環(huán)境中的。用戶不用知道方向盤是如何使汽車發(fā)生轉(zhuǎn)向的,也不用知道油門是如使汽車加速的,這是汽車上的一套機械電子虛擬化層去完成的工作。油門的踩下邏輯上對應(yīng)用速度的增加,方向盤的順時針運動邏輯上對應(yīng)于右轉(zhuǎn);而真實的物理過程卻是油門的踩下對應(yīng)給油量的增加,方向盤的順時針運動對應(yīng)汽車前輪的右偏。在這個比喻下用戶看到的云計算系統(tǒng)就是一個可以按自己目前使用習(xí)慣使用的一臺功能全面的邏輯計算機。
從云計算應(yīng)用開發(fā)人員的眼中看來云計算就是一批工作在不同邏輯層的API,他們要做的就是調(diào)用API完成自己的應(yīng)用邏輯,他們也不用關(guān)心下層的邏輯是如何運行的,工作在不同邏輯層的開發(fā)人員只負責(zé)自己這一層的應(yīng)用邏輯。如應(yīng)用開發(fā)人員要存儲一個文件只需要調(diào)用一個write()函數(shù)就行了,文件的分割、備份、安全、網(wǎng)絡(luò)傳送由下層邏輯負責(zé)。應(yīng)用開發(fā)人員本身做的也是虛擬化工作,只是他們是在向自己的上一層提供虛擬化邏輯。
6.結(jié)語
從虛擬化的角度看云計算可以使我們對云計算的本質(zhì)有一個清晰的邏輯,虛擬化技術(shù)遠比我們上面描述的框架復(fù)雜,云計算是技術(shù)發(fā)展的趨勢但也面臨著巨大的技術(shù)壁壘,需要整個產(chǎn)業(yè)的全面協(xié)作,他決不是一兩家虛擬化企業(yè)能解決的問題,對于我國來說可能是一個戰(zhàn)略性的產(chǎn)業(yè)方向,需要從國家層面來解決產(chǎn)業(yè)鏈及協(xié)議棧的問題。