2021-02-02 分類: 網(wǎng)站建設(shè)
什么是漫談云計算、虛擬化、容器化
云計算是最近幾年才興起的概念,但是這樣的需求其實早都有了,現(xiàn)階段廣為接受的是美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)定義:云計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問, 進入可配置的計算資源共享池(資源包括網(wǎng)絡(luò),服務(wù)器,存儲,應(yīng)用軟件,服務(wù)),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進行很少的交互。
云計算最基本的特性是:“按使用量付費”、“資源共享池”和多租戶隔離。
1.2 云計算特點
超大規(guī)模
云具有相當(dāng)?shù)囊?guī)模,Google 云計算已經(jīng)擁有 100 多萬臺服務(wù)器, Amazon、IBM、微軟、Yahoo 等的云均擁有幾十萬臺服務(wù)器。企業(yè)私有云一般擁有數(shù)百上千臺服務(wù)器。云能賦予用戶前所未有的計算能力。
虛擬化
云計算支持用戶在任意位置、使用各種終端獲取應(yīng)用服務(wù)。所請求的資源來自云,而不是固定的有形的實體。應(yīng)用在云中某處運行,但實際上用戶無需了解、也不用擔(dān)心應(yīng)用運行的具體位置。只需要一臺筆記本或者一個手機,就可以通過網(wǎng)絡(luò)服務(wù)來實現(xiàn)我們需要的一切,甚至包括超級計算這樣的任務(wù)。
高可靠性
云使用了數(shù)據(jù)多副本容錯、計算節(jié)點同構(gòu)可互換等措施來保障服務(wù)的高可靠性,使用云計算比使用本地計算機可靠。
通用性
云計算不針對特定的應(yīng)用,在云的支撐下可以構(gòu)造出千變?nèi)f化的應(yīng)用,同一個云可以同時支撐不同的應(yīng)用運行。
高可擴展性
云的規(guī)??梢詣討B(tài)伸縮,滿足應(yīng)用和用戶規(guī)模增長的需要。
按需服務(wù)
云是一個龐大的資源池,你按需購買;云可以像自來水,電,煤氣那樣計費。
極其廉價
由于云的特殊容錯措施可以采用極其廉價的節(jié)點來構(gòu)成云,云的自動化集中式管理使大量企業(yè)無需負擔(dān)日益高昂的數(shù)據(jù)中心管理成本,云的通用性使資源的利用率較之傳統(tǒng)系統(tǒng)大幅提升,因此用戶可以充分享受云的低成本優(yōu)勢,經(jīng)常只要花費幾百美元、幾天時間就能完成以前需要數(shù)萬美元、數(shù)月時間才能完成的任務(wù)。
潛在的危險性
云計算服務(wù)除了提供計算服務(wù)外,還必然提供了存儲服務(wù)。但是云計算服務(wù)當(dāng)前壟斷在私人機構(gòu)(企業(yè))手中,而他們僅僅能夠提供商業(yè)信用。對于政府機構(gòu)、商業(yè)機構(gòu)(特別像銀行這樣持有敏感數(shù)據(jù)的商業(yè)機構(gòu))對于選擇云計算服務(wù)應(yīng)保持足夠的警惕。一旦商業(yè)用戶大規(guī)模使用私人機構(gòu)提供的云計算服務(wù),無論其技術(shù)優(yōu)勢有多強,都不可避免地讓這些私人機構(gòu)以數(shù)據(jù)(信息)的重要性挾制整個社會。
對于信息社會而言,信息是至關(guān)重要的。另一方面,云計算中的數(shù)據(jù)對于數(shù)據(jù)所有者以外的其他用戶云計算用戶是保密的,但是對于提供云計算的商業(yè)機構(gòu)而言確實毫無秘密可言。所有這些潛在的危險,是商業(yè)機構(gòu)和政府機構(gòu)選擇云計算服務(wù)、特別是國外機構(gòu)提供的云計算服務(wù)時,不得不考慮的一個重要的前提。
1.3 云計算分類
公有云:只有使用權(quán),使用的時候進行按需付費。但數(shù)據(jù)放在別人家。數(shù)據(jù)安全沒有保障。而且銀行不會使用公有云,金融行業(yè)不要使用公有云。公有云的核心屬性是共享資源服務(wù)。
私有云:自己的機房搭建的云,私有云有局限性,資源固定;數(shù)據(jù)比較安全。私有云的核心屬性是專有資源。
混合云:主要任務(wù)放到私有云,臨時需要時利用混合云,它將公有云和私有云進行混合匹配,以獲得好的效果,這種個性的解決方案,達到二既省錢又安全的目的。
1.4 云計算分層
云計算也是層的,大概有以下幾種:
傳統(tǒng) IT
基本所有的都需要自行管理,比如:網(wǎng)絡(luò)、存儲、服務(wù)器、虛擬化,操作系統(tǒng)、中間件、運行環(huán)境、數(shù)據(jù)、應(yīng)用等。
IaaS
IaaS,Infrastructure-as-a-Service 中文名稱為基礎(chǔ)設(shè)施即服務(wù)。 主要作用是提供虛擬機或者其他資源作為服務(wù)提供給用戶。
PaaS
PaaS,Platform-as-a-Service 中文名稱為平臺即服務(wù)。如果以傳統(tǒng)計算機架構(gòu)中 “硬件+操作系統(tǒng)/開發(fā)工具+應(yīng)用軟件” 的觀點來看待,那么云計算的平臺層應(yīng)該提供類似操作系統(tǒng)和開發(fā)工具的功能。
實際上也的確如此,PaaS 定位于通過互聯(lián)網(wǎng)為用戶提供一整套開發(fā)、運行和運行應(yīng)用軟件的支撐平臺。就像在個人計算機軟件開發(fā)模式下,程序員可能會在一臺裝有 Windows 或 Linux 操作系統(tǒng)的計算機上使用開發(fā)工具開發(fā)并部署應(yīng)用軟件一樣。PaaS 某些時候也叫做中間件,主要作用是提供一個開發(fā)和運行平臺給用戶。
saas
saas,Software-as-a-Service 中文名稱為軟件即服務(wù)。簡單地說,就是一種通過互聯(lián)網(wǎng)提供軟件服務(wù)的軟件應(yīng)用模式。在這種模式下,用戶不需要再花費大量投資用于硬件、軟件和開發(fā)團隊的建設(shè),只需要支付一定的租賃費用,就可以通過互聯(lián)網(wǎng)享受到相應(yīng)的服務(wù),而且整個系統(tǒng)的維護也由廠商負責(zé)。
如果要用一句話來概括 IaaS、PaaS 和 saas 的話,那就是:如果把云計算比喻成一部手機,那么 IaaS 就是硬件,你要自己寫代碼研發(fā)系統(tǒng)才能用;PaaS 是手機系統(tǒng),你要實現(xiàn)什么功能還是要裝各種軟件;saas 就是硬件+系統(tǒng)+軟件,你要干什么一句話就能解決。
什么是虛擬化?
2.1 虛擬化概念
虛擬化是通過軟件手段對計算機硬件資源鏡像整合管理和再分配的一種技術(shù),常用的手段有基于虛擬機的虛擬化和基于容器的虛擬化。
2.2 虛擬化技術(shù)分類
2.2.1 按應(yīng)用場景分類
2.2.2 按照應(yīng)用模式分類
2.2.3 按硬件資源調(diào)用模式分類
全虛擬化
全虛擬化,虛擬化操作系統(tǒng)與底層硬件完全隔離。由中間的 Hypervisor 層轉(zhuǎn)化虛擬化客戶操作系統(tǒng)對底層硬件的調(diào)用代碼,全虛擬化無需更改客戶端操作系統(tǒng),并兼容性好。典型代表有:Vmware Workstation、KVM。
半虛擬化
半虛擬化,在虛擬客戶操作系統(tǒng)中加入特定的虛擬化指令,通過這些指令可以直接通過 Hypervisor 層調(diào)用硬件資源,免除有 Hypervisor 層轉(zhuǎn)換指令的性能開銷。半虛擬化的典型代表 Microsoft Hyper-V、Vmware 的 vSphere。
注:針對 IO 層面半虛擬化要比全虛擬化要好,因為磁盤 IO 多一層必定會慢。一般說 IO 就是網(wǎng)絡(luò) IO 和磁盤 IO,因為這兩個相對而言是比較慢的。
2.3 基于虛擬機(Hypervisor-based)的虛擬化
它通過一個軟件層的封裝,提供和物理硬件相同的輸入輸出表現(xiàn)。實現(xiàn)了操作系統(tǒng)和計算機硬件的解耦,將 OS 和計算機間從 1 對 1 變成了多對多(實際上是 1 對多)的關(guān)系。該軟件層稱為虛擬機管理器(VMM / Hypervisor),它可以直接運行在裸機上(Xen、VMware EXSi),也可以運行在操作系統(tǒng)上(KVM、VMware Workstation)。這項技術(shù)已經(jīng)很成熟了,(發(fā)展了40 多年),但仍然存在以下幾個問題:
實際使用場景中,我們使用虛擬化技術(shù)其實是為了按需分配資源來完成服務(wù)的部署和使用,同時對服務(wù)所依賴的環(huán)境進行隔離,不被其它服務(wù)感知或干擾。為此啟動一個 GuestOS 并不是必需的,為什么不考慮讓多個虛擬機公用一個操作系統(tǒng)內(nèi)核,只隔離開服務(wù)運行環(huán)境同時控制服務(wù)使用的系統(tǒng)資源呢?基于容器的虛擬化就是這樣一種技術(shù)。
2.4 基于容器的虛擬化
容器是沒有 GuestOS 的輕量級虛擬機,多個容器共享一個 OS 內(nèi)核,容器中包含需要部署的應(yīng)用和它依賴的系統(tǒng)環(huán)境,容器大小通常只有幾十到幾百 MB。由于共享操作系統(tǒng)內(nèi)核,所以容器依賴于底層的操作系統(tǒng),各個操作系統(tǒng)大都有自己的容器技術(shù)和容器工具。
Docker 是一個 Linux 容器管理工具,隨著 Docker 的興起,Linux 容器技術(shù)也是當(dāng)下最時興的容器虛擬化技術(shù)。Linux 容器工具有很多,OpenVZ、LXC、Docker、Rocket、Lmctfy 等等,大都是基于 Linux 內(nèi)核提供的兩個機制:Cgroups(實現(xiàn)資源按需分配)和 Namespace(實現(xiàn)任務(wù)隔離)。
2.5 二種虛擬化技術(shù)的區(qū)別
虛擬機技術(shù)已經(jīng)發(fā)展了很多年,虛擬機和虛擬化層間的接口、虛擬機鏡像格式等都已經(jīng)標(biāo)準(zhǔn)化了。相應(yīng)的管理工具、分布式集群管理工具都有比較完善的解決方案,而容器最近幾年才興起,配套技術(shù)和標(biāo)準(zhǔn)還在完善中;
虛擬機由于有 GuestOS 存在,可以和宿主機運行不同 OS,而容器只能支持和宿主機內(nèi)核相同的操作系統(tǒng);
虛擬機由于有 VMM 的存在,虛擬機之間、虛擬機和宿主機之間隔離性很好。而容器之間公用宿主機的內(nèi)核,共享系統(tǒng)調(diào)用和一些底層的庫,隔離性相對較差;
容器比虛擬機明顯更輕量級,對宿主機操作系統(tǒng)而言,容器就跟一個進程差不多。因此容器有著更快的啟動速度(秒級甚至更快),更高密度的存儲和使用(鏡像小)、更方便的集群管理等優(yōu)點。同時由于沒有 GuestOS 存在,在容器中運行應(yīng)用和直接在宿主機上幾乎沒有性能損失,比虛擬機明顯性能上有優(yōu)勢。
云計算和虛擬化差別
對云計算和虛擬化差別的描述,有一句經(jīng)典的話:虛擬化是云計算構(gòu)建資源池的一個主要方式。只要這句話你理解透了就知道他倆的關(guān)系了。
簡單來說,云計算是一個概念,而不是具體技術(shù)。虛擬化是一種具體技術(shù),指把硬件資源虛擬化,實現(xiàn)隔離性、可擴展性、安全性、資源可充分利用等特點的產(chǎn)品。
目前云計算,大多是依賴虛擬化,通過把多臺服務(wù)器實體虛擬化后,構(gòu)成一個資源池,實現(xiàn)共同計算,共享資源。也就是現(xiàn)在所謂云計算,其實這個詞提出來之前,過去的服務(wù)器集群就已經(jīng)實現(xiàn)這些功能了,只不過沒有現(xiàn)在那么先進而已。
3.1 各領(lǐng)域代表的產(chǎn)品
云計算架構(gòu)的開源產(chǎn)品是 OpenStack,OpenStack 是一個由 NASA 和 Rackspace 合作研發(fā)并發(fā)起的,以 Apache 許可證授權(quán)的自由軟件和開放源代碼項目。
3.2 OpenStack
Openstack 是眾多技術(shù)的組合體,有涉及網(wǎng)絡(luò)組件的 Neutron,有涉及 Dashboard 的 Horizon,也有涉及計算資源分配的 Nova。
虛擬化技術(shù)只是其中一個涉及到資源池構(gòu)建的方式。當(dāng)然你也可以用其它方式構(gòu)建資源池,比如物理機還有容器。
Openstack 經(jīng)過幾年十幾個版本的更迭,已經(jīng)擁有了 Keystone、Nova、Neutron、Cinder、Glance、Swift、Heat、Ceilometer 等等組件,比較完整的提供了一個云平臺應(yīng)有的各個模塊。
3.3 在云計算中,不同層的選型
選取基于虛擬機的虛擬化呢,還是基于容器的虛擬化。早期由于容器技術(shù)的不完善,云計算只有虛擬機這一種選擇。
隨著現(xiàn)在容器技術(shù)興起,基于容器的虛擬化性能更高,交付速度快,方便管理,而且資源利用率高,看起來是比虛擬機更好的方案。但是它現(xiàn)有的兩個比較大的缺點(隔離性不夠強、操作系統(tǒng)依賴性)讓他無法完全替代 VM,對于 saas 用戶和部分 PaaS 用戶而言這兩個缺點可能不那么明顯。現(xiàn)階段 Container 和云計算主要結(jié)合的場景也是在 saas 和 PaaS 中,事實上大多數(shù) saas 和 PaaS 服務(wù)提供商都使用了容器技術(shù)。
但是對于 IaaS 的用戶來說,他們租用的是基礎(chǔ)設(shè)施。上面承載著他們自己運行的系統(tǒng)和服務(wù),隔離性不強意味著安全性和可信性不高。在這種情況下大客戶們,肯定是不放心的。同時操作系統(tǒng)依賴性也是限制 Container 在 IaaS 層應(yīng)用的一個主要問題,也是絕大多數(shù)解決方案都是將Container 運行在 VM 上的原因,這樣 Container 性能好的優(yōu)勢實際上在云上根本發(fā)揮不出來,優(yōu)點只有啟動快了。
本文標(biāo)題:漫談云計算、虛擬化、容器化
文章地址:http://m.rwnh.cn/news39/98689.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、移動網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、App設(shè)計、微信公眾號、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容