了解VM、容器與無服務器之間的差異
傳統上,應用程序緊密鏈接到執行其代碼的服務器和操作系統。而多年來,供應商們一直在努力減少這些依賴性并簡化部署:VM、容器和無服務器計算就是他們為減少這些緊密聯系所采取的不同方法。它們不僅提供更高程度的可移植性,但也為IT管理員帶來新的管理挑戰。因此,在VM與容器還是無服務器之間做出選擇,并非易事。
企業花費大量時間、金錢和精力來分配和管理他們的系統。
企業管理協會的研究總監Torsten Volk稱:“企業希望在維護計算機基礎架構上花費最少的資源。”
邁出第一步
VM之所以受歡迎,是因為它們大大提高了服務器效率。企業無需為每個應用程序部署一臺服務器,而是可以在一臺計算機上運行多個應用程序。VM是成熟、可理解和有效的技術,幾乎每個企業都依賴VM。
Gartner公司舊金山地區杰出副總裁兼分析師Arun Chandrasekaran說:“虛擬機抽象出服務器的硬件功能,并為應用程序模仿專用的硬件。”
在推出虛擬機時,虛擬機是IT領域的重大進步。但是,VM具有其自身的局限性。例如,每個VM都會創建一個與基礎操作系統緊密相關的系統映像。企業運行多種類型的服務器,并且通常根據需要將工作負載遷移到計算機上。VM無法提供這種水平的可移植性,因為為微軟創建的VM無法在Linux上運行,反之亦然。
更高水平的虛擬化
容器可幫助解決VM帶來的限制,例如可移植性降低和資源不足。
Chandrasekaran說:“容器虛擬化操作系統,允許一個OS用戶空間的多個實例共享一個OS內核。”它們在上面運行一層,并將應用程序軟件與VM分開。
此外,容器將軟件分解為可以輕松混合和匹配的小組件,從而加快開發速度。根據451 Research的研究表明,容器的使用將從2019年的21億美元增加到2022年的超過43億美元,復合年增長率為30%。
但是,容器并不完美。由于容器是動態的,因此也很難跟蹤它們。此外,企業會生成大量容器,因為它們可能運行幾分鐘甚至幾秒鐘,然后消失。因此,企業將難以監視容器的功能,還需要應對它們造成的瓶頸問題。
另一個選擇
無服務器計算是一種新興的方法,旨在幫助開發人員擺脫傳統計算機基礎結構所需的繁重工作,例如分配存儲和建立網絡連接。盡管應用程序仍然需要服務器資源才能運行,但是開發人員不再需要使用無服務器計算來構建它們。相反,它們依賴于按需創建資源的高級API。
Chandrasekaran說:“實質上,無服務器功能抽象了運行時環境,使開發人員可以將更多的精力放在應用程序的設計和配置上,而不是與基礎結構相關的配置和管理上。”
但是無服務器計算也有其自身的缺陷。借助無服務器計算,開發人員必須重新考慮如何構建應用程序,并且經常需要接受培訓,因為無服務器與傳統應用程序對立運行。
另外,必須啟動系統服務才能運行該應用程序。因此,可能會出現延遲,這會導致實時應用程序出現問題。無服務器還將鏈接企業與單個供應商。例如,移植為AWS構建的無服務器應用程序并不容易,因此它可以在Microsoft Azure上運行。
總結
企業應如何在VM、容器和無服務器之間做出選擇?根據Volk的說法,該答案取決于應用程序。例如,傳統系統通常依賴于VM,而全新的云應用程序通常建立在容器和無服務器計算基礎架構上。
企業不必做出最終選擇。三種方法各有不同,但是企業可以結合使用它們。在很多情況下,可將容器放入VM。
Volk說:“開發人員可結合虛擬機帶來的管理優勢與容器所承諾的靈活性。”
同樣,容器還可與無服務器應用程序配合工作。例如,企業可能正在構建不需要與舊版應用程序緊密連接的新應用程序。但是VM不經常與無服務器計算一起使用,因為它們的基礎是如此不同。
盡管企業可以混合使用這三種方法,但是管理不同的系統仍具有挑戰性,因為每種方法都有自己的一套工具和功能。VM管理服務非常強大,而容器和無服務器管理產品正處于發展初期。企業最終想要的是一種可以同時使用這三種服務的管理產品。
Chandrasekaran說:“雖然這些抽象(VM和容器、容器和無服務器)之間有一些融合,但是統一的控制平面仍是新生事物。”
企業希望打破應用程序和計算機基礎結構之間的緊密聯系,VM、容器和無服務器有所幫助,但仍然缺少應用開發和管理的解決方案。




















