2022-10-07 分類(lèi): 網(wǎng)站建設(shè)
在傳統(tǒng)的IT架構(gòu)中,操作系統(tǒng)扮演著管理計(jì)算機(jī)硬件與軟件資源的重要角色;而隨著IT架構(gòu)進(jìn)入云計(jì)算時(shí)代,其所需要的也是對(duì)應(yīng)的“云操作系統(tǒng)”。以虛擬化及容器為代表的云基礎(chǔ)軟件負(fù)責(zé)對(duì)數(shù)據(jù)中心存算資源進(jìn)行高效的調(diào)配管理,并合理分配給上層應(yīng)用,實(shí)現(xiàn)“軟件定義數(shù)據(jù)中心”,成為云計(jì)算時(shí)代重要的基礎(chǔ)設(shè)施。
在全球云基礎(chǔ)軟件的發(fā)展歷程中,誕生了VMWare、RedHat等一眾云基礎(chǔ)軟件巨頭,也孕育出了OpenStack、Kubernetes等行業(yè)標(biāo)準(zhǔn)級(jí)別的全球開(kāi)源項(xiàng)目。而隨著中國(guó)政企上云趨勢(shì)的推進(jìn),我們認(rèn)為云端國(guó)產(chǎn)化將快速進(jìn)展,云基礎(chǔ)軟件在中國(guó)將迎來(lái)新時(shí)代的新機(jī)遇。
從服務(wù)器虛擬化到容器虛擬化,云基礎(chǔ)軟件持續(xù)演進(jìn)。虛擬化與容器是兩個(gè)典型的云基礎(chǔ)軟件,虛擬化是利用軟件重新定義劃分底層硬件資源的技術(shù),面向資源層,優(yōu)化資源供給模式;容器是操作系統(tǒng)層級(jí)的虛擬化,面向應(yīng)用層,變革應(yīng)用及業(yè)務(wù)架構(gòu),而當(dāng)前的技術(shù)趨勢(shì)仍是虛擬化與容器技術(shù)的結(jié)合發(fā)展。OpenStack與VMWare是服務(wù)器虛擬化時(shí)代的兩大“云操作系統(tǒng)”,而Kubernetes則隨著容器應(yīng)用的興起逐漸開(kāi)始扮演更為重要的角色,我們認(rèn)為其將是云原生時(shí)代的“操作系統(tǒng)”有力的競(jìng)爭(zhēng)者。
軟件信息技術(shù)國(guó)產(chǎn)化正在加速進(jìn)入云時(shí)代。隨著軟件上云成為大的趨勢(shì),政企機(jī)關(guān)、金融機(jī)構(gòu)和各行業(yè)企業(yè)也在主動(dòng)提出“云端國(guó)產(chǎn)化”的訴求,希望以國(guó)產(chǎn)化和云化并行的方式進(jìn)行新一輪的數(shù)字化升級(jí)。在云端國(guó)產(chǎn)化的推動(dòng)下,國(guó)內(nèi)云基礎(chǔ)軟件廠(chǎng)商的空間進(jìn)一步打開(kāi),從互聯(lián)網(wǎng)行業(yè)進(jìn)一步拓展到了政府、金融等傳統(tǒng)領(lǐng)域。結(jié)合現(xiàn)有的落地案例,我們總結(jié)出“云端國(guó)產(chǎn)化”在“單機(jī)國(guó)產(chǎn)化”的基礎(chǔ)上新增的5大重要方向:私有/混合云、虛擬化軟件、容器管理軟件、桌面云、云管平臺(tái)。
云基礎(chǔ)軟件——軟件定義數(shù)據(jù)中心何為軟件定義數(shù)據(jù)中心?軟件定義數(shù)據(jù)中心即是在底層硬件架構(gòu)之上新搭載了一層虛擬的基礎(chǔ)設(shè)施,目標(biāo)是將數(shù)據(jù)中心所有的物理硬件資源進(jìn)行虛擬化與軟件化,將底層硬件與上層硬件完全解耦,一勞永逸地解決資源性能彈性與架構(gòu)可伸縮性的問(wèn)題,其內(nèi)涵包括軟件定義計(jì)算(計(jì)算虛擬化)、軟件定義存儲(chǔ)(存儲(chǔ)虛擬化)、軟件定義網(wǎng)絡(luò)(網(wǎng)絡(luò)虛擬化)三大層級(jí)。
云基礎(chǔ)軟件是云時(shí)代的“操作系統(tǒng)”,實(shí)現(xiàn)軟件定義數(shù)據(jù)中心。在傳統(tǒng)的IT架構(gòu)中,操作系統(tǒng)扮演者管理計(jì)算機(jī)硬件與軟件資源的角色;而隨著IT架構(gòu)進(jìn)入云計(jì)算時(shí)代,其所需要的也是對(duì)應(yīng)的“操作系統(tǒng)”,通過(guò)對(duì)計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)的虛擬化,對(duì)數(shù)據(jù)中心存算資源進(jìn)行高效的調(diào)配管理,并合理分配給上層應(yīng)用,實(shí)現(xiàn)資源利用效率的大化。為了實(shí)現(xiàn)軟件定義數(shù)據(jù)中心,以虛擬化與容器技術(shù)為代表的云基礎(chǔ)軟件應(yīng)運(yùn)而生,成為云計(jì)算時(shí)代重要的基礎(chǔ)設(shè)施。
虛擬化:面向底層基礎(chǔ)設(shè)施,實(shí)現(xiàn)計(jì)算資源的彈性分配虛擬化是利用軟件重新定義劃分底層硬件資源的技術(shù)。虛擬化技術(shù)主要應(yīng)用在服務(wù)器層面,由于x86服務(wù)器的設(shè)計(jì)存在局限性,單次僅能運(yùn)行一個(gè)操作系統(tǒng)和應(yīng)用,因此對(duì)底層硬件資源的利用率較低。虛擬化技術(shù)實(shí)際上將一臺(tái)基礎(chǔ)物理服務(wù)器的CPU、內(nèi)存、硬件、網(wǎng)卡等資源“池化”,并分配給多臺(tái)虛擬機(jī)(VM),虛擬機(jī)之間彼此獨(dú)立但又共享底層物理資源,實(shí)現(xiàn)基于單一物理設(shè)備運(yùn)行多個(gè)OS及應(yīng)用。
虛擬化技術(shù)是云計(jì)算的基礎(chǔ)。我們一般所說(shuō)的“云化”,就是將硬件資源虛擬化,并將虛擬資源集中成中央資源池,最后增加支撐系統(tǒng)后實(shí)現(xiàn)資源的調(diào)度與共享的過(guò)程。在中央資源池之上增加一層管理軟件之后,用戶(hù)就可以管控在云中需要使用的基礎(chǔ)架構(gòu)、平臺(tái)工具及應(yīng)用。而虛擬化技術(shù)在其中的作用就是將硬件資源“池化”,以便于用戶(hù)靈活彈性地按需進(jìn)行計(jì)算資源調(diào)用。
典型的虛擬化的底層技術(shù)——KVM-QEMUKVM-QEMU是典型的虛擬化底層技術(shù)。KVM是Linux內(nèi)核中的一個(gè)模塊,將Linux內(nèi)核轉(zhuǎn)變?yōu)榭蓪?shí)現(xiàn)虛擬化的Hypervisor;QEMU是一套開(kāi)源的模擬處理器,可以獨(dú)立模擬出包括CPU、IO設(shè)備在內(nèi)的整臺(tái)計(jì)算機(jī)。由于KVM位于內(nèi)核空間,用戶(hù)無(wú)法直接控制內(nèi)核,因此開(kāi)發(fā)者選擇了相對(duì)成熟的QEMU技術(shù),借助用戶(hù)空間的管理工具與其進(jìn)行交互。
KVM和QEMU是相輔相成的關(guān)系。QEMU本身并不依賴(lài)于KVM,但僅靠QEMU自身的虛擬化效率較低。QEMU通過(guò)KVM達(dá)到了硬件虛擬化的速度,而KVM則通過(guò)QEMU來(lái)模擬設(shè)備,KVM+QEMU才能實(shí)現(xiàn)完整意義上的服務(wù)器虛擬化。在一個(gè)完整的Hypervisor中,KVM的功能是提供內(nèi)核接口以實(shí)現(xiàn)對(duì)CPU、內(nèi)存的虛擬支持虛擬機(jī)的運(yùn)行;QEMU提供對(duì)IO設(shè)備虛擬、對(duì)各種虛擬設(shè)備的創(chuàng)建、調(diào)用進(jìn)行管理。
虛擬化的多種技術(shù)路線(xiàn)全虛擬化、半虛擬化是兩種典型技術(shù)路線(xiàn)。虛擬化是使得多個(gè)客戶(hù)操作系統(tǒng)(Guest OS)共享原始底層硬件資源的過(guò)程,其核心是如何解決Guest OS發(fā)出的特權(quán)指令執(zhí)行和對(duì)宿主機(jī)硬件資源的調(diào)用問(wèn)題。從X86服務(wù)器的架構(gòu)來(lái)看,其CPU細(xì)分了Ring 0-3四種執(zhí)行狀態(tài),其中Ring 0是操作系統(tǒng)內(nèi)核的執(zhí)行狀態(tài)——內(nèi)核態(tài)(Kernel Mode),Ring 3為用戶(hù)態(tài)(User Mode),而不同虛擬化技術(shù)之間的核心區(qū)別就是Guest OS運(yùn)行在宿主機(jī)CPU的何種執(zhí)行狀態(tài)之上。
(1) 全虛擬化 vs. 半虛擬化:
兩者之間的核心區(qū)別在于是否要對(duì)Guest OS的內(nèi)核進(jìn)行修改。全虛擬化無(wú)需對(duì)Guest OS的內(nèi)核進(jìn)行特殊配置,部署靈活便利且具有較好的兼容性好,但缺點(diǎn)在于Guest OS無(wú)法直接管理底層硬件,通過(guò)hypervisor管理底層硬件需要有轉(zhuǎn)換開(kāi)銷(xiāo),性能落后于半虛擬化。半虛擬化過(guò)事先經(jīng)過(guò)修改的客戶(hù)機(jī)操作系統(tǒng)內(nèi)核共享宿主底層硬件來(lái)實(shí)現(xiàn)的,優(yōu)點(diǎn)在于性能但同時(shí)也損失了部署的靈活性和兼容性(無(wú)法支持Windows等閉源操作系統(tǒng))。
(2) 硬件輔助的虛擬化:
通過(guò)硬件技術(shù)的輔助使得虛機(jī)性能接近物理機(jī)。在硬件輔助的虛擬化中,CPU本身就為Hypervisor提供了便利,可以識(shí)別指令,從而避免異常,可以簡(jiǎn)化指令的處理過(guò)程而提升性能。硬件輔助虛擬化擬化技術(shù)常用于優(yōu)化全虛擬化和半虛擬化產(chǎn)品,目前主要的硬件輔助虛擬化技術(shù)有Intel的VT-x和AMD的AMD-V兩種,同時(shí)市面上的主流全虛擬化和半虛擬化產(chǎn)品基本都支持硬件輔助虛擬化,包括KVM,VMware vSphere、Xen、Oracle VirtualBox等。
容器:面向應(yīng)用與進(jìn)程,操作系統(tǒng)層級(jí)的虛擬化容器是操作系統(tǒng)虛擬化的一種實(shí)現(xiàn)途徑,負(fù)責(zé)為應(yīng)用程序的運(yùn)行提供環(huán)境。容器的目的是為進(jìn)程集合提供一個(gè)獨(dú)立的運(yùn)行環(huán)境,容器包含應(yīng)用和其所有的依賴(lài)包(類(lèi)/庫(kù)),不同容器之間共享宿主機(jī)的硬件資源及操作系統(tǒng)。通過(guò)使用容器,開(kāi)發(fā)者可以便利地打包應(yīng)用程序的代碼、配置和依賴(lài)關(guān)系,從而實(shí)現(xiàn)應(yīng)用程序快速、可靠、一致性部署。
容器的本質(zhì)是一個(gè)視圖被隔離,資源受限的進(jìn)程。容器與虛擬機(jī)的相同之處在于都是幫助用戶(hù)創(chuàng)造了隔離環(huán)境,但虛擬機(jī)與容器的隔離級(jí)別不同。虛擬機(jī)在操作系統(tǒng)層面實(shí)現(xiàn)隔離,而容器在進(jìn)程級(jí)進(jìn)行資源隔離;同時(shí)容器的大小相比虛擬機(jī)更小,這也賦予了其更為輕量、靈活的特征。
容器的底層技術(shù):容器運(yùn)行時(shí)、容器鏡像、容器引擎容器 = Cgroup(資源控制)+Namespace(訪(fǎng)問(wèn)隔離)+rootfs(文件系統(tǒng)隔離)+容器引擎(用戶(hù)態(tài)工具)。Cgroups與Namespace是容器技術(shù)所應(yīng)用到的兩個(gè)Linux內(nèi)核的關(guān)鍵特性,Namespace的主要使用是實(shí)現(xiàn)進(jìn)程的隔離,而Crgourps則負(fù)責(zé)限制分配給進(jìn)程的硬件資源,由Namespace+Cgroups 構(gòu)成的隔離環(huán)境也被稱(chēng)為@quot;容器運(yùn)行時(shí)@quot;;rootfs作為L(zhǎng)inux根文件管理系統(tǒng),主要負(fù)責(zé)為容器進(jìn)程提供隔離后執(zhí)行環(huán)境的文件系統(tǒng),也就是所謂的“容器鏡像”。
容器引擎負(fù)責(zé)準(zhǔn)備運(yùn)行容器所需要的資源,對(duì)容器生命周期進(jìn)行管理。容器負(fù)責(zé)與內(nèi)核Namespace和CGroup等功能直接交互,并提供相應(yīng)API使得外部能夠與之進(jìn)行集成。容器引擎的功能是對(duì)容器生命周期進(jìn)行管理,包括鏡像管理(Image service)、運(yùn)行管理(runtime service)、容器網(wǎng)絡(luò)(CNI)等;而上層的容器編排管理系統(tǒng)(如知名的Kubernetes項(xiàng)目“k8s”)則會(huì)通過(guò)CRI接口對(duì)容器引擎進(jìn)行調(diào)用。目前行業(yè)中較為活躍的容器引擎主要包括Docker、rkt、Pouch、Containerd和Cri-o等。
容器的上層建筑:容器編排管理系統(tǒng)容器編排是從容器向容器云跨越的關(guān)鍵。在實(shí)際應(yīng)用的過(guò)程中,通常會(huì)由大量容器構(gòu)建成容器集群,以支撐復(fù)雜的應(yīng)用程序體系結(jié)構(gòu),此時(shí)便需要相應(yīng)的系統(tǒng)對(duì)容器集群進(jìn)行統(tǒng)一的編排、管理、調(diào)度。以k8s為代表的容器編排管理系統(tǒng)在容器引擎的基礎(chǔ)上,為容器化的應(yīng)用提供部署運(yùn)行、資源調(diào)度、服務(wù)發(fā)現(xiàn)和動(dòng)態(tài)伸縮等一系列完整功能,提高了大規(guī)模容器集群管理的便捷性。從一個(gè)開(kāi)發(fā)者和單一的容器鏡像,到無(wú)數(shù)開(kāi)發(fā)者和龐大的容器集群,容器技術(shù)實(shí)現(xiàn)了從@quot;容器@quot;到@quot;容器云@quot;的飛躍。
Kubernetes是容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn)。Kubernetes(簡(jiǎn)稱(chēng)k8s)是由Google在2014年發(fā)起的開(kāi)源項(xiàng)目,具有輕量級(jí)、高便攜、可擴(kuò)展、自修復(fù)等優(yōu)勢(shì),在2015年開(kāi)始迅速拉開(kāi)與Meso、Docker Swarm等競(jìng)爭(zhēng)對(duì)手之間的差距。目前k8s已經(jīng)基本成為了容器編排領(lǐng)域的行業(yè)標(biāo)準(zhǔn),AWS、Azure、Google、阿里云、騰訊云等公有云廠(chǎng)商均提供基于 k8s的容器服務(wù);Red Hat、Rancher、IBM、Mirantis等廠(chǎng)商也在大力推廣基于 Kubernetes 的容器產(chǎn)品,Docker/Containerd+k8s成為全球主流的容器產(chǎn)品路線(xiàn)。
Kubernetes是云原生時(shí)代新的“操作系統(tǒng)”。k8s集群由Master節(jié)點(diǎn)和Node節(jié)點(diǎn)構(gòu)成:Master節(jié)點(diǎn)主要負(fù)責(zé)管理和控制,包括API Server(對(duì)外接口)、Scheduler(資管調(diào)度)、Controller Manager(管理控制器);Node節(jié)點(diǎn)主要是工作負(fù)載節(jié)點(diǎn),包含Pod(基本操作單元,內(nèi)部封裝容器)、Docker(容器引擎)、Kubulet(負(fù)責(zé)Pod的監(jiān)視)。在應(yīng)用容器化部署的云原生時(shí)代,k8s可以實(shí)現(xiàn)對(duì)容器集群的自動(dòng)化部署、自動(dòng)擴(kuò)縮容以及高效靈活的管理,我們認(rèn)為其已經(jīng)成為了新一代的云操作系統(tǒng)以及云原生時(shí)代的基石。
CNCF圍繞Kubernetes建立起繁榮的云原生生態(tài)。2015年,Google與RedHat牽頭成立了以 Kubernetes 項(xiàng)目為基礎(chǔ)CNCF社區(qū),之后數(shù)年中CNCF逐漸發(fā)展壯大,而Docker由于現(xiàn)實(shí)問(wèn)題也逐步放棄開(kāi)源社區(qū),在2017年將Containerd捐贈(zèng)給CNCF,并在Docker企業(yè)版中內(nèi)置k8s,CNCF自此成為全球容器生態(tài)的核心。截至2020年,CNCF已經(jīng)囊括了全球1,381個(gè)項(xiàng)目,按功能分為29個(gè)模塊,分屬與9中不同類(lèi)別(應(yīng)用定義與開(kāi)發(fā)、編排與管理、運(yùn)行時(shí)、配置、平臺(tái)、可觀(guān)察性與分析、Serverless、會(huì)員和其它),這1,381個(gè)項(xiàng)目共同構(gòu)建起了恢宏的“云原生世界”。
虛擬機(jī)與容器:當(dāng)前趨勢(shì)仍是結(jié)合應(yīng)用下的共同發(fā)展容器和虛擬機(jī)相比各有優(yōu)劣
? 容器的優(yōu)勢(shì)在于敏捷和高性能:Hypervisor架構(gòu)下,在虛擬服務(wù)器上運(yùn)行單個(gè)應(yīng)用程序意味著需要運(yùn)行完整操作系統(tǒng)(Guest OS)及依賴(lài)環(huán)境,這為主機(jī)增加了大量的系統(tǒng)資源消耗。而容器相比之下占用空間更小,其在底層資源和上層應(yīng)用之前具有更少的抽象層級(jí),且多個(gè)應(yīng)用程序可通過(guò)容器技術(shù)共享操作系統(tǒng)內(nèi)核,進(jìn)一步提高了資源利用率;同時(shí)容器在應(yīng)用遷移、快速拓展以及持續(xù)集成和持續(xù)部署(CI/CD)實(shí)施等方面也更為靈活便捷。
? 虛擬機(jī)的優(yōu)勢(shì)在于更強(qiáng)的隔離性和運(yùn)維的簡(jiǎn)單性:基于Hypervisor的虛擬機(jī)可以實(shí)現(xiàn)系統(tǒng)層面的資源隔離,虛擬機(jī)之間完全獨(dú)立,安全性高,可用于備份、容災(zāi);而容器實(shí)際上僅實(shí)現(xiàn)了應(yīng)用層面的隔離,安全和穩(wěn)定性相對(duì)較低。尤其是在多租戶(hù)的環(huán)節(jié)下,由于不同容器共享主機(jī)的內(nèi)核,如果某個(gè)容器應(yīng)用需要配置內(nèi)核參數(shù),則會(huì)導(dǎo)致“牽一發(fā)而動(dòng)全身”。此外,虛擬化技術(shù)經(jīng)過(guò)多年應(yīng)用,已經(jīng)是企業(yè)運(yùn)維人員較為熟悉的一種技術(shù),同時(shí)雙層架構(gòu)也具備運(yùn)維上更加簡(jiǎn)單的優(yōu)勢(shì)。
用戶(hù)可根據(jù)自身的偏好來(lái)選擇適合的云資源管理方案。在實(shí)際應(yīng)用的過(guò)程中,注重于安全性、穩(wěn)定性的用戶(hù)往往仍會(huì)以Hypervisor作為主要的“云操作系統(tǒng)”以實(shí)現(xiàn)對(duì)底層計(jì)算資源的管理,比如金融、運(yùn)營(yíng)商等傳統(tǒng)行業(yè)在大量使用傳統(tǒng)的VMWare或者OpenStack(基于KVM);而對(duì)于那些追求云原生,要求更高的資源利用率,以及更加靈活便捷架構(gòu)的客戶(hù),Docker/Containerd+k8s的容器方案是更優(yōu)解,事實(shí)上目前容器在互聯(lián)網(wǎng)行業(yè)已經(jīng)得到了廣泛的應(yīng)用,傳統(tǒng)行業(yè)的應(yīng)用廠(chǎng)商也在積極的對(duì)新一代引用進(jìn)行容器化改造,我們相信容器的普及和滲透只是時(shí)間問(wèn)題。
容器與虛擬機(jī)的結(jié)合應(yīng)用仍是當(dāng)前主流容器與虛擬機(jī)在公有云多租戶(hù)場(chǎng)景中通常是結(jié)合應(yīng)用的。從云計(jì)算的概念提出開(kāi)始,虛擬機(jī)一直是云平臺(tái)的基礎(chǔ),平臺(tái)的本身服務(wù)以及用戶(hù)的使用基本都是從通用虛擬機(jī)的創(chuàng)建開(kāi)始。因此目前大部分的容器應(yīng)用均是基于虛擬機(jī)而運(yùn)行的,通常的做法是建一批虛擬機(jī)作為運(yùn)行容器的節(jié)點(diǎn),然后再在基于虛擬機(jī)Guest OS創(chuàng)建容器應(yīng)用,如圖表18左側(cè)就是常見(jiàn)的公有云容器服務(wù)的提供形式。
安全容器進(jìn)一步將虛擬機(jī)級(jí)別的隔離直接引入容器應(yīng)用。在公有云多租戶(hù)場(chǎng)景中,上述方案面臨的問(wèn)題是相同主機(jī)需要運(yùn)行不同租戶(hù)的應(yīng)用,而容器的隔離級(jí)別依然采用了共內(nèi)核的機(jī)制,導(dǎo)致了其存在著廣泛的攻擊面。而所謂的安全容器,則是通過(guò)硬件虛擬化等技術(shù)實(shí)現(xiàn)對(duì)各個(gè)容器內(nèi)核層面的隔離,每一個(gè)容器都是基于一個(gè)獨(dú)立的內(nèi)核實(shí)例來(lái),形成一個(gè)輕量級(jí)的虛擬機(jī)(Micro-VM)。
安全容器在容器的高效便捷與虛擬機(jī)的穩(wěn)定安全之前取得平衡。安全容器的定位位于容器和虛擬機(jī)之間(The speed of containers, the security of VMs):安全容器兼容容器的操作方法,在啟動(dòng)速度、內(nèi)存開(kāi)銷(xiāo)等性能指標(biāo)上也高度接近容器;同時(shí)安全容器通過(guò)引入虛擬機(jī)級(jí)別的隔離,顯著提升了容器的隔離層級(jí)和安全性。目前行業(yè)中常見(jiàn)的安全容器實(shí)現(xiàn)方式包括Kata-containers、Google gVisor、AWS Firecracker-containerd、IBM Nabla、VMware CRX等,其中Kata-containers是目前具有較佳兼容性,得到了較為廣泛的應(yīng)用。
云基礎(chǔ)軟件的演變——?dú)v史變遷與未來(lái)趨勢(shì)云基礎(chǔ)軟件的市場(chǎng)現(xiàn)狀:虛擬化進(jìn)入成熟階段,容器應(yīng)用蓬勃發(fā)展
虛擬化技術(shù)滲透率已接近飽和,市場(chǎng)規(guī)模趨于穩(wěn)定。根據(jù)Statista數(shù)據(jù),全球虛擬化市場(chǎng)規(guī)模將從2018年的57億美元增長(zhǎng)至2025年的90億美元,2018-2025年CAGR為7%。Spicework的調(diào)查顯示,2020年已有92%的企業(yè)使用服務(wù)器虛擬化技術(shù),虛擬化技術(shù)在企業(yè)的運(yùn)用已基本達(dá)到飽和,市場(chǎng)增長(zhǎng)放緩。
容器應(yīng)用快速普及,市場(chǎng)規(guī)模持續(xù)增長(zhǎng)。根據(jù)Gartner預(yù)測(cè),全球容器編排系統(tǒng)市場(chǎng)國(guó)模將從2020年的4.7億美元的增長(zhǎng)到2024年的9.4億美元,2020-2024年CAGR可達(dá)20%。全球企業(yè)對(duì)容器技術(shù)的需求也在快速增長(zhǎng),Gartner預(yù)計(jì)2022年超過(guò)75%的全球企業(yè)將在運(yùn)營(yíng)中使用容器化應(yīng)用程序,而2020年使用容器的企業(yè)占比不到30%;到 2024年,高達(dá)15%的企業(yè)應(yīng)用程序?qū)⒃谌萜鳝h(huán)境中運(yùn)行,這一比例在2020年小于5%。
全球云基礎(chǔ)軟件的主要玩家虛擬化:全球虛擬化市場(chǎng)的主要參與者可以被劃分為兩派——開(kāi)源和閉源。其中VMWare及微軟是閉源虛擬化軟件廠(chǎng)商中的代表,而剩下大部分的廠(chǎng)商的產(chǎn)品則是基于開(kāi)源的KVM或者Xen技術(shù),
? 閉源虛擬化的代表是VMWare的ESXi及微軟的Hyper-V:ESXi是使用全虛擬化技術(shù)的Type I Hypervisor,是VMware虛擬化套件vSphere中的重要組件。由于VMware是首個(gè)基于x86服務(wù)器提供服務(wù)器虛擬化解決方案的公司,ESXi得到了廣泛運(yùn)用。Hyper-V是半虛擬化Hypervisor,可內(nèi)嵌于Windows系統(tǒng)中,用戶(hù)可選擇免費(fèi)發(fā)布版或付費(fèi)企業(yè)版。
? 開(kāi)源虛擬化的代表是KVM和Xen:KVM是內(nèi)嵌于Linux內(nèi)核中的開(kāi)源虛擬化技術(shù),可將Linux操作系統(tǒng)轉(zhuǎn)為T(mén)ype I Hypervisor。RedHat、Oracle等廠(chǎng)商是基于KVM虛擬化領(lǐng)域的領(lǐng)導(dǎo)者,同時(shí)AWS、阿里云、華為云等云廠(chǎng)商也主要是提供基于KVM的虛擬化服務(wù)。Xen是一種由劍橋大學(xué)研發(fā)的半虛擬化技術(shù),2005年,經(jīng)過(guò)Intel修改后的Xen 3.0變?yōu)槿摂M化,可支持Intel硬件輔助虛擬化。Citrix于2007年收購(gòu)XenSource,但選擇將服務(wù)器虛擬化產(chǎn)品XenServer繼續(xù)開(kāi)源。
VMWare仍是企業(yè)級(jí)應(yīng)用的選,KVM在云廠(chǎng)商中應(yīng)用廣泛。Spicework的調(diào)查顯示,目前閉源的Hyper-V和vSphere仍然在企業(yè)級(jí)市場(chǎng)占據(jù)主導(dǎo)地位,VMWare在商用虛擬化軟件市場(chǎng)的龍頭地位依然穩(wěn)固;但近年來(lái),隨著OpenStack作為開(kāi)源的云計(jì)算管理項(xiàng)目到行業(yè)越來(lái)越廣泛的應(yīng)用,KVM作為OpenStack主流的Hypervisor選擇,其市場(chǎng)影響力正在快速提升,除了RedHat、Oracle等廠(chǎng)商之外,AWS、阿里云、華為云等云廠(chǎng)商目前主要也是提供基于KVM的虛擬化服務(wù)。
OpenStack是全球的開(kāi)源云計(jì)算管理項(xiàng)目。OpenStack是由Rackspace和NASA成立的開(kāi)源項(xiàng)目,目前已經(jīng)是是僅次于Linux的全球第二大開(kāi)源社區(qū),OpenStack提供了一個(gè)部署云的操作平臺(tái)或工具集,覆蓋了計(jì)算、存儲(chǔ)等10個(gè)核心組件和眾多附加組件。用戶(hù)可以基于OpenStack對(duì)物理集群上的所有虛擬機(jī)進(jìn)行管理,實(shí)現(xiàn)公有、私有云的搭建與運(yùn)維,且OpenStack現(xiàn)已實(shí)現(xiàn)對(duì)容器的支持。
OpenStack本身并不具備虛擬化的能力,KVM是其主流的Hypervisor選擇。作為云管理平臺(tái),OpenStack本身不提供虛擬化功能,真正的虛擬化能力是由底層的Hypervisor提供,其支持包括開(kāi)源的KVM、Xen,也包括廠(chǎng)商的Hyper-V等。但由于最初版本OpenStack的虛擬化技術(shù)即是基于KVM的,兩者都使用相同的開(kāi)放源理念與開(kāi)發(fā)方法,因此KVM目前仍是OpenStack主流的Hypervisor選擇。2020年的OpenStack用戶(hù)調(diào)查顯示94%的用戶(hù)選擇KVM作為Hypervisor。
OpenStack與KVM彼此成就,相互輝映。OpenStack目前已經(jīng)發(fā)展成為全球大的開(kāi)源云計(jì)算管理項(xiàng)目之一,截至2020年其生態(tài)系統(tǒng)已囊擴(kuò)了超過(guò)850家企業(yè)及機(jī)構(gòu),我們認(rèn)為OpenStack與VMWare實(shí)際上的服務(wù)器虛擬化時(shí)代的兩大主流“云操作系統(tǒng)”。而OpenStack的興起也帶動(dòng)了KVM的快速發(fā)展,目前KVM已經(jīng)成為全球開(kāi)源虛擬化技術(shù)中的主流,2020年AWS、華為云宣布將物理服務(wù)器的Hypervisor從Xen轉(zhuǎn)為KVM,我們認(rèn)為未來(lái)KVM甚至?xí)M(jìn)一步挑戰(zhàn)VMWare等廠(chǎng)商在企業(yè)級(jí)市場(chǎng)的地位。
容器:正如我們?cè)谏弦徽鹿?jié)中的討論,目前Docker/Containerd+k8s已經(jīng)成為了全球容器技術(shù)的事實(shí)標(biāo)準(zhǔn),由于開(kāi)源的容器引擎基本不進(jìn)行商業(yè)化變現(xiàn),因此我們對(duì)于容器市場(chǎng)的規(guī)模和市場(chǎng)份額討論集中于容器編排管理軟件市場(chǎng)層面,根據(jù)艾瑞咨詢(xún)發(fā)布的數(shù)據(jù)顯示,k8s占據(jù)了2019年全球Docker容器編排管理工具份額的77%,市場(chǎng)上大部分的容器編排軟件均是基于k8s的商業(yè)發(fā)行版。
隨著全球容器市場(chǎng)的快速發(fā)展,各廠(chǎng)商積極推動(dòng)收購(gòu)及合作。目前全球容器基礎(chǔ)軟件市場(chǎng)份額Top 5分別是Red Hat(于2019年被IBM收購(gòu)),Mirantis(于2019年收購(gòu)Docker),VMware,Rancher(于2020年被SUSE收購(gòu))和Canonical。其中Red Hat推出的OpenShift目前是全球應(yīng)用最為廣泛的企業(yè)級(jí)k8s版本。
傳統(tǒng)虛擬化廠(chǎng)商也在積極擁抱容器技術(shù)。全球容器編排管理軟件收入Top3的紅帽、Mirantis和VMware,目前也推出了具有代表性的虛擬化產(chǎn)品,如VMware的vSphere,Mirantis將原有的OpenStack平臺(tái)與K8S融合形成新的云平臺(tái)。全球的云廠(chǎng)商等也在積極推出容器產(chǎn)品:如華為云的虛擬化套件Fusion Sphere中包含了支持K8S的Fusion Container容器模塊。云廠(chǎng)商們正致力于將容器技術(shù)與虛擬化技術(shù)結(jié)合以提供系統(tǒng)化的解決方案。
云操作系統(tǒng)的歷史變遷:從服務(wù)器虛擬化到容器虛擬化云基礎(chǔ)軟件的發(fā)展歷程實(shí)際上是云操作系統(tǒng)的變遷。傳統(tǒng)操作系統(tǒng)的定義是管理計(jì)算機(jī)硬件和軟件資源的計(jì)算機(jī)程序。在計(jì)算資源虛擬化的云計(jì)算時(shí)代,擔(dān)任這一角色的是管理虛擬化硬件資源的Hypervisor、OpenStack或是Kubernetes?;乜礆v史,我們認(rèn)為在虛擬化時(shí)代,VMWare和OpenStack實(shí)際上扮演的就是“云操作系統(tǒng)”的角色;而在未來(lái)的云原生時(shí)代,Kubernetes有望成為新一代的“云操作系統(tǒng)”。
VMWare與OpenStack是服務(wù)器虛擬化時(shí)代主要的兩大“云操作系統(tǒng)”。VMWare在產(chǎn)品成熟度和穩(wěn)定性上,目前在企業(yè)級(jí)市場(chǎng)依舊占據(jù)主導(dǎo)地位,是數(shù)據(jù)中心虛擬化領(lǐng)域的“王者”;但其封閉的軟件系統(tǒng)架構(gòu)也決定了其并不具有開(kāi)放性,軟件的發(fā)展路線(xiàn)是完全遵循VMware自身的發(fā)展目標(biāo)。OpenStack作為開(kāi)源的系統(tǒng),其天生的優(yōu)勢(shì)在于其多遠(yuǎn)化的發(fā)展路線(xiàn)以及廣闊的發(fā)展?jié)摿Γ晨勘姸嘣朴?jì)算產(chǎn)業(yè)巨頭的支持,其在功能完整性、穩(wěn)定性、易用性上近年來(lái)也在快速提升,其作為開(kāi)源項(xiàng)目的中立性也使其成為AWS、阿里云等眾多公有云廠(chǎng)商的選。
Kubernetes是容器虛擬化時(shí)代新的“云操作系統(tǒng)”。隨著應(yīng)用進(jìn)程容器化部署的普及,負(fù)責(zé)容器調(diào)度、編排、監(jiān)控的Kubernetes自然成為了容器應(yīng)用時(shí)代重要的“云操作系統(tǒng)”。而從Kubernetes而OpenStack的關(guān)系上看,我們認(rèn)為目前兩者之間仍是互補(bǔ)大于競(jìng)爭(zhēng)。Kubernetes面向應(yīng)用層,實(shí)現(xiàn)應(yīng)用及業(yè)務(wù)架構(gòu)的變革;OpenStack 面向資源層,實(shí)現(xiàn)資源供給模式的優(yōu)化。短期來(lái)看,我們認(rèn)為OpenStack仍將是構(gòu)建云基礎(chǔ)設(shè)施的一個(gè)重要工具,與k8s在企業(yè)云及數(shù)據(jù)中心應(yīng)用中互補(bǔ)共存。
云操作系統(tǒng)的未來(lái)展望:Kubernetes邁入云原生時(shí)代Kubernetes是云原生時(shí)代的“操作系統(tǒng)”有力的競(jìng)爭(zhēng)者。虛擬化技術(shù)是云計(jì)算的基礎(chǔ),而容器應(yīng)用也將是云原生時(shí)代的基石。在云原生時(shí)代,我們認(rèn)為容器將是最為基本的進(jìn)程單位,而負(fù)責(zé)容器調(diào)度、編排、監(jiān)控的容器編排管理系統(tǒng)(k8s),實(shí)質(zhì)上扮演就是服務(wù)器時(shí)代操作系統(tǒng)(Linux)的角色,向上調(diào)度編排應(yīng)用進(jìn)程,向下調(diào)配管理底層資源。未來(lái)如果Kubernetes能夠進(jìn)一步發(fā)展成熟,解決其現(xiàn)有在多租戶(hù)設(shè)計(jì)方面存在的一些問(wèn)題,我們認(rèn)為其將可能進(jìn)一步發(fā)展成為云原生時(shí)代唯一的“操作系統(tǒng)”。
文章標(biāo)題:云基礎(chǔ)軟件:虛擬化與容器“誰(shuí)主沉浮”?
文章出自:http://www.rwnh.cn/news44/202794.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、商城網(wǎng)站、App設(shè)計(jì)、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)公司、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容