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