知道為什么應該使用容器。但是您知道部署容器得用哪種基礎設施嗎? 作為托管Docker和其他容器環境的平臺,裸機服務器是否比虛擬機更好?
答案當然取決于很多因素,本文將通過列舉裸機服務器和虛擬機上運行容器的優缺點來討論。我將專注于Docker,但這里分享的經驗通常適用于任何類型的容器平臺。
裸機VS虛擬機
權衡裸機服務器和虛擬化主機環境各自的優缺點不是一個新課題,CTO們在21世紀初就開始思考了,當時虛擬化剛開始在數據中心推廣,Docker則還沒出現。
簡而言之,裸機服務器的主要優點包括:
更高的性能,因為沒有系統資源浪費在硬件模擬上;充分利用所有機器資源,高需求期間無閑置;更簡單的管理,因為主機、網絡和磁盤等硬件基礎架構更少。
虛擬機則具有以下優點:
通過在服務器之間傳輸虛擬機映像,輕松實現在主機間移動應用程序;不同虛擬機中運行的應用程序實現隔離,不僅有助于安全,也能降低管理復雜度。通過在同一類型虛擬機上部署所有應用程序,即使底層服務器是異構的,也能實現軟件環境的跨平臺一致性。
但是虛擬機也有一些缺點,包括:
服務器資源可能未完全使用。例如,如果您在服務器主機上分配存儲空間以創建虛擬機磁盤映像,即使磁盤連接的虛擬機不使用全部空間,該存儲空間也不可用于其他用途。虛擬機無法直接訪問物理硬件。如果您希望虛擬機能夠將計算操作轉移到主機的GPU上,您很難或無法實現,因為虛擬機是從底層主機環境中抽象出來的。物理服務器直接訪問硬件,虛擬服務器訪問軟件模擬的硬件。
現代虛擬化平臺提供了一些技巧,可以幫助管理員解決上述限制。例如,您可以創建動態磁盤映像,該映像隨著虛擬機的使用情況的增加而擴展,以避免虛擬機實際使用之前鎖定主機上的存儲空間。在某些情況下,您還可以利用直通功能為虛擬機提供直接訪問主機物理硬件的功能。
然而,這些功能不是總能生效,例如他們不支持所有的主機或操作系統,他們還會產生額外的管理負擔。如果您要運行的應用程序需要裸機訪問,最好在裸機服務器上運行這些應用程序。
或者,您可以在裸機服務器上的容器中運行應用程序,以便充分利用這兩個方面。
來源:機房360
石家莊服務器托管 石家莊服務器租用 石家莊機柜租用 石家莊機房