服務器可以說是數據中心里最核心的IT基礎設施,網絡、存儲從根本上講是為圍繞服務器來部署的,因為數據中心本身最重要的作用是在于對數據的執行上,而這個執行的基礎就在于對信息的處理與數據的生成,否則網絡上沒有數據需要傳輸,存儲上也沒有數據需要存取。因此,從另一角度上講,服務器是離企業應用承載最近的IT設備,它效率的高低直接影響著企業應用的表現,進而關乎企業的競爭實力與發展的未來。
當軟件定義之風盛起時,最先波及到時的也是服務器,同時也因為其與應用的緊密關系,從而讓軟件定義在與服務器結合之初,就與應用結下了不解之緣,我們可以總結為“為應用而定制”,這一原則也在指引著服務器發展的未來。
軟件定義服務器的典型案例:服務器虛擬化
由于服務器虛擬化主要由虛擬化管理器(VMM)來實現,所以傳統的服務器虛擬化就是典型的“軟件定義”,從它自身的發展過程中,就能很好的體現出“軟件定義”的由來、優勢和其與硬件之間的關系。
與所有流行的技術一樣,虛擬化技術的誕生,是與用戶需求密不可分的,這也從側面印證了軟件定義本身也是需求引發的產物。
在很早以前,人們就已經發現服務器內部的計算資源(CPU+內存)并不是長期處于滿負載的工作狀態下,很多時候CPU占用率只在10%甚至更低的水平,有的服務器長期處于5%以下的CPU利用狀態。而當IT對于企業越來越重要之后,IT的投資也在逐年增長,漸漸的,對于這筆投資的回報率,也走進了企業高管的視野——我投了這么多錢買服務器,實際只用了這么點資源?但是當時的應用架構,在兼容性與可靠性方面,也決定了服務器使用方式,一個應用一個服務器,這在確保應用之間互不影響的同時,也劃定了服務器的應用模式。然而,對于成本的考量,以及對資源物盡其用的要求,使得人們開始研究如何“復用”一臺服務器的技術,這就是當前已成主流的虛擬化。借助于VMM,它讓一臺服務器上可以運行多個虛擬機,每個虛擬機再承載不同的應用,在邏輯空間上實現隔離,既保證了應用間的獨立,也讓服務器的資源獲得最大化的利用,CPU占用率長期保持在50-70%左右,相較于原來的水平,相當一臺服務器頂原來的5至10臺來用,效益可觀。
當前,我們已經很熟悉服務器虛擬化所帶來的好處,雖然它與云計算并沒有直接的聯系,但誰都不否認它是實現云計算的一大捷徑,尤其是云計算所強調的自動化資源配置,沒有服務器虛擬化的幫助,很難想像會如此動態而靈活的計算資源調度——借助軟件層對硬件抽象層的全局管理,計算資源打破了物理機箱的限制,而在數據中心級別實現匯總與融合,進而為新一代的應用誕生提供了必要的土壤與未來進一步發展的核心理念。
但是,對于當今占據數據中心主流的x86平臺來說,在很長一段時間里,因為硬件性能的限制,x86服務器虛擬化都單純依靠軟件來實現,從而造成了虛擬化后的性能較物理機性能有較大幅度的下降,平均達30%左右,這足以抵消CPU換代升級所獲得性能提升,也因此長期制約了服務器虛擬化的普及,直到 CPU虛擬化技術的出現將虛擬機的性能損耗降低至5%以下,才打開了服務器虛擬化在x86市場興盛的大門,并進一步促成了x86服務器在數據中心里的領導地位。
從這一點來說,就明顯能看出最早的軟件定義在服務器上的體現,以及其與服務器硬件平臺發展的關系,而這種“相輔相成”的互動,也在日后的發展中隨處體現,而軟件定義也不再僅僅局限于服務器虛擬化,它更強調了針對不同應用場景的底層支撐軟件的適配,與硬件一起,更好的為應用服務。
為不同的應用場景而誕生的服務器
在IT最早誕生之初,應用的類型是非常單一的,甚至有些公司認為全球只需要幾臺大型主機就夠了(IBM),也有一些IT名人在當時認為計算機的內存有640KB就足夠了(比爾-蓋茨),但顯然隨著人類文明的進步與IT技術自身的發展,IT越來越多滲透至更多的應用領域,也讓其自身的形態發生了根本性變化。這就如同汽車最早發明時,只是轎車,但后來隨著汽車技術的成熟,逐漸出現卡車、大客車以及特種車輛(最典型的就是軍用、消防等車型)一樣,不同的應用場景也帶來了不同應用的需求,而這也就意味著服務器也必須發生改變,同時再借助相應的軟件定義技術,為相關應用提供了更好的承載平臺。