虛擬機(jī)仍然重要的5個原因

容器使用操作系統(tǒng)的CPU。虛擬機(jī)使用模擬的CPU。如果你需要運(yùn)行的軟件不是在你機(jī)器上的CPU上編譯的,那么你必須運(yùn)行虛擬CPU。

本文來自微信公眾號“開源云中文社區(qū)”。

容器是現(xiàn)代基礎(chǔ)設(shè)施的一項重要技術(shù),但虛擬機(jī)仍然占有一席之地。

虛擬化曾經(jīng)是一件大事。有一段時間,它是在“沙盒”環(huán)境中運(yùn)行服務(wù)的主要方式。數(shù)百個IT部門使用虛擬機(jī)。然后容器出現(xiàn)了,用所需的一小部分資源完成了虛擬機(jī)所能完成的大部分任務(wù)。雖然容器技術(shù)讓虛擬機(jī)看起來很笨重,但并沒有讓它們變得完全多余。事實上,虛擬化在今天和以往一樣有用,原因有五個。

1.Distro hopping

“Distro hopping”是一個經(jīng)常用來描述無法(故意或以其他方式)選擇單一發(fā)行版的術(shù)語。有些人只是喜歡嘗試每次發(fā)布的不同的Linux發(fā)行版。為什么不呢?Linux發(fā)行版是一件小小的藝術(shù)品,是由來自世界各地的熱情團(tuán)隊創(chuàng)造的有愛的勞動??纯慈藗儼咽裁捶旁谝黄鸷苡腥?。

新發(fā)行版的部分體驗是圖形安裝過程、第一次登錄和大桌面展示。安裝速度有多快?它使用什么桌面?壁紙是什么樣子的?理解和導(dǎo)航有多容易?最重要的是,即使是你仍在使用Windows或macOS的朋友也會安裝并喜歡這個嗎?

你不能在容器中復(fù)制它。從設(shè)計上講,容器是操作系統(tǒng)的部分鏡像,假設(shè)它已經(jīng)安裝。對于繁忙的系統(tǒng)管理員來說,這是容器的一大優(yōu)勢,但如果你想要桌面用戶體驗,那么虛擬機(jī)就是你想要的。

2.開發(fā)

編程很難做到正確,當(dāng)你為不止一個平臺開發(fā)應(yīng)用程序時,更難做到正確。除了Java,很少有編程語言能夠針對所有平臺。在Linux上啟動并運(yùn)行良好的應(yīng)用程序可能會在Windows上出現(xiàn)錯誤,并且可能根本無法在macOS上啟動。

像Vagrant和libvirt這樣的工具可以確保你可以根據(jù)需要運(yùn)行特定操作系統(tǒng)的特定版本。你可以獲得一個快速的環(huán)境,該環(huán)境很容易在多個開發(fā)人員之間進(jìn)行復(fù)制。這對于測試代碼、確認(rèn)兼容性以及測試庫或工具包的新版本非常有用。

3.支持和文件

bug報告可能非常具體,有時只需查看GDB即可確定問題的原因。然而,在其他時候,bug報告會與代碼無關(guān),而是與過程本身有關(guān)。例如,用戶可能會抱怨應(yīng)用程序的布局,或者應(yīng)用程序與桌面上某個元素交互的方式,或者如何完成復(fù)雜的配置。在這種情況下,你可能需要嘗試復(fù)制用戶的工作流,有時這需要運(yùn)行用戶正在運(yùn)行的內(nèi)容。

在過去,當(dāng)需要向用戶描述在他們的分發(fā)過程中為實現(xiàn)目標(biāo)所采取的確切步驟時,筆者已經(jīng)做過幾次了。僅僅籠統(tǒng)的陳述是不夠的。筆者安裝了用戶正在運(yùn)行的發(fā)行版的新副本,并記錄了步驟,并配有屏幕截圖。如果他們不能讓它發(fā)揮作用,那么相信問題不在于他們的設(shè)置。

4.架構(gòu)

容器使用操作系統(tǒng)的CPU。虛擬機(jī)使用模擬的CPU。如果你需要運(yùn)行的軟件不是在你機(jī)器上的CPU上編譯的,那么你必須運(yùn)行虛擬CPU。

5.其他一些操作系統(tǒng)

容器是Linux。當(dāng)你運(yùn)行一個容器時,你就是在一個容器中運(yùn)行Linux,而不管你是在Windows還是Mac上運(yùn)行該容器。

要運(yùn)行Windows,無論是支持、遺留服務(wù)還是開發(fā),你都必須對其進(jìn)行虛擬化。禮貌地說,蘋果繼續(xù)圍繞虛擬化macOS執(zhí)行一項“復(fù)雜”的法律要求,但如果允許,則會在虛擬機(jī)中執(zhí)行。或者,也許你使用的是Windows或macOS,但想在桌面上運(yùn)行Linux發(fā)行版,以此來適應(yīng)新的操作系統(tǒng)。虛擬機(jī)是一種實用而簡單的方式,可以在沒有備用計算機(jī)的情況下?lián)碛袀溆糜嬎銠C(jī)。

虛擬機(jī)是訪問軟件定義的計算機(jī)執(zhí)行日常任務(wù)的一種簡單方法。還有很多關(guān)于如何與虛擬機(jī)交互的選項,包括GNOME Boxes、Vagrant、VirtualBox,甚至直接與Qemu交互。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論