從理論上來說,軟件定義一切絕對是靠譜的。然而從時間角度來看如那件定義呢?
軟件定義網絡(SDN),軟件定義存儲(SDS),軟件定義計算(SDC),軟件定義數據中心(SDDC),我們傳統意義上的基礎設施幾乎都被打上了軟件定義的標簽。供應商希望突破硬件的界限,從而打造一個更加動態且包含更多軟件功能的平臺。
站在理論層面上,“軟件定義一切”就是要將特定的硬件與軟件進行解耦,這種方法是可行的且收益明顯。
一個基礎硬件平臺可以是通用的產品,通過虛擬化和云計算技術將實際的運營平臺從硬件中抽象出來。然后,通過軟件將平臺的功能剝離,這些功能需要響應技術與業務市場的需求,因此我們只需要修改軟件就能實現這個目的。也就是說,我們不再需要進行“笨重”的硬件升級。
當然,理論與實踐總是會有所差距。軟件定義并沒有看上去那么簡單,它只是解決問題的方法之一,并不是全部。技術仍然在滾滾向前,今天的服務器性能永遠會被后來者所超越;存儲密度和速度也會不斷地改善;網絡功能提升,包括帶寬以及運行介質(比如光纖網絡的普及)仍將需要硬件的升級才能夠實現。然而通過軟件定義方法,你可以更輕松地將軟件從遺留系統轉移到新的硬件平臺。
與從前相比,現在軟件在整體平臺的運作過程中將發揮更加重要的作用。傳統的系統管理框架也許會走向滅亡,要獲得一個復雜異構IT平臺的整體視圖需要一整套軟件來實現。而且不光是在管理方面,這個平臺所提供的實際功能也非常重要,因此我們將看到越來越多的平臺會被軟件所定義。
軟件只是組成部分之一我們來看看市場上第一個軟件定義——SDN(軟件定義網絡)。開放網絡基金會(ONF)最初試圖把SDN作為轉向商品化的一種手段,把通過OpenFlow在軟件層面上做的所有事轉移到網絡去。然而,服務供應商們發現,把這么多來自數據平臺的數據包遷移到基于軟件的管理和控制中會給系統帶來太多延時。所以,為了最小化延遲,他們把網絡功能虛擬化(NFV)作為了整合功能的并行系統。
像思科公司(已收購 Insieme Networks公司)和瞻博網絡(已收購Contrail公司)決定采用更綜合的方法來更加直接地滿足客戶的需求。一些功能是通過軟件來處理的,而另外一些功能是智能內嵌在網絡本身內部的,它們是通過內部的網絡操作系統(思科的IOS和Juniper的Junos)、應用專用的集成電路(ASIC)和現場可編程門陣列(FPGA)實現的。
新組合試驗這種做法在別的地方也有所應用。遠離商品化的服務器層,我們可以看到更多標準化的API,它們都是針對異構環境鏈接整合而定義的。各種不同性能處理器的混合使用,再加上Intel x86 CPU一起使用的現象變得更加普遍了。例如,IBM的Power芯片和低功率ARM處理器,加上來自Nvidia的GPU和像來自Azul系統的那些無負荷服務器,這種組合應用的情況正變得越來越普遍。
來自IBM、Dell、HP、Fujitsu和其它公司的融合系統將會把智能內建于系統本身。一些融合系統的智能是由軟件提供的;然而,其中有很多可以追蹤到系統的工程和專有技術內部的智能。融合系統中的專用方法不算是問題,只要它不影響管理和升級的成本就好。
雖然許多功能都被抽象到了軟件中,但仍然有一些重要的部分需要硬件智能來實現,這部分是與軟件協同工作的。
為完美融合而生在存儲方面也是類似情況。從傳統磁盤向基于閃存的系統做遷移會給現有存儲管理軟件帶來巨大的壓力,更多供應商都意識到了存儲、網絡和服務器之間的相互協作才是最主要的問題。
例如,部署一套完全基于閃存的存儲陣列可能不會給性能帶來期望的理想提升,因為網絡不能處理閃存存儲陣列產生的IOPS。如果我們修改網絡以適應需要的IOPS,又會導致服務器處理能力不足,會超過CPU能處理的數據量。
EMC打算通過其VIPR技術來解決這個問題,作為EMC聯邦公司(包括EMC II,VMware和Pivotal,還有RSA和VCE)的一大支柱,ViPR是整個SDDC方法的一部分,SDDC方法的目的是確保硬件平臺的所有組成部分都能在最優化的層次上被管理。然而,大部分智能仍然位于EMC存儲陣列中,VMware管理程序和VCE的VBlocks并不是純軟件實現的。
像Pure Storage、Nimble和Violin Memory這些新時代的存儲供應商已經意識到未來不只是在于陣列,而且還有圍繞陣列的智能和軟件功能。在這些供應商之間的大戰將會持續進行,他們都在為了明天的IT平臺在拼軟件,給客戶提供從物理環境轉向虛擬環境的智能功能。
選擇正確的時機工作負載成了大問題。在異構IT平臺中,包含有不同的功率的CPU,不同的云環境和網絡技術,要確保合適的負載由合適的平臺在合適的時機承擔是一個很大的挑戰。
IBM在zEnterprise系統中就采用了負載管理器來解決這個問題,不過其它廠商也表示可以用高度動態化的資源池以更自動化的形式來管理負載。
其它想在軟件定義世界中占有更大空間的公司還包括一些老牌系統管理公司,比如CA和BMC。物理IT平臺寫在墻上的倒計時日所剩無多了,這兩家公司都在快速開發基于軟件的工具整合,它們可以與私有云、公眾云和混合云這些抽象平臺協作以優化性能。從硬件的角度來看,CA和BMC也不是別有用心,他們在研究的絕對不只是純粹的軟件方向,但是需要確保他們可以實現主要競爭者們已經實現的基于硬件的智能。
加大壓力隨著硬件和軟件平臺變得越來越復雜,把它作為單獨實體并相應單獨管理也變得很重要了。
這里,期望看到數據中心基礎設施管理(DCIM)的供應商們變得更加直言不諱了。像Nlyte、FutureFacilities、施耐德和艾默生這些公司都有軟件,而且這些軟件的發展水平直追IBM、CA和BMC。在DCIM和“系統管理”之間盡管有些軟件看起來是配角,但是DCIM供應商提供的整合面板明顯在市場上占重要角色。
軟件定義方法的另一個領域是對DevOps世界產生了很大影響。DevOps有效工作的唯一方式是通過高度自動化和基于軟件的方法實現的。像Serena軟件、IBM和BMC這些公司都提供了軟件產品使DevOps工作更好。Delphix提供了軟件定義虛擬數據的一種方法,DevOps開發者們和測試者們可以利用這種方法針對近乎實時的數據進行開發測試,而不會影響運營環境。
空言不如實證那么,我們將何去何從呢?純粹的軟件定義世界,還是基于商品化的硬件,看起來都不會單獨存在和發生。一定是個混合的世界:一些功能通過軟件實現,而另一些智能功能通過底層硬件實現。這種結果出現的可能性更大。
從IT采購方的角度來看,要確保在開放(但是優化放在其次)和專用方法(但是依賴緊密)之間的夾縫中前行。要確保你部署的內容支持新技術和新供應商,但是也要滿足企業在性能和靈活性方面的需求。系統抽象功能有效性很重要,但是利用供應商的API才能挖掘到最底層的功能,也會效果最好。
“軟件定義”仍然是很重要的,但是“軟件定義一切”可能還為時尚早。