新聞中心
“云計算”和“虛擬化”的區(qū)別
作者:知乎網(wǎng)友/整理 2017-04-01 09:32:58
云計算 所有你搞不懂的技術(shù)術(shù)語、專有名詞背后,都會有一個不是技術(shù)領(lǐng)域的需求,這個需求才是你需要首先了解的“根本性需求”,而只有你認(rèn)識到這些“非技術(shù)領(lǐng)域”的問題(或者叫需求),才能算是對這個領(lǐng)域真正開始入門了。

我們平時一直在口頭談起的“云計算”和“虛擬化”究竟指的是什么呢?
簡單來說,云計算是一個概念,而不是具體技術(shù)。虛擬化是一種具體技術(shù),指把硬件資源虛擬化,實現(xiàn)隔離性、可擴(kuò)展性、安全性、資源可充分利用等特點的產(chǎn)品。
CPU虛擬化的技術(shù)包括Intel的VT-x,AMD的AMD-V。虛擬化的軟件有VMWare,Hyper-V,Xen,KVM,OpenVZ等
目前云計算,大多是依賴虛擬化,通過把多臺服務(wù)器實體虛擬化后,構(gòu)成一個資源池,實現(xiàn)共同計算,共享資源。也就是現(xiàn)在所謂“云計算”,其實這個詞提出來之前,過去的“服務(wù)器集群”就已經(jīng)實現(xiàn)這些功能了,只不過沒有現(xiàn)在那么先進(jìn)而已。
那么,虛擬化技術(shù)與現(xiàn)流行的大數(shù)據(jù)Hadoop技術(shù)有什么區(qū)別,解決的是一類問題么?
虛擬化主要解決資源利用率,資源提供的自動擴(kuò)展。有服務(wù)器(compute)虛擬化(kvm/xen/lxc等),存儲虛擬化,網(wǎng)絡(luò)虛擬化。原來的數(shù)據(jù)中心服務(wù)器整合就利用了大量的虛擬化?,F(xiàn)在的云計算模式也以虛擬化技術(shù)為基礎(chǔ),特別是IAAS層。但云計算本質(zhì)是效用計算,按需付費(fèi),因此SAAS也可以不基于虛擬化來實現(xiàn)。
Hadoop就是用來解決google類似的大數(shù)據(jù)的分析引入的計算框架。(mapreduce和分布式存儲)。你可以把這些東西放在虛擬化環(huán)境里的。
虛擬化技術(shù)是否都適用于并行計算,分布式大數(shù)據(jù)存儲和檢索?
這里得區(qū)分是“什么的”虛擬化。如上,有服務(wù)器虛擬化,存儲虛擬化,網(wǎng)絡(luò)虛擬化?,F(xiàn)在流行軟件定義網(wǎng)絡(luò),軟件定義存儲,廣義的說,這也算是虛擬化技術(shù)的應(yīng)用。
并行計算是一種計算模式??梢曰谔摂M化技術(shù)來實現(xiàn)。lerlang就是采用vm的方式來表示多進(jìn)程。但是也可以在硬件上實現(xiàn)。
虛擬化技術(shù)和云計算這兩個概念對應(yīng)的現(xiàn)實環(huán)境中的問題是不同的。
虛擬化技術(shù)(尤其是桌面虛擬化),主要的目的是:
提高硬件資源的利用率。
提高運(yùn)維、管理的效率。
云計算(尤其是Hadoop)的主要目的是:
在合理的時間內(nèi),對海量的數(shù)據(jù)進(jìn)行分析,找出背后的規(guī)律和趨勢。
對于這種概念,最忌諱的就是死記硬背,因為那樣你很快就會被一堆的專有名詞、英文縮寫所淹沒。
云計算是一種服務(wù);虛擬化和分布式系統(tǒng)都是用來實現(xiàn)云計算的關(guān)鍵技術(shù)之一。
云計算通常可能從兩個方面理解:
一是將IT作為一種服務(wù)的業(yè)務(wù)模式,如AWS、阿里云,其目標(biāo)是讓IT未來像水和電一樣隨時隨地、簡單方便的使用,并按使用量收費(fèi);
二是IT自身的一種演進(jìn)和優(yōu)化,其目標(biāo)是提高效率和降低成本,或者說用一種成本可接受的方式解決越來越復(fù)雜的業(yè)務(wù)問題,例如海量數(shù)據(jù)的存儲和分析、超高并發(fā)訪問(如雙11或12306)等。
云計算可以理解為一種租借式的服務(wù),即你可以對IT系統(tǒng)內(nèi)部的原理什么都不懂,也不需要買到手,但是隨時可以使用公共的IT資源為自己服務(wù),比如baidu,比如QQ,比如163郵箱。
虛擬化作為一種技術(shù),可以幫助云計算實現(xiàn)以上目標(biāo):資源分配更加靈活、資源利用率更高。同時技術(shù)成熟、對上層應(yīng)用也基本不影響,因此被廣泛使用,甚至在很多時候虛擬化成為了云計算的代名詞。
簡單講解之后,下面我們來深入了解一下云計算:
云計算 (cloud computing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法。過去在圖中往往用云來表示電信網(wǎng),后來也用來表示互聯(lián)網(wǎng)和底層基礎(chǔ)設(shè)施的抽象。因此,云計算甚至可以讓你體驗每秒10萬億次的運(yùn)算能力,擁有這么強(qiáng)大的計算能力可以模擬核爆炸、預(yù)測氣候變化和市場發(fā)展趨勢。用戶通過電腦、筆記本、手機(jī)等方式接入數(shù)據(jù)中心,按自己的需求進(jìn)行運(yùn)算。
云計算的特點:
(1) 超大規(guī)模
“云”具有相當(dāng)?shù)囊?guī)模,Google云計算已經(jīng)擁有100多萬臺服務(wù)器, Amazon、IBM、微軟、Yahoo等的“云”均擁有幾十萬臺服務(wù)器。企業(yè)私有云一般擁有數(shù)百上千臺服務(wù)器?!霸啤蹦苜x予用戶***的計算能力。
(2) 虛擬化
云計算支持用戶在任意位置、使用各種終端獲取應(yīng)用服務(wù)。所請求的資源來自“云”,而不是固定的有形的實體。應(yīng)用在“云”中某處運(yùn)行,但實際上用戶無需了解、也不用擔(dān)心應(yīng)用運(yùn)行的具體位置。只需要一臺筆記本或者一個手機(jī),就可以通過網(wǎng)絡(luò)服務(wù)來實現(xiàn)我們需要的一切,甚至包括超級計算這樣的任務(wù)。
(3) 高可靠性
“云”使用了數(shù)據(jù)多副本容錯、計算節(jié)點同構(gòu)可互換等措施來保障服務(wù)的高可靠性,使用云計算比使用本地計算機(jī)可靠。
(4) 通用性
云計算不針對特定的應(yīng)用,在“云”的支撐下可以構(gòu)造出千變?nèi)f化的應(yīng)用,同一個“云”可以同時支撐不同的應(yīng)用運(yùn)行。
(5) 高可擴(kuò)展性
“云”的規(guī)??梢詣討B(tài)伸縮,滿足應(yīng)用和用戶規(guī)模增長的需要。
(6) 按需服務(wù)
“云”是一個龐大的資源池,你按需購買;云可以像自來水,電,煤氣那樣計費(fèi)。
(7) 極其廉價
由于“云”的特殊容錯措施可以采用極其廉價的節(jié)點來構(gòu)成云,“云”的自動化集中式管理使大量企業(yè)無需負(fù)擔(dān)日益高昂的數(shù)據(jù)中心管理成本,“云”的通用性使資源的利用率較之傳統(tǒng)系統(tǒng)大幅提升,因此用戶可以充分享受“云”的低成本優(yōu)勢,經(jīng)常只要花費(fèi)幾百美元、幾天時間就能完成以前需要數(shù)萬美元、數(shù)月時間才能完成的任務(wù)。
云計算可以徹底改變?nèi)藗兾磥淼纳?,但同時也要重視環(huán)境問題,這樣才能真正為人類進(jìn)步做貢獻(xiàn),而不是簡單的技術(shù)提升。
(8) 潛在的危險性
云計算服務(wù)除了提供計算服務(wù)外,還必然提供了存儲服務(wù)。但是云計算服務(wù)當(dāng)前壟斷在私人機(jī)構(gòu)(企業(yè))手中,而他們僅僅能夠提供商業(yè)信用。對于政府機(jī)構(gòu)、商業(yè)機(jī)構(gòu)(特別像銀行這樣持有敏感數(shù)據(jù)的商業(yè)機(jī)構(gòu))對于選擇云計算服務(wù)應(yīng)保持足夠的警惕。一旦商業(yè)用戶大規(guī)模使用私人機(jī)構(gòu)提供的云計算服務(wù),無論其技術(shù)優(yōu)勢有多強(qiáng),都不可避免地讓這些私人機(jī)構(gòu)以“數(shù)據(jù)(信息)”的重要性挾制整個社會。對于信息社會而言,“信息”是至關(guān)重要的。另一方面,云計算中的數(shù)據(jù)對于數(shù)據(jù)所有者以外的其他用戶云計算用戶是保密的,但是對于提供云計算的商業(yè)機(jī)構(gòu)而言確實毫無秘密可言。所有這些潛在的危險,是商業(yè)機(jī)構(gòu)和政府機(jī)構(gòu)選擇云計算服務(wù)、特別是國外機(jī)構(gòu)提供的云計算服務(wù)時,不得不考慮的一個重要的前提。
講完了云計算,我們再來好好說說虛擬化。
虛擬化是指通過虛擬化技術(shù)將一臺計算機(jī)虛擬為多臺邏輯計算機(jī)。在一臺計算機(jī)上同時運(yùn)行多個邏輯計算機(jī),每個邏輯計算機(jī)可運(yùn)行不同的操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計算機(jī)的工作效率。
虛擬化使用軟件的方法重新定義劃分IT資源,可以實現(xiàn)IT資源的動態(tài)分配、靈活調(diào)度、跨域共享,提高IT資源利用率,使IT資源能夠真正成為社會基礎(chǔ)設(shè)施,服務(wù)于各行各業(yè)中靈活多變的應(yīng)用需求。
它是一個廣義的術(shù)語,是指計算元件在虛擬的基礎(chǔ)上而不是真實的基礎(chǔ)上運(yùn)行,是一個為了簡化管理,優(yōu)化資源的解決方案。如同空曠、通透的寫字樓,整個樓層沒有固定的墻壁,用戶可以用同樣的成本構(gòu)建出更加自主適用的辦公空間,進(jìn)而節(jié)省成本,發(fā)揮空間***利用率。這種把有限的固定的資源根據(jù)不同需求進(jìn)行重新規(guī)劃以達(dá)到***利用率的思路,在IT領(lǐng)域就叫做虛擬化技術(shù)。
虛擬化技術(shù)可以擴(kuò)大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術(shù)可以單CPU模擬多CPU并行,允許一個平臺同時運(yùn)行多個操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計算機(jī)的工作效率。
虛擬化技術(shù)與多任務(wù)以及超線程技術(shù)是完全不同的。多任務(wù)是指在一個操作系統(tǒng)中多個程序同時并行運(yùn)行,而在虛擬化技術(shù)中,則可以同時運(yùn)行多個操作系統(tǒng),而且每一個操作系統(tǒng)中都有多個程序運(yùn)行,每一個操作系統(tǒng)都運(yùn)行在一個虛擬的CPU或者是虛擬主機(jī)上;而超線程技術(shù)只是單CPU模擬雙CPU來平衡程序運(yùn)行性能,這兩個模擬出來的CPU是不能分離的,只能協(xié)同工作。
目前來講虛擬化主要常用兩個核心技術(shù):服務(wù)器虛擬化,與應(yīng)用虛擬化。
目前來講分布式系統(tǒng)主要用到的兩個核心技術(shù):分布式存儲,與分布式計算。
我認(rèn)為對虛擬化技術(shù)***的定義就是可以讓IT系統(tǒng)的物理拓?fù)鋱D與邏輯拓?fù)鋱D無關(guān),即解耦。
我們暫時以商用虛擬化系統(tǒng)vmware舉例
為了實現(xiàn)拓?fù)浣怦?,它做?**點就是讓一臺機(jī)器可以同時跑多個操作系統(tǒng),即虛擬機(jī),而且虛擬機(jī)還可以在物理機(jī)間來回轉(zhuǎn)移,高可用,這樣我們的操作系統(tǒng)就從物理機(jī)上徹底解放出來了,你可以把同一個虛擬機(jī)隨時放到其他物理機(jī)上,實現(xiàn)了對硬件的高效資源利用,和系統(tǒng)的高度靈活,解除了大量人工勞動,便于實現(xiàn)大規(guī)模系統(tǒng)的方便管理,這種就是服務(wù)器虛擬化(vSphere)。
光系統(tǒng)分開還不行,你有時還需要各種方式訪問虛擬機(jī)系統(tǒng),于是你就會是用遠(yuǎn)程桌面等方式去訪問這些后臺的虛擬機(jī),這種就是應(yīng)用虛擬化(view)。
當(dāng)然還有網(wǎng)絡(luò)虛擬化,存儲虛擬化等各種其他虛擬化技術(shù)正在慢慢成長,不過相對于前兩者無論是商用還是開源,都還不太成熟,暫不討論。
我認(rèn)為對分布式系統(tǒng)比較合適的定義是把所有IT資源看成為一個整體來使用,而不是去獨(dú)立的看某個機(jī)器某個系統(tǒng),即資源池。
我們暫時以開源Hadoop為例
為實現(xiàn)將IT資源變成整體,它要做到的***點就是將一個巨大的文件拆開放在多個地方,你可以用一大堆很普通的計算機(jī)用網(wǎng)絡(luò)連在用來存放這一個巨型文件,這樣即使很多很小硬盤的機(jī)器也可以通過連在一起當(dāng)成一個很大的存儲空間來用,這種就是分布式存儲(HDFS)。
光文件存放合在一起不行,計算能力也要合在一起,所以它還要滿足一個任務(wù)分給多個物理機(jī)來處理,這樣即便一堆老破電腦,通過這種方式連在一起,只要足夠多,也能當(dāng)超級計算機(jī)用,這種就使分布式計算(MapReduce)。
當(dāng)然Hbase等其他的技術(shù)也在逐漸成熟,總的來講都是為了解決建立巨型資源池需要的技術(shù)。
由此可以看出虛擬化主要是把大塊拆成小塊兒,分布式系統(tǒng)主要是把小塊組合成大塊兒,IT資源經(jīng)過這樣的揉碎再組合,變成了一個十分靈活的系統(tǒng),在這幾個基本技術(shù)的基礎(chǔ)上,在通過某種調(diào)度和經(jīng)營,就可以實現(xiàn)云計算的服務(wù)模式了。
***說句題外話,基本上所有你搞不懂的技術(shù)術(shù)語、專有名詞背后,都會有一個不是技術(shù)領(lǐng)域的需求,這個需求才是你需要首先了解的“根本性需求”,而只有你認(rèn)識到這些“非技術(shù)領(lǐng)域”的問題(或者叫需求),才能算是對這個領(lǐng)域真正開始入門了。執(zhí)著于純技術(shù)層面,其實無法真正的解決問題。
文章標(biāo)題:“云計算”和“虛擬化”的區(qū)別
網(wǎng)站URL:http://fisionsoft.com.cn/article/cddgpcg.html


咨詢
建站咨詢
