軟件定義基礎(chǔ)架構(gòu)、微服務(wù)和容器正在逐漸改變數(shù)據(jù)中心的構(gòu)建和運(yùn)行方式,未來(lái)的數(shù)據(jù)中心將會(huì)更加高效并且易于使用。
軟件定義基礎(chǔ)架構(gòu)、微服務(wù)和容器是當(dāng)前IT領(lǐng)域最為熱門(mén)的話題,這些技術(shù)對(duì)數(shù)據(jù)中心的構(gòu)建和運(yùn)行方式產(chǎn)生了顛覆式影響,并且能夠提升系統(tǒng)性能、彈性以及易用性。數(shù)據(jù)中心正在從傳統(tǒng)的死板架構(gòu)轉(zhuǎn)換為更加靈活和快速響應(yīng)的全新架構(gòu),甚至成為快速資源分配的發(fā)起者。
軟件定義基礎(chǔ)架構(gòu)的概念并不復(fù)雜。比如,通過(guò)軟件定義數(shù)據(jù)位于存儲(chǔ)中的哪個(gè)部分,之后創(chuàng)建一個(gè)全新VLAN,將代碼移動(dòng)到虛擬機(jī)中形成一系列微服務(wù)。這些微服務(wù)能夠被隨意擴(kuò)展或者縮減。雖然底層的存儲(chǔ)或者交換機(jī)硬件非常簡(jiǎn)單,但是標(biāo)準(zhǔn)API架構(gòu)允許多個(gè)廠商之間的微服務(wù)同其他任何類(lèi)型的設(shè)備進(jìn)行通信。事實(shí)上,這種方式實(shí)施起來(lái)有些困難,仍在研究中。
可以將不同微服務(wù)組合在一起以實(shí)現(xiàn)特定目標(biāo),盡管現(xiàn)在相關(guān)標(biāo)準(zhǔn)仍在開(kāi)發(fā)過(guò)程中,但是這種組合機(jī)制將會(huì)很快投入使用。在實(shí)際環(huán)境中,應(yīng)用程序可能請(qǐng)求某項(xiàng)服務(wù),如果當(dāng)前沒(méi)有可用服務(wù),那么系統(tǒng)將會(huì)觸發(fā)生成新的副本。
Hypervisor還是容器?
理想情況下,不斷自我復(fù)制的微服務(wù)能夠一直保持可用狀態(tài),但是實(shí)際操作過(guò)程中,使用hypervisor創(chuàng)建虛擬機(jī)、在虛擬機(jī)上加載微服務(wù)鏡像,之后啟動(dòng)所有這些組件,整個(gè)過(guò)程需要花費(fèi)數(shù)分鐘時(shí)間。相比于計(jì)算所花費(fèi)的時(shí)間來(lái)說(shuō),這幾分鐘過(guò)于漫長(zhǎng)了。
而容器能夠作為這種敏捷性問(wèn)題的解決方案。由于容器運(yùn)行在現(xiàn)有的虛擬機(jī)之上,因此無(wú)需加載或啟動(dòng)操作系統(tǒng)鏡像。而且容器只需要占用非常小的內(nèi)存空間。更為重要的是,容器中的微服務(wù)可以在幾微秒之內(nèi)完成啟動(dòng)過(guò)程。
Hypervisor和容器在操作時(shí)間上的差異對(duì)于敏捷性來(lái)說(shuō)至關(guān)重要,容器在存儲(chǔ)或者網(wǎng)絡(luò)微服務(wù)中完成特定任務(wù)只需要幾秒鐘時(shí)間,因此如果使用hypervisor,那么系統(tǒng)開(kāi)銷(xiāo)占比以及負(fù)載等待時(shí)間都將受到嚴(yán)重影響。
不斷壓縮的物理空間也是一個(gè)重要問(wèn)題,超融合系統(tǒng)需要和應(yīng)用程序以及存儲(chǔ)共享計(jì)算資源。這還是一種負(fù)載問(wèn)題:容器只需要幾MB的系統(tǒng)開(kāi)銷(xiāo),而hypervisor實(shí)例則需要數(shù)GB。如果使用容器技術(shù),那么微服務(wù)不會(huì)占用服務(wù)器的大量空間。
微服務(wù)和容器所帶來(lái)的挑戰(zhàn)
在容器中快速創(chuàng)建和銷(xiāo)毀微服務(wù)對(duì)網(wǎng)絡(luò)性能同樣提出了挑戰(zhàn)。通常,這些微服務(wù)需要連接到遠(yuǎn)程微服務(wù)或者實(shí)際存儲(chǔ)設(shè)備。為了能夠和LAN集群兼容,存儲(chǔ)之間的互聯(lián)必須通過(guò)以太網(wǎng),如果使用光纖通道還需要?jiǎng)?chuàng)建新的層次,而且不能滿足軟件定義基礎(chǔ)架構(gòu)的特性,因此全以太網(wǎng)平臺(tái)更加易于管理。
另外一項(xiàng)任何軟件定義基礎(chǔ)架構(gòu)系統(tǒng)都需要面臨的挑戰(zhàn)是如何發(fā)布微服務(wù),可以使用編排工具完成這項(xiàng)任務(wù)。比如當(dāng)前存在多種可用壓縮算法,應(yīng)用程序必須從其中找到最佳算法以及可以從哪里獲取相關(guān)服務(wù)。短期來(lái)看,這種方式可能不夠靈活,但是編排工具能夠不斷提升整個(gè)過(guò)程的靈活性。
微服務(wù)+容器架構(gòu)的安全問(wèn)題和應(yīng)用+容器架構(gòu)的一樣多。有人可能會(huì)抱怨微服務(wù)能夠訪問(wèn)VLAN結(jié)構(gòu)和存儲(chǔ),事實(shí)上,在任何環(huán)境中這種情況都會(huì)引發(fā)相關(guān)安全問(wèn)題?,F(xiàn)在,容器技術(shù)推出的多種機(jī)制能夠保證其在防止內(nèi)部租戶(hù)攻擊方面像hypervisor一樣安全,但是容器的絕對(duì)數(shù)量以及其創(chuàng)建和銷(xiāo)毀速度對(duì)于資源控制和微服務(wù)的簽名驗(yàn)證都提出了很高要求。
軟件定義基礎(chǔ)架構(gòu)、微服務(wù)和容器將會(huì)引發(fā)數(shù)據(jù)中心革命,它們之間既相互獨(dú)立,又需要相互配合。最終目標(biāo)應(yīng)該是IT環(huán)境更加易于使用,并且由租戶(hù)運(yùn)行、而不是由IT部門(mén)精心配置,在資源使用方面總體上更加靈活和高效。