什麼是虛擬機器?

虛擬機器 (VM) 是以軟體為基礎的電腦,可在主機硬體上提供隔離環境。虛擬機器可以執行程式和作業系統、儲存資料、連線至網路,以及其他運算功能。現今,大多數實用技術 (例如雲端運算人工智慧) 都以虛擬機器的概念為基礎,讓作業系統和軟體與實體機器區隔開來。舉例來說,雲端運算中的 VM 用於將雲端服務供應商伺服器的資源虛擬化,實現客戶能共用資源的多租戶雲端架構,同時彼此獨立互不影響。

虛擬機器如何運作?

虛擬機器會利用虛擬化技術建立虛擬硬體,或是可在實體電腦上操作的電腦虛擬版本。執行 VM 的實體機器稱為主機,在主機上執行的 VM 則稱為客體

每個訪客 VM 都會在主機的獨立分區上執行,與其他訪客完全分隔。您可以在單一主體機器 (通常是伺服器) 上託管多個 VM,並在軟體層 (稱為「管理程序」) 上執行。

管理程序會將主體機器的實體資源 (如 CPU、GPU、TPU、記憶體、儲存空間或網路) 抽象化為集區,再視需求佈建及動態分配給客體 VM,提升靈活度和整體效率。

兩種主要的管理程序類型

  • 類型 1:裸機管理程序:直接在主機的實體硬體上執行,通常用於企業資料中心,以獲得高效能與效率。例如,Google Cloud 使用以 KVM 為基礎的管理程序,驅動 Compute Engine 虛擬機器。
  • 類型 2:託管管理程序:這類管理程序會以應用程式的形式在現有作業系統上執行,適用於桌上型電腦,最常見的用途是開發和測試。

虛擬機器類型

虛擬機器通常分成兩種類型:程序 VM 和系統 VM。

程序 VM 又稱為應用程式虛擬機器或代管執行階段環境 (MRE),這類 VM 會在應用程式或單一程序執行時建立 OS 虛擬環境,並在您結束執行時刪除。程序 VM 能讓您建立不受平台限制的環境,讓應用程式或程序可在任何平台上用相同方式執行。App Engine 上的 Node.js 執行階段就是一個具體範例,無論基礎作業系統為何,Node.js 程式都能在 Google Cloud 的代管環境中執行。

系統 VM (有時稱為硬體虛擬機器) 會模擬完整的作業系統,讓多個 OS 環境在同一部機器上執行。一般而言,只要提到「虛擬機器」,大家就會想到這種 VM 類型。系統 VM 可以執行自己的 OS 和應用程式,管理程序則會監控並將實體主體機器的資源分配給不同的系統 VM。

最近,您可能聽過有人討論雲端環境或雲端 VM 中的虛擬機器。Cloud 虛擬機器就是在雲端環境中虛擬伺服器上執行的虛擬機器。許多雲端服務供應商都能讓您在自己的基礎架構上建立及執行雲端虛擬機器,除了使用主體機器之外,還能利用記憶體和網路儲存空間等其他軟體定義服務。這些雲端 VM 通常會依資源最佳化程度分類:

  • 一般用途 VM 適用於各種工作和工作負載
  • 運算最佳化 VM 專為高效能運算 (HPC) 和耗用大量運算資源的應用程式設計
  • 記憶體最佳化 VM 非常適合大型企業資料庫,以及需要大量記憶體的工作負載
  • 特殊用途 VM 搭載特定高階資源,例如 GPU,適用於 AI/機器學習和進階科學運算
  • Confidential VM 是一種安全類型,即使資料在記憶體中處理,也能受到保護

比較 VM 與容器

雖然虛擬機器和容器都可用來隔離應用程式,但兩者做法截然不同。虛擬機器會將整個實體硬體堆疊 (包括作業系統) 虛擬化。這讓每個 VM 成為獨立的隔離環境,但也代表 VM 往往較大,會占用更多資源。

相較之下,容器只會虛擬化 OS 層,因此更輕量。容器不會將完整作業系統與每個應用程式搭配,而是共用主機的 OS 核心。因此,容器使用的資源比 VM 少,啟動速度也較快,同時仍可維持隔離狀態。這些特性讓容器非常適合用來開發新應用程式。過去 10 年開發的許多應用程式都是為容器編寫,因此電子商務、後勤和 AI 等許多工作負載都是「容器原生」。

虛擬機器的用途

VM 是虛擬化運算資源的基本構成要素,在雲端或地端部署環境建立任何應用程式、工具或環境時,VM 也是這整個程序中的主角。

以下列舉幾個企業使用虛擬機器的常見方式:

多部實體機器可重新設定為 VM,並在主機上與其他 VM 一併執行,減少資源散亂的情況。VM 經過時間考驗,證明能執行效能要求最高的應用程式。

中央 IT 部門可以為各業務單位和職務領域佈建及管理 VM,加快資源存取速度,同時提升企業可見度。

VM 可做為測試和開發作業專用的獨立環境,在此環境中一樣有完整的功能可以使用,但不會對周圍的基礎架構造成影響。

VM 可輕鬆關閉/開啟、遷移及調整,因此能提供最大的開發與部署彈性。

VM 的靈活彈性和可攜性是協助您加速完成遷移計畫的重要關鍵。

使用 VM 在雲端環境中複製系統,除了能多添一層安全保障之外,也能讓您更加安心有把握。此外,雲端環境也可以持續更新。

VM 可提供基礎,讓您建立雲端環境並與地端部署環境一起搭配使用,您可以享有充分的靈活彈性,不需要捨棄舊版系統。

虛擬機器的優勢

虛擬機器具備許多優勢,選用雲端 VM 更能為您帶來以下好處:

擴充性

雲端式 VM 可讓您輕鬆調度應用程式資源,提升可用性和效能。您可以根據需求提高容量,無需購買實體伺服器。

可攜性

虛擬機器是單一軟體套件,內含硬體資源、作業系統和所有應用程式。您可以輕鬆將 VM 移至另一部伺服器,也可以從地端部署硬體移至雲端環境。

足跡和成本減少

VM 可讓您透過單一機器執行多個虛擬環境,降低實體基礎架構足跡、電費、以及維護和管理的成本。

佈建速度更快

您可以輕鬆複製 VM,讓企業快速啟動相同的全新環境,不必從頭開始設定。

可靠性

虛擬機器及其元件會以虛擬方式獨立存在,與其他訪客 VM 區隔開來。VM 當機時,其他訪客 VM 仍會繼續運作,不會影響實體主體機器。

安全性更高

虛擬機器可讓您執行多個作業系統,不會影響主機作業系統。VM 可讓您建立安全的虛擬環境,用來測試應用程式,甚至研究安全漏洞,都不會對主體機器造成高風險。Google Cloud 的 Confidential VM 等現代 VM 產品,可透過硬體式受信任的執行環境 (TEE),為記憶體中處理的資料提供使用中加密。

虛擬機器的潛在難題

不過,執行 VM 時需要考量一些事項。虛擬機器最大的潛在挑戰之一,就是主體機器不夠強大時,可能會影響多個作業系統和管理程序層的效能。此外,虛擬硬體的效率可能比不上實體機器的實體硬體。最後,大多數雲端服務供應商提供的虛擬機器會搭載固定的 CPU 和記憶體,導致資源使用效率不彰。

選擇使用雲端服務供應商提供的 VM 能解決上述許多問題。相較於傳統 VM,Cloud VM 具備許多優勢,可讓組織存取整個資料中心中所有電腦的運算能力,而非單一電腦的運算能力。此外,Google Compute Engine 提供的虛擬機器大小,包含自訂機型。您可以根據工作負載需求,自訂 CPU 與記憶體的比例,不必從預先定義機型中選擇,避免資源過剩,只為實際使用的資源付費。這種針對工作負載調整的做法可減少資源浪費,大幅降低雲端支出,特別是從地端部署環境或其他雲端服務供應商遷移至 Google Cloud 時。Compute Engine 也為客戶提供適合特定用途的虛擬機器類型,例如企業工作負載、需要大量記憶體容量,或是機器學習高效能運算等高需求工作負載。

Google Cloud 也提供受防護的虛擬機器,讓 VM 執行個體擁有更高的安全性和可驗證的完整性。Google Cloud 受防護的虛擬機器採用先進的平台安全性功能和控管機制,可保護企業工作負載不受遠端攻擊、提權和惡意內部攻擊等各種威脅。

對於某些應用程式,開發人員可能會選擇完全略過傳統 VM。容器自動化調度管理 (Google Kubernetes Engine - GKE) 和無伺服器運算 (Cloud Run) 等現代部署模型是強大的替代方案,適用於特定用途,可讓團隊略過 VM 作業系統管理、加快部署速度,並通常能節省更多成本。

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。
聯絡 Google Cloud 銷售專員,深入探討公司面臨的獨特挑戰。

後續行動

運用價值 $300 美元的免費抵免額和 20 多項一律免費的產品,開始在 Google Cloud 建構產品與服務。