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