軟件正在吞噬整個世界。無論是計算、網絡、存儲,還是其他傳統基礎架構,都在軟件定義時代面臨威脅。簡而言之,軟件定義就是通過虛擬化將軟硬件分離,把服務器、存儲、網絡計算資源池化,最終實現這些虛擬化資源的按需交付。在向SDDC(軟件定義數據中心)邁進的過程中,通過底層可編程標準,使得SDN、SDI、SDS等衍生技術都有了自己的發展路徑,在各自領域的架構優化時起到了重要作用,甚至是軟件定義內存(SDM)。
軟件定義顛覆傳統數據中心
軟件定義的概念最早可以追溯到90年代,起初是為了推動網絡數據傳輸的效率,在硬件設備通路上進行編程實現動態網絡。不過,由于通用硬件底層與上層編程環境的資源沒有有效協調,也只能感嘆“生不逢時”。直到10年前虛擬化技術出現,才借助軟件和硬件分離的方法初步解決了難題。與傳統架構相比,軟件定義可以將數據和控制分離,軟件負責管理、控制和調度硬件資源,硬件負責運算和執行。
需要注意的是,軟件定義的轉換過程并非一步到位,是軟硬件解耦后將可操控部分通過編程接口或其他形式,結合前端應用的需求,分階段實現對各類資源的調用。這種可編程的過程,類似對智能家居的控制,將傳統一體化硬件“打散”,建立虛擬化、API層,借助控制軟件進行調度和管理。顧名思義,本質上就是軟件驅動硬件資源。
軟件定義之所以能成為潮流,一方面是得益于其自身優勢,不僅研發創新的速度加快了,價格成本也比硬件便宜不少,對數據中心性能、節能、擴容的升級應變靈活,而且現在基礎設施也引入了智能化。同時,開源軟件也為軟件定義提供了更多可能性,廠商做系統時有了新選擇。另一方面,摩爾定律為硬件性能帶來的增強也為軟件定義奠定了基礎,可以通過虛擬化計算資源完成更復雜的任務。
前文提到了不少軟件定義,包括SDN(軟件定義網絡)、SDS(軟件定義存儲)、SDI(軟件定義基礎設施)、SDDC(軟件定義數據中心),這里簡單介紹一下:
SDI旨在讓開放架構數據中心的IT資源“動起來”,推動管理模式向自動化轉型,為客戶提供動態感知工作負載、數據資源的環境,使得應用負載在本地或混合云中選擇最優環境運行。本質上說,SDI就是消除可變的復雜度,通過對物理和虛擬基礎設施資源進行動態、開放的控制,從而滿足應用、IT和業務用戶的需求。
SDN是通過分離網絡設備的控制面與數據面,將網絡能力抽象為應用程序接口(API)提供給應用層,構建開放可編程的網絡環境。通過對底層的網絡資源虛擬化,實現對網絡的集中控制和管理。SDN將網絡設備控制能力集中至中央控制節點,搭載網絡操作系統,以軟件驅動網絡控制和業務配置的自動化靈活部署。
對于SDS來說,多云平臺的適用性讓操作便捷化,無論是內置磁盤、閃存,亦或是外部存儲,均可打包起來連帶管理。同時,智能化流程也能夠自適應工作負載,降低了人力成本。借助自動分層技術,不同存儲系統和虛擬機產品可以迅速遷移至存儲層,“就地”進行優化。從某種程度上來說,SDS為傳統存儲方案帶來了新的可能,而非一棒子打死,數據中心或許可以在“無視”硬件基礎設施的情況下實現自動化。只要是經過預先配置的服務和工具,經過測試后可以立即投入使用。
SDDC可謂軟件定義的終極目標,簡單來說就是虛擬化、軟件化數據中心的一切資源,包括服務器、存儲、網絡等。通過虛擬化構建由虛擬資源組成的資源池,用戶可以將這些資源橫向擴展為內存池、存儲池、計算池、網絡池…再把其拓展為一個個小型虛擬數據中心,使得資源利用率提升。
可以說,軟件定義打破了傳統以硬件為核心的框架,帶來了靈活性和可擴展性。不過,軟件定義也離不開硬件的性能支持,二者相輔相成。從SDN到SDS,再到SDDC,軟件定義“再造”了傳統IT架構,甚至解決了一些虛擬化手段難以應付的問題。更重要的是,軟件定義的顛覆不止局限于架構層面,還挖掘了新型的商業模式和相應的創業公司,其中就包括軟件信息技術的發展。
不僅是SDS,其實內存同樣面臨著軟件定義的趨勢,尤其是存儲和內存逐漸融合部署之后。美光推出的全閃存NVDIMM(非易失性雙內存模塊)讓系統內存變得復雜,需要兼顧內存速度和數據中心存儲架構的持久度。從一定程度上來說,NVDIMM與SSD的互補性增強了。舉個例子,新型的NVDIMM完全有能力支持大容量的DRAM和內存,用戶在系統運行時可以將數據從閃存轉到DRAM中,亦可以在任務結束時讓DRAM的數據返回閃存。
既然涉及到存儲架構的可持續性和可移植性,那么內存就有理由與存儲協作,通過軟件工具在硬件之間進行數據交互,也就是上文所說的DRAM、DIMM、SSD之間的數據遷移,這種概念也被認為是SDM(軟件定義內存)。盡管當前SDM的話語權還掌握在英特爾這種上游廠商手中,但隨著內存性能、壓縮技術、開發工具等配套服務逐步升級,SDM遲早會出現在更多廠商的產品路線圖上。有一些專預測,融合內存和SSD存儲池的新型集群可能會在明年亮相。
借助軟件工具,內存和閃存可以形成共享資源池,而NVDIMM-N有時也可以拿來當做DRAM使用,以獲得快速的讀寫速度。誠然,SDM在數據中心虛擬化的過程中仍扮演著“新人”角色,有不少問題待解決,例如DIMM的性能瓶頸,或是介于NAND與DRAM之間的速率提升難度。但在長期來看,隨著基礎架構的改進、軟件工具的完善,以及虛擬化技術的增強,SDM將很可能在軟件定義時代占有一席之地。