裸機時代
裸機時代的操作系統獨立于每個物理服務器設備上,每臺服務器上運行一個應用程序,這時單臺服務器的性能限制了應用程序的部署規模,而且不同應用程序占用的資源不同,這樣在數據中心里有的服務器很忙,而有的服務器卻很閑,服務器部署的平均利用率僅能達到總容量的10%~15%,造成了資源的極大浪費。裸機時代的操作系統,管理成本高昂,因為服務器數量太多難以管理,新服務器和應用的部署時間長,硬件維護需要數天或數周才能完成,一旦承載應用的服務器故障,就需要手工將應用切換到其它服務器上來,往往給數據中心帶來嚴重損失。這時的操作系統兼容性較差,系統和應用遷移到新的硬件需要和舊系統兼容的硬件系統,這是傳統數據中心普遍采用的操作系統方式,雖然存在各樣那樣的弊端,但從數據中心誕生那日起,伴隨我們走過了數十年,裸機時代的操作系統占據了數據中心發展的大半程時間。
虛擬化時代
虛擬化,原本是指資源的抽象化,也就是單一物理資源的多個邏輯表示,或者多個物理資源的單一邏輯表示。具體到服務器虛擬化,就是多個物理資源的單一邏輯表示。虛擬化技術主要用來解決高性能的物理硬件產能過剩和老的舊的硬件產能過低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件。虛擬化在如今的IT技術領域火的不行,尤其是在數據中心,在任何一個系統里都強調虛擬化。實際上,虛擬化技術也在數據中心里得到了極大普及發展,最近這十年基本是虛擬化技術在數據中心逐漸發展壯大的過程。虛擬化以虛擬機為單位,將資源提供給用戶。虛擬化的操作系統可以將一臺高性能的服務器虛擬成多個虛擬機,在物理上虛擬機共享宿主服務器的硬件資源,而邏輯上各自獨立,可在各虛擬出的服務器上運行不同的應用,各司其職,互不干擾。如此一來,可以大大提升服務器的使用率,降低數據中心的運營成本。虛擬化操作系統是對傳統數據中心資源管理模式的變革,簡化服務器的部署、管理和維護工作。虛擬化時代掀起了新一代數據中心改革的大幕,一時間不僅是服務器,從網絡、存儲、安全等也都引入了虛擬化的概念,大力發展虛擬化技術,原理與服務器虛擬化類似,目的就是提升設備工作效率,以至于后來出現了虛擬化的數據中心,將整個數據中心都虛擬化起來。在虛擬化領域,還是當屬操作系統的虛擬化技術最為成熟,如今的數據中心操作系統里到處都是虛擬化的身影。核心技術有SDS、SDN、OpenStack等等,在亞馬遜、VMWare、阿里云都有規模部署,現在我們正處于虛擬化的時代。
以應用為中心的時代
虛擬化構成的集群仍然難以運維,尤其是出了故障后,不好分析故障原因和位置。用戶希望能夠直接獲取資源,快速啟動,服務可以無限擴展,應用易于遷移。這時一切以應用為中心,將數據中心所有資源進行整合,進行虛擬池化,CPU、內存和I/O這些基本資源都虛擬出來,根據各個應用,按需分配。這時出現了容器集群資源管理技術,這引領了最新一代的數據中心操作系統。容器并不包含一個單獨的操作系統,而是基于已有的基礎設施中操作系統提供的功能來運行的,它將應用程序及所有程序的依賴環境打包到一個容器中,容器可以運行在任何一種服務器上。容器是完全使用沙箱機制,相互之間不會有任何接口,幾乎沒有性能開銷,可以很容易地在服務器和數據中心中運行。最重要的是,他們不依賴于任何語言、框架包括系統。虛擬化時代是操作系統識別的資源隔離,到了以應用為中心時代,容器本質上是進程級的資源隔離。使用容器技術可以將數據中心所有的計算資源集中起來,對單個服務器的性能要求不高,這種整合后的資源可以形成強大的計算能力。每個具體應用根據自身使用情況,申請容器資源,按需分配,達到資源利用的最大化?;谌萜鞯牟僮飨到y技術在2014年誕生后,迅速獲得IBM、思科、微軟、HP、Vmware等廠商的廣泛認可,2015年2月就出現了專業版本,在京東私有云、阿里巴巴、騰訊游戲、百度開放云平臺上都有應用,但是容器技術要在大部分的數據中心里普及應用,還有相當長的路要走。
以應用為中心的時代雖然很好,但是技術并不成熟,不像虛擬化技術是一項高度發展、非常成熟的技術。虛擬化軟件廠商已開發出了能處理成千上萬個虛擬機的管理系統,任何一個數據中心都能找到適合自己的系統。還有安全也是個大問題,以應用為中心的容器技術很少提及安全,彼此鄰近的容器共享處理器、內存和磁盤等資源,這種行為難為為人們深為擔憂,安全無法得到有效保證。
無論如何,如今是數據中心全面進入了虛擬化操作系統時代,先進的大型數據中心有個別的還嘗試部署以應用為中心的容器技術,并嘗到了甜頭。不可否認,容器技術極具先進性,只是目前安全方面還有些令人擔憂,后續若能從安全角度多做文章,必將獲得更為廣泛應用,將來的數據中心操作系統必將以應用為中心。