術語軟件定義變得越來越流行,但你造它真正的含義么?是什么鑄就了軟件定義技術?
隨著IT朝著服務提供商的角色轉變,傳統手動配置計算、存儲與網絡資源的實踐壓力增加,難以跟上步伐。提交服務票據,等待數天,讓IT設置一臺新的虛擬機或開拓一個虛擬專用網絡,這種做法已經落伍。用戶期望敏捷配置,甚至他們自己擁有配置資源的能力。為了滿足靈活性與有效性配置的需求,數據中心探索了各種不同的基于軟件的技術,用于管理虛擬機、存儲、網絡甚至整個數據中心。我們進一步看看軟件定義技術,瞧瞧需要什么才能成功部署該技術。
“軟件定義”到底意味著什么?符合哪些標準才算“軟件定義”?
任何“軟件定義”技術實際上關于發生了資源抽象與配置。這是虛擬化的關鍵原則。
虛擬化允許計算資源從底層硬件中抽象出來。一旦可用,物理資源抽象成虛擬資源,軟件工具也能在系統運行時部署用來重新分配虛擬資源給操作系統與應用(或更改之前配置的資源分配),并且此后不再需要硬件設置與配置,一勞永逸。
就如日常磁盤驅動器一樣。文件系統軟件將磁盤的磁道與扇區抽象出來,使整個磁盤容量劃分為一個或多個邏輯驅動,相互之間獨立,然后呈現給操作系統。我們不喜歡姜文件系統作為虛擬化軟件或“軟件定義磁盤驅動”,但資源抽象原則幾乎相同。
較新的例子是服務器虛擬化。諸如Hyper-V、VMware vSphere或Citrix XenServer這樣的hypervisor用于將服務器的物理計算資源(如CPU時鐘周期與內存空間)抽象為虛擬資源。這讓管理員配置虛擬計算資源成為可能,以便創建虛擬機。我們就能輕易將虛擬機看做是“軟件定義服務器”。
最終,任何軟件定義技術的“軟件”部分提供抽象層,還有圖形或命令行用戶界面,以便分配、監控并管理這些抽象資源。應用編程接口可能也能支持第三方軟件產品或功能插件。如果由于漏洞或惡意軟件,抽象層失效的話,虛擬資源或配置也會受到牽連。