深度探討云計算和虛擬化
最近收到朋友來信,說RedHat邀請大家參與它的云計算體驗,而它的核心就是虛擬化,我一看就毛了,這哪跟哪嘛?聯想到vmware目前也在試圖和云計算接軌,所以我寫下了如下文字,來和大家探討一下。
我的判斷,虛擬化不是云計算。
云計算是全新的一種計算模型,可以說,是一種全新的計算機,是由很多很多服務器,通過一定的網絡拓撲,構建的一種專用型計算機系統,每臺服務器,在這里面僅僅是一個計算單元,或者存儲單元的角色。
虛擬化,顧名思義,就是利用現有計算機,虛擬另外一臺計算機,通常呢,由于技術限制,虛擬的計算機不可能比虛擬平臺本身的計算機好,也就是說,虛擬計算機的計算或存儲、處理能力,只能無限逼近平臺計算系統,但永遠無法達到,更遑論超越。
這就說明,虛擬的計算機,比起虛擬機的運行平臺,只能是虛擬更加老的,更加慢的,更加小的計算機系統,而不可能是正在用的計算機系統。目前我們看到的大多數虛擬平臺,其實都遵從這一客觀規律。
比如,vmware標配的虛擬運行平臺,大約相當于P4早些時候的計算機,一般能虛擬2核的CPU,內存也不能超越平臺計算機的內存,硬盤也小,等等。
這在做網絡實驗時,通過單臺計算平臺對多臺虛擬機的虛擬運行,可以大幅度降低設備成本,利用很少的計算設備,獲得很高的,大量的邏輯計算機來測試,但是,這顯然不符合云計算的需求。我們知道,云計算,就是利用大量服務器的有機堆疊,集合,來實現大運算量,大存儲量,大吞吐量的服務能力,它的主攻方向是“大”不是“小”。而使用虛擬技術,再在云計算平臺上,虛擬出一臺臺小的PC機或其他計算機來玩,除了滿足終端用戶的使用習慣外,我看不出任何好處。
明明有3G的CPU頻率,卻偏偏要去虛擬1G的CPU,明明8G的內存,每個用戶的應用程序只能用1G,明明上T的硬盤,每個用戶只能用500M,這叫做倒退,而不是進步。
我們知道,計算的發展方向,一定是整合資源,通過動態負載均衡,將暫時用不到的資源,臨時借用給loading高的應用需求,這才體現云計算的優勢,即在一定范圍內,通過資源的靈活分配和調度,使
每個用戶仿佛都具有極大的計算資源,滿足其需求。而不是把本來很大的資源,硬性地切成一小塊一小塊,再回到過去,單機的處理能力。
嗯,可能好的虛擬機算法,可以解決虛擬機之間的資源調度,我不排除這種可能,但是,這種基于通用需求的調度算法,看不見用戶實際需求方向的優化,能起多大作用,我不清楚。
簡單說,云計算,我認為中心思想是節約,利用有限的資源,為每個客戶都提供盡可能大的計算服務,而不是簡單地購買一大批計算機,或者虛擬一大批普通PC機,租給客戶用,要知道,云計算幾年的
租金下來,比買臺PC機并不便宜,甚至更貴。使用中至少多了很多網絡傳輸的費用,用戶的個人計算機,一個計算在總線內完成,起碼不用網絡傳來傳去吧。那是要錢的。
【編輯推薦】