虛擬機(jī)具備怎樣的優(yōu)勢(shì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在評(píng)估無(wú)服務(wù)器和容器等選項(xiàng)時(shí),需要繼續(xù)考慮虛擬機(jī)的優(yōu)勢(shì)。
人們?nèi)缃裆钤谝磺卸际窃圃臅r(shí)代,任何虛擬機(jī)的優(yōu)勢(shì)都容易被忽略。虛擬機(jī)越來(lái)越被視為一種遺留技術(shù),缺乏諸如容器和無(wú)服務(wù)器功能等新型解決方案的多功能性和性能優(yōu)勢(shì)。如果企業(yè)如今要部署應(yīng)用程序,則可能更傾向于在后一種類(lèi)型的“下一代”平臺(tái)上進(jìn)行部署,而不是使用無(wú)聊的原有虛擬機(jī)。
在某種程度上,這種趨勢(shì)是公平的。與替代形式的技術(shù)相比,虛擬機(jī)在許多情況下是效率較低的解決方案。
但是,這并不意味著虛擬機(jī)已經(jīng)完全失效。就像當(dāng)今的裸機(jī)環(huán)境(虛擬機(jī)在20年前幫助虛擬機(jī)成為“傳統(tǒng)”技術(shù))一樣,如今仍然有其用例,仍然有很多充分的理由考慮使用虛擬機(jī)代替容器、無(wú)服務(wù)器功能或虛擬機(jī)。其他一些新型的托管解決方案。
反對(duì)采用虛擬機(jī)
為了解釋原因,首先概述與替代托管技術(shù)相比,虛擬機(jī)可能不是理想選擇的原因。
避免虛擬機(jī),而是選擇諸如容器之類(lèi)的東西來(lái)托管您的應(yīng)用的最常見(jiàn)原因如下:
· 開(kāi)銷(xiāo):虛擬機(jī)比容器消耗更多的資源。
· 速度:在某些方面,虛擬機(jī)速度較慢。它們需要更長(zhǎng)的時(shí)間來(lái)啟動(dòng)(可能是一分鐘或兩分鐘,而不是一個(gè)容器的幾秒鐘)。由于某些主機(jī)系統(tǒng)的資源被虛擬化虛擬機(jī)管理程序占用,因此它們托管的應(yīng)用程序運(yùn)行速度可能也不太快,因此可供應(yīng)用程序使用的可用資源較少。
· 冗余:虛擬機(jī)是在假設(shè)每臺(tái)計(jì)算機(jī)都駐留在單個(gè)服務(wù)器上的前提下設(shè)計(jì)的。盡管可以通過(guò)將虛擬機(jī)分布在服務(wù)器群集中來(lái)為虛擬機(jī)創(chuàng)建冗余,但是與使用容器在群集中分布應(yīng)用程序相比,這樣做需要更多的工作-并且是一個(gè)更笨拙的過(guò)程。
· 龐大的映像:包含主機(jī)操作系統(tǒng)的虛擬機(jī)映像(大多數(shù)情況下)通常會(huì)占用至少幾GB的空間,甚至可能更多。相比之下,容器鏡像可能只有幾兆字節(jié),因?yàn)槿萜麋R像不必打包完整的操作系統(tǒng)。
· 原生云:虛擬機(jī)是一項(xiàng)在數(shù)十年前(即云時(shí)代之前)廣泛使用的技術(shù)。因此,與它們不同的是,由于與容器和無(wú)服務(wù)器的虛擬機(jī)不同,虛擬機(jī)不是云原生技術(shù),因此對(duì)它們存在某種文化偏見(jiàn)。
所有這些觀點(diǎn)都是真實(shí)有效的。對(duì)于許多現(xiàn)代應(yīng)用程序部署,虛擬機(jī)不是優(yōu)秀的選擇。
虛擬機(jī)仍然很重要的原因
但是,在許多用例中,虛擬機(jī)以積極的方式在競(jìng)爭(zhēng)中脫穎而出。考慮以下原因,您可能想要保留您的虛擬機(jī),并避免誘惑跳上容器化的,云原生的潮流。
靈活性
靈活性也許是虛擬機(jī)的最大賣(mài)點(diǎn),到最后,它們?nèi)詫⑻峁┳畲蟪潭鹊牟渴痨`活性。虛擬機(jī)幾乎可以部署在任何地方,而不管其操作系統(tǒng)或主機(jī)的配置如何。Windows系統(tǒng)可以托管基于Linux的虛擬機(jī),反之亦然。
容器提供一定程度的靈活性。容器化的Linux應(yīng)用程序不在乎是哪個(gè)Linux發(fā)行版托管它。但是,除非您使用虛擬機(jī)創(chuàng)建所需的其他抽象,否則您仍然無(wú)法運(yùn)行Linux容器或Windows或Linux上的Windows容器。
安全與隔離
自Docker在2013年問(wèn)世以來(lái),容器的安全性得到了極大的提高。但是,它仍然值得關(guān)注。確實(shí),對(duì)安全性的擔(dān)憂(yōu)是某些團(tuán)隊(duì)選擇不使用容器的主要原因。
隨著容器平臺(tái)的不斷成熟以及更多安全工具的全面支持,這些擔(dān)憂(yōu)可能會(huì)得到緩解。但是,從一個(gè)簡(jiǎn)單的事實(shí)來(lái)看,容器化的應(yīng)用程序永遠(yuǎn)無(wú)法與虛擬機(jī)達(dá)到相同程度的隔離,因此從安全角度來(lái)看,容器不可能完全匹配虛擬機(jī)。虛擬機(jī)不會(huì)像容器那樣共享彼此的內(nèi)核或其他基本系統(tǒng)資源。
容器管理
的確,容器在許多方面都更自然地適合于分布式主機(jī)環(huán)境,但是此功能也會(huì)使它們更難管理。當(dāng)數(shù)百個(gè)容器分布在數(shù)十個(gè)服務(wù)器上時(shí),事情很快就變得難以控制。這就是為什么您使用Kubernetes之類(lèi)的業(yè)務(wù)流程協(xié)調(diào)器來(lái)自動(dòng)執(zhí)行大部分管理工作的原因。但是,協(xié)調(diào)器本身增加了您必須設(shè)置,管理和保護(hù)的另一層復(fù)雜性。
大規(guī)模虛擬機(jī)部署也需要編排解決方案。但是,它們很少像容器部署那樣復(fù)雜。使用虛擬機(jī)時(shí),移動(dòng)部件很少,基礎(chǔ)架構(gòu)的重疊層也更少。
虛擬機(jī)是原始云
最后,讓我們解決針對(duì)虛擬機(jī)的文化偏見(jiàn)。虛擬機(jī)可能早于云,但這并不意味著它們對(duì)云是陌生的?;谔摂M機(jī)的IaaS服務(wù)是2000年代中期由AWS等公共云提供商推出的第一項(xiàng)主要的云計(jì)算服務(wù)。它們?nèi)匀皇沁@些提供商所提供產(chǎn)品的關(guān)鍵部分。
如今,容器和其他所謂的云原生解決方案可能會(huì)越來(lái)越熱。但是不要誤以為虛擬機(jī)也不是云原生技術(shù)。沒(méi)有虛擬機(jī),云首先就不可能成為現(xiàn)實(shí)。
結(jié)論
對(duì)于許多IT團(tuán)隊(duì)來(lái)說(shuō),是放心的時(shí)候了,學(xué)會(huì)學(xué)習(xí)Docker(以及企業(yè)喜歡的其他任何現(xiàn)代,云原生應(yīng)用托管技術(shù))。但這并不意味著完全放棄虛擬機(jī)。虛擬機(jī)在許多云中仍然扮演著重要角色,基于簡(jiǎn)單的假設(shè)即將其注銷(xiāo)是錯(cuò)誤的,因?yàn)樗鼈兪恰芭f”技術(shù)。