可能有一天,云不再有我們所知的虛擬化,除非在極少數(shù)情況下需要額外的抽象級別來更好地保護應(yīng)用程序運行和數(shù)據(jù)所在的位置,以及公司愿意承受額外的性能損失以提供更高級別的安全。
OpenStack社區(qū)正在為這一天做好準備。OpenStack基金會首席運營官Mark Collier和執(zhí)行董事Jonathan Bryce一起討論了虛擬化、裸機和容器的未來。
像OpenStack這樣的云控制器最初是為了將虛擬機管理程序配置到服務(wù)器集群上,然后是包含整個操作系統(tǒng)并在這些虛擬機管理程序上運行應(yīng)用程序的虛擬機而創(chuàng)建的。這是一個很大的開銷,谷歌創(chuàng)建了最初的Linux容器(基于命名空間和cgroups),以避免支付VM開銷,但仍然在其集群中運行的工作負載之間提供一些隔離。Docker容器源自谷歌的這些想法,已經(jīng)開源并被廣泛接受。谷歌采用了Borg和Omega集群控制器的許多想法(這些控制器將容器編排器作為其功能集的一部分),并開源了該軟件的Go變體——Kubernetes,它正在迅速成為Docker的首選編排器。
根據(jù)OpenStack最新用戶調(diào)查的初步結(jié)果(結(jié)果將于11月在柏林的OpenStack峰會上公布),大約20%至25%的客戶正在將Ironic裸機插件用于生產(chǎn)中的OpenStack。這比2017年調(diào)查中的15%和2016年調(diào)查中的11%有所上升。五年前,95%的工作負載使用一個管理程序或其他管理程序——主要是Xen(由Citrix Systems控制)或KVM(由Red Hat控制),少量VMware ESXi,只有少數(shù)使用裸機配置。Bryce估計現(xiàn)在OpenStack站點的工作負載中有70%到75%是虛擬化的,剩下25%到30%的工作負載是在裸機上運行的。這是一個重要的區(qū)別,因為OpenStack客戶有時會有許多集群和數(shù)十到數(shù)百甚至數(shù)千個工作負載,有時還會有裸機或虛擬主機的混合集群。
已經(jīng)有OpenStack上裸機用戶做大做強的例子。雅虎大規(guī)模運行Ironic插件,管理著超過100萬個內(nèi)核,運行各種應(yīng)用程序。Adobe擁有一個超過100000個核心的OpenStack云,由四個人運營——該公司表示,運行成本比公有云上的基礎(chǔ)設(shè)施低30%。企業(yè)SaaS軟件供應(yīng)商Workday擁有一個50000核心的OpenStack集群,該集群正在擴展到300000個核心,以支持快速擴展的業(yè)務(wù)。
隨著工作負載數(shù)量的增加以及工作負載本身在容量和用戶方面的增長,OpenStack用戶集群的規(guī)模不斷擴大,這意味著目前OpenStack云上的虛擬機管理程序和虛擬機的數(shù)量不斷發(fā)展,即使容器正在成為打包和部署軟件的方式。
至于容器,虛擬化和裸機主機都配備了容器和它們的編排器,Docker容器占主導(dǎo)地位,而主流的編排方式Kubernetes、Docker Swarm和Mesos都有自己的插件。確切地說,容器在應(yīng)用程序中的普遍程度是OpenStac基金會試圖弄清楚的。但足以說明,部分工作負載正在容器化,而且這一比例只會隨著時間的推移而增長。有可能會增長很多,裸機和容器環(huán)境變得足夠復(fù)雜和安全,除了傳統(tǒng)支持之外不再需要虛擬化。
“在某個時候,虛擬機的數(shù)量可能會開始減少,但就目前而言,虛擬機非常普遍,軟件可以立即以有用和兼容的方式運行。”Bryce說,“關(guān)鍵是,使用OpenStack,你可以使用在環(huán)境中有意義的任何技術(shù),并且可以直接在裸機上運行,使用容器化應(yīng)用程序或支持VM。未來幾年,大多數(shù)IT廠商都將這樣。大公有云也是如此——他們的客戶主要部署虛擬化。因此,真正強大的是在單一平臺上提供所有這些技術(shù)。也就是說,部署裸機越容易,就會更強大。”
有許多新的或改進的OpenStack項目旨在使裸機配置和集群管理變得更容易。在Rocky版本中,有一個新的RAMdisk部署界面與Ironic裸機控制器,允許大規(guī)模集群將其鏡像加載到主內(nèi)存而不是本地存儲,并且這將大大加快裸機服務(wù)器的部署。Ironic還具有控制物理服務(wù)器中BIOS設(shè)置的接口,并配置各種設(shè)置,例如SR-IOV外設(shè)總線虛擬化。GPU加速器的Cyborg接口現(xiàn)在允許從OpenStack框架內(nèi)訪問和重新編程FPGA,包括用于以編程方式自動執(zhí)行此操作的REST API。Cyborg顯然對HPC和機器學(xué)習(xí)工作負載都很有用。
Rocky還改進了TripleO功能,可以實現(xiàn)更好的快進升級。在正常情況下,你必須按OpenStack版本順序升級以獲得最新版本,但使用TripleO,你可以跳過兩個或三個版本,并在該步驟中獲得至少一個當前版本。