軟件定義幾乎已經(jīng)成為當(dāng)今IT圈里開(kāi)口必談的詞匯之一,人們對(duì)其的關(guān)注度已經(jīng)絲毫不亞于云計(jì)算、大數(shù)據(jù)等主流的趨勢(shì),從這一點(diǎn)也可以看出它也已經(jīng)成為了大眾普遍認(rèn)同的發(fā)展方向。
軟件定義之緣起
“軟件定義”之所以會(huì)越來(lái)越成為大眾普遍接受的理念,我認(rèn)為服務(wù)器虛擬化的迅速成熟與普及,讓業(yè)界已經(jīng)可以清晰看到“軟件定義”的威力所在,以及它所能帶來(lái)的想像空間(時(shí)至今日,軟件定義已經(jīng)不局限于虛擬化的范疇),可謂功不可沒(méi)。而另一方面,時(shí)代的進(jìn)步與社會(huì)的發(fā)展,也在從需求的層面對(duì)“軟件定義”進(jìn)到了助推的作用,因?yàn)樗强梢钥吹降淖钣行У木C合手段來(lái)應(yīng)對(duì)未來(lái)的IT挑戰(zhàn)。
在這一過(guò)程中,一個(gè)很重要的原因就是互聯(lián)網(wǎng)與移動(dòng)化潮流的興起,當(dāng)互聯(lián)網(wǎng)將越來(lái)越多的設(shè)備和人連接在一起后,遍布其上的信息入口與出口也就帶來(lái)了極為動(dòng)態(tài)與彈性的信息流,與之對(duì)應(yīng)的就是一個(gè)個(gè)在后臺(tái)進(jìn)行信息匯總與處理的數(shù)據(jù)中心。很多人在用手機(jī)App熱火朝天之時(shí),可能往往想不到,遠(yuǎn)處某個(gè)地方的數(shù)據(jù)中心正因此進(jìn)行復(fù)雜的IT資源管理,以確保用適用的成本投入來(lái)更高效的滿足前端的應(yīng)用需求。因互聯(lián)網(wǎng)帶寬提速與普及而誕生的公有云服務(wù)商,其數(shù)據(jù)中心更是如此,否則以傳統(tǒng)僵化的資源管理模式,公有云服務(wù)在成本與響應(yīng)速度方面絕對(duì)是不可用的。
由此,必須要經(jīng)歷的就是以計(jì)算為中心的自動(dòng)化,它所關(guān)注的是IT生產(chǎn)力的提升,而在此之后則將是進(jìn)一步的互聯(lián)時(shí)代,這會(huì)將若干個(gè)自動(dòng)化的計(jì)算資源整合起來(lái),從而有效的降低成本,而最終則就是“以人為本”——專注于服務(wù)與產(chǎn)品的快速交付,并因此進(jìn)一步促進(jìn)當(dāng)前云與智能設(shè)備的變革。
軟件定義數(shù)據(jù)中心已經(jīng)成為未來(lái)IT發(fā)展之必然
在這一演進(jìn)過(guò)程中,數(shù)據(jù)中心的角色并沒(méi)有變。在早期它可能直接與相應(yīng)的前端設(shè)備來(lái)連接,提供基礎(chǔ)的計(jì)算與數(shù)據(jù)功能,而如今,最終的設(shè)備在外延(比如智能終端),人們也更多的在關(guān)注于應(yīng)用的交付,從而在設(shè)備與數(shù)據(jù)中心之間,又加入了新的內(nèi)容,但無(wú)論如何,數(shù)據(jù)中心仍然將是應(yīng)用與數(shù)據(jù)的大本營(yíng),也就注定了數(shù)據(jù)中心內(nèi)部的變革不可避免,否則不可能有效的支撐起新的設(shè)備應(yīng)用模式與相應(yīng)的服務(wù)。
軟件定義之路
從數(shù)據(jù)中心的內(nèi)部來(lái)看,其IT基礎(chǔ)設(shè)施主要就三個(gè)部分:負(fù)責(zé)應(yīng)用執(zhí)行的服務(wù)器、負(fù)責(zé)應(yīng)用數(shù)據(jù)保存的存儲(chǔ)系統(tǒng)、負(fù)責(zé)應(yīng)用與數(shù)據(jù)互聯(lián)的網(wǎng)絡(luò),無(wú)論IT的形態(tài)如何變化,在可預(yù)計(jì)的未來(lái),這三個(gè)基礎(chǔ)的要素都是 不可或缺的,唯一可能的變化就其存在的形態(tài)。傳統(tǒng)的IT都是由物理化的IT設(shè)備組成,管理人員都是直接與物理設(shè)備打交道,但是物理設(shè)備無(wú)法做到高效的動(dòng)態(tài)化,其相應(yīng)的IT資源(計(jì)算、存儲(chǔ)、網(wǎng)絡(luò))也 會(huì)因物理的限制而無(wú)法高效實(shí)現(xiàn)自動(dòng)化的供給與調(diào)配,快速的自動(dòng)協(xié)同更是不可能。
因此,現(xiàn)在越來(lái)越多的硬件開(kāi)始向軟件定義方向發(fā)展,它們大多可以用SDX來(lái)表述(也因此,SDX成為了軟件定義)。比如軟件定義網(wǎng)絡(luò)(SDN,Software Defined Network)、軟件定義存儲(chǔ)(SDS,Software Defined Storage)等等,它們追求的是將設(shè)備的邏輯功能和管理性,與設(shè)備的物理性相剝離,物理設(shè)備最終只是一個(gè)執(zhí)行的角色(業(yè)界稱之為“數(shù)據(jù)層”Data Plane),高級(jí)的資源整合、調(diào)度與自動(dòng)化協(xié)同將由上層的軟件來(lái)實(shí)現(xiàn)(業(yè)界稱之為“控制層”Control Plane) 。這樣做的好處就是,硬件可以更直接的服務(wù)于相關(guān)的應(yīng)用,或者說(shuō)應(yīng)用可以更好、更直接的利用并控制IT資源。
由此可以看出,軟件定義其實(shí)是IT發(fā)展過(guò)程中的一個(gè)必然選擇。而如果要實(shí)現(xiàn)軟件定義,肯定就要從基礎(chǔ)設(shè)施著手,因?yàn)樗菙?shù)據(jù)中心的組成要素,它不能很好的被軟件定義,那么軟件定義的數(shù)據(jù)中心(SDDC,Software Defined Data Center )也無(wú)從談起,依附其上的IT交付模式的創(chuàng)新也就將是“空中樓閣”。
軟件定義之痛
雖然很早就知道軟件定義要從基礎(chǔ)做起,但在現(xiàn)實(shí)中,這條路走的并不順利,原因就在于“硬件不懂軟件”與“硬件標(biāo)準(zhǔn)過(guò)于豐富”。
比如服務(wù)器,如果要把服務(wù)器內(nèi)的計(jì)算資源虛擬化,就等于對(duì)CPU調(diào)用的方式的顛覆,從某種角度上說(shuō),它對(duì)于CPU來(lái)說(shuō)是一種新“語(yǔ)言”。而在現(xiàn)實(shí)中,我們都知道,對(duì)于不懂的語(yǔ)言,需要翻譯,但這又需要時(shí)間,而在IT中也是如此。當(dāng)硬件不能很好的理解軟件的意圖時(shí),軟件就必須繞個(gè)圈子,將新的指令用一種原來(lái)硬件能聽(tīng)得懂的語(yǔ)言表達(dá)出來(lái),這顯然就要耗費(fèi)更多的時(shí)間,體現(xiàn)在IT結(jié)果上,就是效率的降低。測(cè)試表明,當(dāng)時(shí)的服務(wù)器在虛擬化之后,性能下降達(dá)30%之多,很多用戶看到這一結(jié)果,采購(gòu)的決策也就可想而知了。這帶來(lái)的后果就是服務(wù)器虛擬化在誕生后的很多年里,市場(chǎng)普及率仍然少得可憐。
而在網(wǎng)絡(luò)層面,在較早以前存在著大量的專有芯片,它們由相應(yīng)的廠商獨(dú)自研發(fā),只在通用協(xié)議與指令方面兼容,但很多高級(jí)特性,則無(wú)法相通。對(duì)于這些硬件,針對(duì)每款芯片進(jìn)行軟件定義,顯然并不是一件可行的事情,也因此也無(wú)法從根本上在網(wǎng)絡(luò)世界中普及真正意義上的軟件定義,最多是各廠商自己的發(fā)揮,但從全局來(lái)看,則明顯是各自為戰(zhàn),并沒(méi)有帶動(dòng)軟件定義網(wǎng)絡(luò)的真正普及。
在存儲(chǔ)領(lǐng)域,可以說(shuō)較網(wǎng)絡(luò)有過(guò)之而無(wú)不及,每個(gè)存儲(chǔ)廠商都有自己獨(dú)有的存儲(chǔ)架構(gòu)與管理軟件。多年以前,存儲(chǔ)系統(tǒng)的主控芯片也是五花八門,雖然基礎(chǔ)的指令集一樣,但高級(jí)的硬件功能也是各不相同。也因此在它們之上,想做統(tǒng)一的軟件定義,也是一件費(fèi)力不討好的事情,雖然可以通過(guò)某種方式實(shí)現(xiàn)存儲(chǔ)虛擬化(如前掛統(tǒng)一訪問(wèn)的控制器),但基本上也是以喪失下層存儲(chǔ)系統(tǒng)高級(jí)功能為代價(jià)的。
然而,軟件定義美好的愿景也一直在驅(qū)動(dòng)產(chǎn)業(yè)的共同努力,而這一內(nèi)在動(dòng)力也帶動(dòng)著必然的規(guī)律——硬件為軟件定義而優(yōu)化,并逐漸向某一標(biāo)準(zhǔn)化的開(kāi)放平臺(tái)聚攏。
很典型的例子就是CPU虛擬化的硬件加速,它讓CPU可以直接理解虛擬化管理器(Hypervisor)的指令,并迅速執(zhí)行。比如英特爾推出的VT-x就是這樣的技術(shù),它的推出反過(guò)來(lái)也促進(jìn)虛擬化廠商在開(kāi)發(fā)中進(jìn)一步優(yōu)化,從而讓服務(wù)器虛擬化后的性能只下降不超過(guò)5%,實(shí)用性大為提升,直接帶來(lái)的就是迅速的普及。
這一例子充分表明了“皮之不存 毛將焉附”的道理,軟件功能雖然可以越來(lái)越強(qiáng)大,但如果沒(méi)有理想的硬件平臺(tái),其效果肯定會(huì)讓你大失所望(或者說(shuō),沒(méi)有強(qiáng)大的硬件也不可能有強(qiáng)大的軟件),也將會(huì)大大拖慢整體的軟件定義普及進(jìn)程。因此,在我們向往SDX的同時(shí),也必須要正視其發(fā)展道路是不平坦的,而如果要平坦則必要從硬件做起,如果軟件定義了我們的未來(lái)(X),那么硬件也將決定軟件定義之“痛”!