概述
容器和虛擬機(VM)是封裝計算環境的兩種方式,其中整合了各種 IT 組件並將其與系統的其他部分隔離開來。二者之間的主要區別在於隔離了哪些組件,這反過來又影響了每種方式的規模和可移植性。
什麼是容器?
容器是一個軟件單元,可包含應用運行所需的所有組件和功能。大多數現代應用都是由多個容器組成,每個容器負責執行某種特定功能。容器通常以兆字節為度量單位,不使用虛擬機監控程序,且通常被視為更快、更敏捷的進程隔離方式。
容器出色的可移植性,是它廣受歡迎的一大重要因素。它與相互拼接的樂高™ 積木很像,您可以輕鬆換下單個容器並將其移動到不同的環境中。將應用及其依賴項封裝到容器中之後,便可以將其部署到任何所需位置:開發人員的筆記本電腦、數據中心、雲或邊緣,且其功能不會發生任何變化。
Docker
是一個用於構建、部署和管理容器化應用的開源平台,多年來,在容器技術的發展中發揮着重要作用。
什麼是虛擬機?
虛擬機在雲計算中發揮着至關重要的作用,它通過在隔離的實例中運行操作系統來模擬物理計算機。多個虛擬機通常託管在單個服務器上,由虛擬機監控程序充當物理主機和虛擬機之間的輕量級軟件層。此虛擬機監控程序可高效管理對資源的訪問,使虛擬機能夠作為不同的服務器運行,同時提高靈活性和敏捷性。
在 2000 年代初期,整合和節約成本的倡議在 IT 領域得到了廣泛推廣,虛擬機的使用逐漸變得流行起來,隨着時間的推移,對虛擬機的使用也在不斷演變。企業的虛擬機部署已日趨成熟,不再侷限於簡單的整合,而是擴展涵蓋了各種用途。其中包括按需為應用提供資源,以及優化對 GPU 等昂貴資源的訪問。
虛擬機還充當了許多早期雲計算環境的基礎,用於促進資源虛擬化並支持多租户和隔離,即多個客户所運行的系統使用的是相同的資源。
虛擬機包含自己的操作系統,因此可以同時執行多個需要佔用大量資源的功能。由於虛擬機的可用資源大大增加,因此它們可以抽象、拆分、複製和模擬整個服務器、操作系統、台式機、數據庫和網絡。
雲原生與傳統 IT 的對比
除了技術差異之外,容器與虛擬機之間的對比恰恰代表了現代雲原生 IT 實踐與傳統 IT 架構之間的較量。