亞馬遜公司在去年11月舉行的re:Invent會議上推出了其新的裸機(Bare Metal)服務,使用戶能夠訪問物理服務器,而不是以往提供的虛擬機實例。虛擬機實例通常只提供運行它們的??物理機器的一部分功能。
裸機服務
那為什么用戶愿意使用虛擬機呢?因為他們更靈活。許多云計算服務提供商采用“即用即付”模式,用戶可以根據需要配置虛擬機,然后在不再需要時暫停或退出虛擬機,并僅支付機器運行時使用的資源。
為什么亞馬遜公司的裸機服務與用戶可以在托管服務提供商的數據中心設施中擁有和運營的物理服務器不同?因為云計算服務提供商負責操作和管理物理服務器以及所有支持基礎設施。在托管模式下,用戶組織通常必須購買和管理自己的設備,并在提供商的數據中心租用空間來托管它。
亞馬遜公司還聲稱,其Bare Metal實例與其他云計算實例具有相同的彈性和可擴展性,這意味著客戶可以在幾分鐘內配置它們,并盡可能擴大或縮小它們,盡可能使用現有類型的實例。
AWS公司并不是第一家為其產品組合添加裸機功能的云計算提供商,Rackspace、Oracle和IBM在幾年前就已經為客戶提供了裸機服務器。然而,亞馬遜公司的裸機服務器以包括專用硬件(稱為Nitro的平臺)來卸載網絡和存儲處理而著稱,以盡可能地為用戶的應用程序提供裸機性能。
客戶可以在物理服務器、裸機服務器和虛擬機之間做出選擇,而目前流行另一種選擇,采用容器允許使用物理服務器的一小部分功能來部署工作負載。
虛擬機
服務器上的虛擬化是劃分系統資源的一種方式,以便多個用戶或工作負載可以在同一個系統上獨立運行而不會相互干擾,其根源可以回溯到大型機時代的第一個多用戶系統。例如,IBM的VM(虛擬機)大型機操作系統于1972年推出。
在2001年推出ESX Server和GSX Server產品時,x86服務器就有了虛擬機。在x86服務器使用虛擬機的主要驅動因素是工作負載整合。在虛擬化之前,企業服務器通常會運行單個工作負載,并且使用率低至10%,這意味著它們大部分時間處于閑置狀態。將它們轉換為虛擬機,意味著可以在單個物理服務器上獨立運行多個負載,從而減少組織所需的服務器總數。
GSX Server允許用戶在現有操作系統(如Windows)的基礎上運行虛擬機,因此是Type-2管理程序的一個示例,而ESX Server則運行在裸機上,因此是Type-1管理程序的一個示例。ESX Server讓位于當今支撐VMware vSphere平臺的緊湊型專用虛擬機管理程序ESXi。
Type-2虛擬機管理程序效率較低,因為它們在現有操作系統上運行。出于這個原因,它們現在基本上局限于客戶端虛擬化,例如VMware Workstation,它允許開發人員在Windows或Linux臺式機和筆記本電腦上運行一個或多個虛擬機。
通常用于服務器虛擬化的其他虛擬機管理程序包括Xen,并作為2003年的開源項目開發。這已被AWS公司所采用,以在其EC2云服務上驅動虛擬機實例,同時也是Citrix XenServer和XenDesktop的基礎。
在2007年,Linux公司以基于內核的虛擬機(KVM)項目的形式獲得了自己的管理程序。而KVM被實現為內核模塊,在加載時將Linux內核轉換為裸機管理程序。因為KVM已經成為內核的一部分,所以KVM已經成為許多使用虛擬化平臺的默認選項,例如OpenStack云框架,Apache CloudStack和大部分主要的Linux發行版。
如今使用的另一個主要hypervisor是微軟的Hyper-V。自2008年以來,這已經內置于Windows Server的每個版本中,因此絕大多數組織都使用Windows服務器,因此廣泛采用此方法。很多遲遲不愿意進行虛擬化的組織會試圖簡單地建立在Windows中已經實現的基礎上。
所有這些虛擬機管理程序在運行方式上都有所不同,但最終結果大致相同。他們分配主機服務器的資源以創建多個虛擬機,每個虛擬機的行為就像它本身就是裸機服務器一樣。用戶甚至可以通過使用正確的工具將虛擬機映像從一個虛擬機管理程序遷移到另一個虛擬機。
每個虛擬機在進行任何有用的工作之前都必須先配置自己的操作系統和虛擬磁盤,并且還可能需要單獨配置要運行的應用程序。在企業環境中,這通常由諸如Microsoft的System Center虛擬機管理器(SCVMM)之類的管理工具來處理,而在云計算平臺中,該過程是高度自動化的,并且由最終用戶使用自助服務供應工具來驅動或者以回應某些事件。
容器
容器是分配系統資源的另一種方式,但這些方式在操作系統級別運行。容器實際上只是一個服務器中的獨立環境,而不是一個完整的虛擬機,它包含應用程序代碼和應用程??序依賴的任何支持代碼庫。因為容器不需要包含整個操作系統,所以它們可以在服務器之間快速創建和移動,并且可以在任何給定的服務器上運行比虛擬機多得多的容器。
容器已經存在很多年了,但目前容器吸收量的增長是由于Docker在2013年推出了它的平臺,使開發人員能夠在容器中快速部署代碼。Docker的理念是將應用程序分解成更小的模塊,這些模塊可以單獨部署和更新,并與當前的敏捷開發和微服務體系結構融合在一起。
在云平臺中,容器、虛擬機和裸機服務器都是服務提供商向客戶出售計算能力單元的唯一途徑。每個服務都有自己的優點和用例,這些并不是相互排斥的。例如,虛擬機可用于托管組成應用程序的容器數組。
裸機服務器為要求苛刻的或專業的工作負載提供額外的性能,并允許用戶部署僅可用于非虛擬化環境的軟件,或者使用云計算提供商的虛擬機目錄中不支持的操作系統。
但是,他們通常需要更多工作,因為用戶必須承擔許多任務,例如部署軟件和保持軟件更新,如果用戶使用虛擬機,則由云計算提供商管理這些任務。
AWS公司添加裸機實例的意義在于,客戶可以在一個控制臺上將這些實例與公司的虛擬機和容器服務一起使用。它為客戶提供了一種新的選擇,這就是組織采用云計算的真正目的。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。