幾個關於雲端計算,想問又不好意思提的問題(一)

tigerhsiao發表於2010-01-11
【本文原發表於2010年1月份的軟體世界雜誌】
一如前幾年曾引領風騷的 IT 趨勢,如 SOA,SaaS,對很多業內的人來說,對雲端計算的心情,就像那句多年前臺灣流行的電視廣告詞,還停留在 “...像戀愛,既期待,又怕受傷害” 的階段。

一年多下來,在許多雲端計算的大會和客戶交流中,見過一些很有趣的問題。而這些看似根本、卻很關鍵的問題,在各個廠家各說各話的演講中,往往不是被忽視,就是被預設為理應知道的基礎常識。目前多數關於雲端計算的文章和演講,往往談的仍是比較理想化的概念;而一些答疑的文章中,雖然也已經有諸如“雲端計算的十大誤區”和“十五種辨別偽雲端計算的方式”之類比較有名的文章,但這類文章,一是翻譯自國外,其客觀環境和上下文與國內仍有區別,加上側重點和對雲端計算的定義較為狹隘,因此幫助恐怕有限。個人相信,如果將這些國內使用者的問答整理出來,將對於眾多正在思索/規劃採用雲端計算的企業來說,多少會有些幫助。這些問題中,又以和虛擬化技術相關的最多。我們知道,雲端計算不是個單一的“科技”,而是多個先前貌似獨立的幾個趨勢和科技的演進和融合,包括虛擬化、IT 外包、SaaS、資料中心管理自動化、SOA、Web 2.0、伺服器硬體商品化、效用計算、分散式計算,網格計算。以下借用“百度知道”的問答形式,把這些很多人好奇的問題,寫成幾個容易消化的小塊。

【待解決】
雲端計算所採用的虛擬化技術,是不是能將幾臺小的伺服器的CPU、記憶體,相互共享和利用,組成一個計算能力更強的虛擬大機?

【回答】
不是的,目前的技術達不到這樣(或說,近年來的科技發展也沒朝這個方向走),例如讓一個單程式的應用,直接取用多臺機器上集中共享的CPU和記憶體。

這個耐人尋味的問題,背後其實藏有很深層的意義。之所以會產生這樣的疑問,很可能是長期受超級計算機的思維模式所主宰。整個二十世紀的後半,西方科研一直是醉心於如何建立更大,速度更快,成本更低,更牛的超級計算機,來從事更大規模的模擬計算。關注焦點一直集中在計算能力上。但我們知道,幾年前在CPU主頻的技術提升上,因為散熱處理的問題,已經正式“撞牆”,無法繼續不斷快速向上走,而改採多核並行,橫向擴充套件的成長方式。這迫使著應用軟體設計者,必須開始放棄單程式,仰賴摩爾定律不斷提升CPU主頻計算速度和記憶體空間來擴充套件的傳統應用架構,轉而思索如何利用多執行緒,分散式,網格,平行計算的方式,才能將這些多核CPU和多臺叢集伺服器的資源充分利用。十年來Java EE、.NET,和稍後Web services的普及,現在重要的企業應用大多已經轉到多執行緒分散式計算的架構上了。

雲端計算虛擬化的執行和管理模式,採取的方式正是將多臺多核伺服器集聯成一個或數個虛擬的大資源池,根據每臺伺服器的處理能力,在每臺機器上啟動、執行若干個虛擬機器的映象(將作業系統及其之上所有需要的程式、應用程式、軟體庫、資料庫、配置檔案,都打包進一個大的磁碟映象檔案),並且集中監控管理這些虛擬機器的執行,動態在資源池上增減、備份,移動虛擬機器例項,來滿足高可擴充套件性、可伸縮性,和高可用性的要求。

另一個現實問題是,近幾年以來網路硬體頻寬的提升,趕不上網際網路和科研模擬資料量爆炸性的增長速度。舉個例子,在都是千兆網路卡的區域網環境下,兩臺機器間一天二十四小時最多隻能單向傳輸5個多T的資料量,在許多業務場景的要求下遠遠不足。因此原有的模式和架構受到很大的挑戰,只有跳脫並轉換到另一種新的模式 (paradigm shift),才有希望帶來更好的解決方案。

正巧,最近微軟研究院為了紀念一位三年前不幸在海上失蹤的研究同仁,吉姆·格雷 (Jim Gray) 博士和他的貢獻,剛在網站出版了一套論文集。格雷博士把他的主張稱作“第四種模式” (The Fourth Paradigm)。他觀察並總結人類自古以來,在科學研究上,歷經了實驗(數千年前-描述自然現象)、理論(近幾百年-建立模型,概論),計算(近幾十年-對複雜的現象進行計算機模擬模擬)三種模式;當資料量不斷累積和暴增到今天,需要採取第四種模式-資料探索型:分佈於網際網路各地的科研資料,能被更高效地彙集,整理,統計,分析,共享,和歸檔。已經被某些科學家統計、總結和發表的論文資料,可以被其他科學家自由地反向鑽探、重組,再利用。這需要從以計算為中心,轉到以資料處理為中心的模式。

格雷博士的論點,和雲端計算的出現,以及 Google 之所以能崛起,其背後所仰賴的核心技術實力,不謀而合。在資料儲存和處理上,雲端計算的主張是,由於網際網路行業資料量巨大,使用者每天仍不斷快速製造新資料,早已沒有任何單一儲存能夠容納得下一份完整的資料(就算有,其費用和代價往往過於昂貴),因此必須採取分割槽分佈儲存的策略;加上網路傳輸速度無法同步趕上,資料分析和挖掘的工作,也必須以資料為中心,直接在各區資料所在的本地伺服器上進行,再將沉澱出的精華匯聚起來,因而有了所謂的 MapReduce 等技術的出現。比較形象的說法,是“移動計算比移動資料的開銷更低”,還有“把計算挪到資料所在地”,顛覆了過去把資料先彙集到超級計算中心再處理的方式。


本文僅代表作者個人觀點,與甲骨文公司無關。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16186206/viewspace-624841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章