當(dāng)今世界正處在信息技術(shù)(IT)創(chuàng)新的黃金時(shí)代。由機(jī)器學(xué)習(xí)、物聯(lián)網(wǎng)和大規(guī)模可擴(kuò)展應(yīng)用支持的云計(jì)算、移動(dòng)應(yīng)用、大數(shù)據(jù)分析的巨大力量正在重塑商業(yè)和社會(huì)的方方面面。而這場(chǎng)IT復(fù)興的中心,則是超大規(guī)模的全球數(shù)據(jù)中心(DC)在公共、私有和混合云計(jì)算領(lǐng)域的不斷涌現(xiàn)。根據(jù)Synergy Research Group的數(shù)據(jù)統(tǒng)計(jì),全球超大規(guī)模數(shù)據(jù)中心的數(shù)量從2016年的300個(gè)增加到2017年的390個(gè),另有69個(gè)超大規(guī)模的數(shù)據(jù)中心正處于規(guī)劃或建設(shè)階段。
本文首先簡(jiǎn)要回顧了迄今為止數(shù)據(jù)中心基礎(chǔ)架構(gòu)創(chuàng)新的三大浪潮。然后,將介紹第四波IT基礎(chǔ)架構(gòu)創(chuàng)新:即應(yīng)用定義基礎(chǔ)架構(gòu)(ADI),以及推動(dòng)大型企業(yè)采用它的技術(shù)力量和運(yùn)營(yíng)挑戰(zhàn)。
02、數(shù)據(jù)中心基礎(chǔ)架構(gòu)變遷簡(jiǎn)史
數(shù)據(jù)中心是專門(mén)建造的一種基礎(chǔ)架構(gòu),用于放置計(jì)算機(jī)系統(tǒng)和相關(guān)組件,如網(wǎng)絡(luò)設(shè)備、存儲(chǔ)系統(tǒng)和電信設(shè)備。它是通向我們連接的世界的知識(shí)經(jīng)濟(jì)的大腦,F(xiàn)代的數(shù)據(jù)中心起源于20世紀(jì)60年代的主機(jī)房、電信中心辦公室和企業(yè)IT布線室。在過(guò)去二十年里,一波又一波迅猛涌現(xiàn)的技術(shù)創(chuàng)新浪潮極大地提高了現(xiàn)代數(shù)據(jù)中心的技術(shù)水平。
03、1997-2007,第一波浪潮 - 裸機(jī)服務(wù)器
裸機(jī)服務(wù)器是提供給單一租戶的物理服務(wù)器。它的優(yōu)勢(shì)在于高應(yīng)用性能和可預(yù)測(cè)性。弱點(diǎn)在于:高成本、提供應(yīng)用的中等復(fù)雜性和應(yīng)用部署后的低靈活性。它們會(huì)繼續(xù)存在,作為某些特定的,對(duì)性能敏感的工作負(fù)載的解決方案,這種工作負(fù)載值得使用這種專有的基礎(chǔ)架構(gòu)(如數(shù)據(jù)庫(kù))。裸機(jī)服務(wù)器還的經(jīng)常用于專用的計(jì)算機(jī)集群,這些集群是為支持特定的可擴(kuò)展分布式計(jì)算應(yīng)用(如Hadoop集群)而構(gòu)建的。對(duì)于更大的靈活性和更好的經(jīng)濟(jì)性的要求使得這種方式在不斷發(fā)展的應(yīng)用環(huán)境下受到了限制。
04、2005年至今,第二波浪潮 – 使用虛擬機(jī)管理器(hypervisor)實(shí)現(xiàn)虛擬化
虛擬化是對(duì)計(jì)算機(jī)系統(tǒng)的仿真,它可以使一臺(tái)物理計(jì)算機(jī)能夠運(yùn)行一臺(tái)或多臺(tái)虛擬機(jī)(VM)。
圖1:使用虛擬機(jī)管理器實(shí)現(xiàn)的虛擬化使得一臺(tái)計(jì)算機(jī)看起來(lái)像多臺(tái)計(jì)算機(jī)
雖然這一概念可以追溯到20世紀(jì)60年代和大型計(jì)算機(jī)時(shí)代,但直到1998年,隨著VMware將其虛擬機(jī)管理器的商業(yè)化,它才真正被應(yīng)用到提高IT效率的最前沿。在VMware之前,大量昂貴的計(jì)算機(jī)資源未得到充分利用。通過(guò)使一臺(tái)計(jì)算機(jī)看起來(lái)像多臺(tái)計(jì)算機(jī),每臺(tái)計(jì)算機(jī)都有自己的客戶端操作系統(tǒng),VMware的虛擬機(jī)管理器幫助解決了提高IT效率的需求。1999年發(fā)布的VMware虛擬機(jī)管理器非常新穎,因?yàn)樗状卧贗ntel x86上實(shí)現(xiàn)了虛擬化,通過(guò)使用二進(jìn)制轉(zhuǎn)換來(lái)替換特權(quán)指令,將其捕獲到虛擬機(jī)管理器中。截至2017年11月,VMware已成長(zhǎng)為一家高利潤(rùn)的,市值達(dá)到530億美元的公司,在2017年第三季度,它的收入為19.8億美元,凈利潤(rùn)為4.43億美元。由于全球數(shù)以萬(wàn)計(jì)的企業(yè)都在VMware的虛擬化系統(tǒng)上運(yùn)行其重要的運(yùn)營(yíng)系統(tǒng),因此,在基于虛擬機(jī)管理器的企業(yè)私有云虛擬化解決方案中,VMware成為虛擬化市場(chǎng)的龍頭老大。其它的虛擬化軟件包括了Microsoft Hyper-V、Linux KVM和Xen。
使用虛擬機(jī)管理器(hypervisor)實(shí)現(xiàn)虛擬化的優(yōu)勢(shì)包括:技術(shù)成熟;廣泛采用;通過(guò)啟用多個(gè)虛擬機(jī)來(lái)提高了計(jì)算機(jī)利用率;基于虛擬機(jī)構(gòu)建和操作云的基礎(chǔ)架構(gòu)軟件;強(qiáng)大的多租戶架構(gòu)支持。
而這種虛擬化的弱點(diǎn)包括:高復(fù)雜性;虛擬機(jī)管理器的資源開(kāi)銷;每個(gè)客體虛擬機(jī)的客戶端操作系統(tǒng)資源開(kāi)銷;相對(duì)于裸機(jī)基礎(chǔ)架構(gòu)而言,對(duì)應(yīng)用的性能不可忽略的影響;當(dāng)一個(gè)用戶影響同一物理服務(wù)器中其他用戶的性能和穩(wěn)定性時(shí)的“鄰近噪聲效應(yīng)”。多個(gè)虛擬機(jī)同時(shí)發(fā)送其IO請(qǐng)求時(shí)導(dǎo)致存儲(chǔ)性能降低時(shí)的“IO攪拌機(jī)效應(yīng)”;诠ぷ髫(fù)載的虛擬機(jī)管理器的極高的能源消耗;以及實(shí)例化新虛擬機(jī)需要的時(shí)間。
使用虛擬機(jī)管理器構(gòu)建了虛擬化平臺(tái)的虛擬機(jī)管理軟件供應(yīng)商和云平臺(tái)運(yùn)營(yíng)商正在致力于通過(guò)以下技術(shù)來(lái)解決其中的一些弱點(diǎn):硬件虛擬化(例如,Amazon Nitro項(xiàng)目);輕量級(jí)虛擬機(jī)管理器;將操作系統(tǒng)和應(yīng)用打包在同一內(nèi)核鏡像內(nèi)以消除傳統(tǒng)的內(nèi)核空間和用戶空間的分隔的單一內(nèi)核技術(shù)(Unikernels);以及各種無(wú)服務(wù)器計(jì)算技術(shù)。
05、2010年至今,第三波浪潮 - 超聚合基礎(chǔ)架構(gòu)(HCI)(同樣是基于hypervisor)
超聚合基礎(chǔ)架構(gòu)(HCI)是一種完全由軟件定義的IT基礎(chǔ)架構(gòu),它可以虛擬化傳統(tǒng)“硬件定義”系統(tǒng)的所有元素。HCI至少包括虛擬化計(jì)算(一個(gè)hypervisor)、虛擬化存儲(chǔ)(軟件定義的SAN)和虛擬化網(wǎng)絡(luò)(軟件定義的網(wǎng)絡(luò))。
圖2:超聚合基礎(chǔ)架構(gòu)(來(lái)源:Nutanix HCI指南)
簡(jiǎn)單地說(shuō),HCI將計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)連接集成到一個(gè)“盒中云”一體機(jī)中,然后提供硬件和軟件資產(chǎn)的統(tǒng)一管理視圖,以隱藏云平臺(tái)的復(fù)雜性。HCI在裸機(jī)設(shè)備上使用復(fù)雜的基礎(chǔ)設(shè)施軟件,以簡(jiǎn)化管理,并提高最終用戶在某些高價(jià)值應(yīng)用(如虛擬桌面)中的易用性。HCI供應(yīng)商包括Dell/EMC、IBM、聯(lián)想、HP、Nutanix、Stratoscale和Cisco。
- HCI的優(yōu)點(diǎn)包括:通過(guò)將硬件和軟件預(yù)先打包在一起,并通過(guò)虛擬機(jī)管理器(hypervisor)隱藏掉虛擬化的底層復(fù)雜性,保證了它的易用性,通過(guò)不斷增長(zhǎng)的HCI設(shè)備集群實(shí)現(xiàn)了基礎(chǔ)架構(gòu)的優(yōu)雅擴(kuò)展,并且簡(jiǎn)化了私有云的自建難度。HCI同時(shí)還為桌面虛擬化等高價(jià)值應(yīng)用提供了強(qiáng)大的解決方案。
- HCI的弱點(diǎn)包括:當(dāng)系統(tǒng)資源打包到設(shè)備中時(shí),計(jì)算和存儲(chǔ)的分配比例就被鎖定了;對(duì)某些重要的有狀態(tài)的應(yīng)用(如關(guān)系數(shù)據(jù)庫(kù))缺乏支持;對(duì)大規(guī)?蓴U(kuò)展的現(xiàn)代大數(shù)據(jù)分布式計(jì)算(如Hadoop、MongoDB,Cassandra, 和 Spark)的支持有限;HCI的供應(yīng)商的鎖定;在大型云平臺(tái)上鮮有部署。
06、IT基礎(chǔ)架構(gòu)的第四波浪潮
在IT轉(zhuǎn)型的前三波浪潮中,每個(gè)IT項(xiàng)目首先都是從規(guī)劃底層基礎(chǔ)架構(gòu)開(kāi)始。例如,要部署數(shù)據(jù)庫(kù),計(jì)劃的第一步都是從獲取和配置服務(wù)器或虛擬機(jī)、網(wǎng)絡(luò)設(shè)備和存儲(chǔ)設(shè)備開(kāi)始。所有必需的基礎(chǔ)架構(gòu)組件一開(kāi)始都要計(jì)劃好,以確保它們滿足應(yīng)用的當(dāng)前的服務(wù)等級(jí)協(xié)議(SAL)和預(yù)期增長(zhǎng)的要求。只有在計(jì)劃和配置了所有這些基礎(chǔ)架構(gòu)之后,應(yīng)用才能上線。但是基礎(chǔ)架構(gòu)存在的目的是為應(yīng)用服務(wù)的,而不是反過(guò)來(lái)。所以,基于應(yīng)用來(lái)啟動(dòng)一個(gè)IT項(xiàng)目不是更好嗎?通過(guò)只描述其需求,并讓基礎(chǔ)架構(gòu)自行組裝和配置以滿足這些需求(當(dāng)前的和預(yù)期的),這樣是不是更好?
當(dāng)前我們正在處在第四波IT基礎(chǔ)架構(gòu)創(chuàng)新的浪潮,基礎(chǔ)架構(gòu)將由它所服務(wù)的應(yīng)用來(lái)定義。在這第四波浪潮中,應(yīng)用和人員都擺脫了底層IT基礎(chǔ)架構(gòu)的束縛。底層基礎(chǔ)架構(gòu)本身可能會(huì)發(fā)生變化,從裸機(jī)到虛擬機(jī),再到私有云或公共云,但與應(yīng)用的交互始終保持不變。第四次浪潮將是應(yīng)用定義基礎(chǔ)架構(gòu)(ADI)的時(shí)代,基礎(chǔ)架構(gòu)變得越來(lái)越不可見(jiàn),至繁再次歸于至簡(jiǎn)。
下面將闡述第四波IT基礎(chǔ)架構(gòu)的驅(qū)動(dòng)因素,首先我們從一個(gè)重要的長(zhǎng)期趨勢(shì)- 容器技術(shù)開(kāi)始。
容器技術(shù)
容器技術(shù)是一種將應(yīng)用及其依賴項(xiàng)打包的技術(shù),它允許將一個(gè)應(yīng)用從一個(gè)計(jì)算環(huán)境可靠地移動(dòng)到另一個(gè)計(jì)算環(huán)境。
圖3:容器技術(shù) vs.hypervisor虛擬化技術(shù)(來(lái)源:Docker)
與把整個(gè)操作系統(tǒng)與應(yīng)用打包在一起的虛擬機(jī)不同,在一臺(tái)計(jì)算機(jī)上運(yùn)行的多個(gè)容器共享操作系統(tǒng)。在自己的容器中運(yùn)行的每個(gè)應(yīng)用繼續(xù)享有一個(gè)隔離邊界,使其看起來(lái)像是在該計(jì)算機(jī)上運(yùn)行的唯一應(yīng)用。
隨著Docker在2013年引入應(yīng)用容器,容器技術(shù)變得廣泛流行起來(lái)。Docker通過(guò)將應(yīng)用打包成Docker鏡像的形式作為行業(yè)標(biāo)準(zhǔn),在推廣容器概念方面發(fā)揮了領(lǐng)導(dǎo)作用。
容器,特別是Docker,大大簡(jiǎn)化了應(yīng)用的配置。它們?cè)趯⑴渲煤蛻?yīng)用的有效負(fù)載(容器鏡像)的合并或(如果適用)分離之間達(dá)到了正確的平衡。容器以接近零的開(kāi)銷運(yùn)行,因?yàn)槿萜鞑](méi)有使用虛擬機(jī)管理器hypervisor進(jìn)行虛擬化。相反,它們將應(yīng)用(或應(yīng)用的一部分)彼此隔離在安全分區(qū)中,這些分區(qū)在主機(jī)操作系統(tǒng)上的共享用戶空間中運(yùn)行。這意味著應(yīng)用以裸機(jī)速度運(yùn)行,而不消耗任何額外的資源。
但是,容器本身不足以作為IT基礎(chǔ)架構(gòu)管理范式,因?yàn)樗鼈儾痪邆?ldquo;基礎(chǔ)架構(gòu)感知”能力。很多機(jī)構(gòu)發(fā)現(xiàn),現(xiàn)有的數(shù)據(jù)中心基礎(chǔ)架構(gòu)無(wú)法處理大量的容器化的應(yīng)用,因?yàn)榛趩我滑F(xiàn)代微服務(wù)的Web應(yīng)用可以輕松地使用超過(guò)數(shù)百個(gè)或更多的容器。需要運(yùn)行很多應(yīng)用的機(jī)構(gòu),經(jīng)常發(fā)現(xiàn)他們的系統(tǒng)管理團(tuán)隊(duì)在試圖將資源與容器匹配時(shí)不知所措。
容器通過(guò)允許多個(gè)應(yīng)用在同一服務(wù)器上運(yùn)行來(lái)提高服務(wù)器利用率。但是,由于所有應(yīng)用共享相同的存儲(chǔ),而存儲(chǔ)的性能可能不穩(wěn)定,這會(huì)影響所有應(yīng)用的性能。為了解決這一問(wèn)題,一些機(jī)構(gòu)將關(guān)鍵的應(yīng)用部署在隔離的基礎(chǔ)架構(gòu)上,以確保良好的性能,但是這樣做導(dǎo)致硬件的過(guò)度配置和資源利用率的低下。云計(jì)算技術(shù)正在發(fā)展以解決這個(gè)問(wèn)題。長(zhǎng)期以來(lái),云服務(wù)提供商一直提供IaaS(基礎(chǔ)架構(gòu)即服務(wù))和PaaS(平臺(tái)即服務(wù))產(chǎn)品。而第一波基于裸機(jī)的CaaS服務(wù)(容器即服務(wù))正在開(kāi)始由最大的云服務(wù)提供商開(kāi)發(fā)。在討論CaaS產(chǎn)品時(shí),“應(yīng)用狀態(tài)(application state)”的概念非常重要。
無(wú)狀態(tài)和有狀態(tài)的應(yīng)用
理解“應(yīng)用狀態(tài)”的概念有助于理解服務(wù)于應(yīng)用的IT基礎(chǔ)架構(gòu)不斷發(fā)展的需求。應(yīng)用狀態(tài)是應(yīng)用組件執(zhí)行其預(yù)期功能所需的數(shù)據(jù)。一個(gè)應(yīng)用可能需要配置信息、用戶證書(shū)(user credentials)、用戶畫(huà)像 (user profile) 、用戶歷史記錄、點(diǎn)擊流數(shù)據(jù)(clickstream data)等等。與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)可以存儲(chǔ)在許多不同的物理位置:本地服務(wù)器緩存、文件系統(tǒng)、數(shù)據(jù)庫(kù)表或其它存儲(chǔ)資源中。有許多因素有助于全面了解應(yīng)用狀態(tài),如應(yīng)用的持久性要求(正常運(yùn)行時(shí)間、重新啟動(dòng)要求、數(shù)據(jù)丟失窗口等),配置狀態(tài),會(huì)話狀態(tài),基礎(chǔ)架構(gòu)狀態(tài)(如網(wǎng)絡(luò)地址、集群狀態(tài))等等。
無(wú)狀態(tài)的應(yīng)用不會(huì)保存在一個(gè)會(huì)話中生成的客戶端數(shù)據(jù),以在與該客戶端的下一個(gè)會(huì)話中使用。每一個(gè)會(huì)話都像第一次一樣執(zhí)行,響應(yīng)不依賴于前一個(gè)會(huì)話的數(shù)據(jù)。像HTTP這樣的協(xié)議是無(wú)狀態(tài)的,Web服務(wù)器不會(huì)記住處理中的跨頁(yè)面請(qǐng)求的任何狀態(tài)。
相反,有狀態(tài)的應(yīng)用會(huì)保存以前會(huì)話的數(shù)據(jù),它們限制需要存儲(chǔ)在客戶端的數(shù)據(jù),并將上一次使用的信息保留在服務(wù)器上以備下一次使用。需要執(zhí)行實(shí)時(shí)工作的應(yīng)用通常維護(hù)一些狀態(tài)信息以獲得快速的響應(yīng)時(shí)間。這樣的例子包括內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)、流媒體服務(wù)器、身份管理和身份驗(yàn)證服務(wù)器以及用于支付處理的核心交易系統(tǒng)。許多至關(guān)重要的關(guān)鍵應(yīng)用通常需要保留和管理狀態(tài)信息。復(fù)雜的分布式大數(shù)據(jù)、NoSQL和數(shù)據(jù)庫(kù)應(yīng)用都是有狀態(tài)的,需要在本地和云平臺(tái)中運(yùn)行。僅僅將存儲(chǔ)卷附加到Docker上不足以支持有狀態(tài)的應(yīng)用,因?yàn)檫@并不能解決性能的可預(yù)測(cè)性、應(yīng)用的可移植性和高可用性、生命周期管理等問(wèn)題。因此,迫切需要云計(jì)算基礎(chǔ)架構(gòu)更好地支持有狀態(tài)的關(guān)鍵應(yīng)用。
容器編排(Orchestration)
只有當(dāng)容器能夠有效地部署、管理和擴(kuò)展時(shí),將應(yīng)用放入容器才變得有趣。容器編排引擎發(fā)揮了管理容器集群的重要功能,是第四波IT基礎(chǔ)架構(gòu)的重要組成部分,其重要性之高,以至于引發(fā)了一場(chǎng)“容器編排大戰(zhàn)”。主要參戰(zhàn)方包括了Docker公司的Swarm,Redhat公司的Openshift,Rancher公司的Cattle,Mesosphere公司的Marathon,AWS公司的ECS,和CoreOS公司的Fleet。容器編排是戰(zhàn)略性的,它是更廣泛基礎(chǔ)架構(gòu)管理解決方案的一個(gè)組成部分。容器編排引擎的重心主要針對(duì)無(wú)狀態(tài)的云原生應(yīng)用。然而,也有一些公司在致力于提高容器化環(huán)境中支持像MySQL和PostgreSQL等開(kāi)源數(shù)據(jù)庫(kù)的能力(如Kubernetes的StatefulSet),這就需要全面的基礎(chǔ)架構(gòu)控制,以滿足服務(wù)級(jí)別協(xié)議(SLA)、服務(wù)質(zhì)量(QoS)以及有狀態(tài)的應(yīng)用的高可用性要求。
07、第四波浪潮 - 應(yīng)用定義基礎(chǔ)設(shè)施(ADI)
ADI需求概述
隨著容器技術(shù)的興起,以及在共享多租戶基礎(chǔ)架構(gòu)上優(yōu)雅地運(yùn)行無(wú)狀態(tài)和有狀態(tài)的應(yīng)用的需求的上升,應(yīng)用定義基礎(chǔ)架構(gòu)(ADI)應(yīng)運(yùn)而生。
ADI可以描述為一個(gè)基于容器的、應(yīng)用感知的計(jì)算和存儲(chǔ)平臺(tái),運(yùn)行在通用硬件組件上。它的軟件有效地抽象了底層服務(wù)器、虛擬機(jī)、網(wǎng)絡(luò)和存儲(chǔ)邊界,以生成一個(gè)集計(jì)算、存儲(chǔ)和數(shù)據(jù)的連續(xù)體。許多不同的容器化應(yīng)用都可以在這個(gè)連續(xù)體中運(yùn)行,而不會(huì)影響彼此的性能。
應(yīng)用的可移植性和可擴(kuò)展性得到了提高,因?yàn)橛?jì)算和存儲(chǔ)是分離的;應(yīng)用可以在不移動(dòng)或復(fù)制數(shù)據(jù)的情況下圍繞著連續(xù)體自由移動(dòng)。復(fù)雜的分布式應(yīng)用,如NoSQL、Hadoop、Cassandra和Mongo,可以快速輕松地部署。
ADI能夠根據(jù)單個(gè)應(yīng)用的需求以及環(huán)境的拓?fù)浣Y(jié)構(gòu)智能地提供容器和存儲(chǔ),并配置應(yīng)用以充分利用這些組件。ADI確保所有應(yīng)用獲得足夠的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,以滿足用戶定義的服務(wù)質(zhì)量要求;保證了所有應(yīng)用的性能的可預(yù)測(cè)性。
ADI應(yīng)該能夠自動(dòng)恢復(fù)失敗的節(jié)點(diǎn)和磁盤(pán),并在服務(wù)器之間無(wú)縫地移動(dòng)工作負(fù)載。因此,硬件的使用更加有效率,對(duì)硬件的需求降低,從而可以為不可避免的性能峰值預(yù)留更多的硬件。
Robin Systems公司的ADI介紹
Robin Systems 公司(以下簡(jiǎn)稱Robin或Robin公司)的應(yīng)用定義基礎(chǔ)架構(gòu)(ADI)是第四代IT基礎(chǔ)架構(gòu)解決方案,專門(mén)設(shè)計(jì)用于滿足裸機(jī)、hypervisor虛擬化或HCI所不能滿足的快速發(fā)展的新興需求。Robin公司的ADI由容器支持,但遠(yuǎn)遠(yuǎn)超出了容器編排或基于容器的IT基礎(chǔ)架構(gòu)的傳統(tǒng)概念。
圖4: Robin公司ADI功能框架圖
Robin公司的ADI是一個(gè)基于容器、應(yīng)用感知的計(jì)算和存儲(chǔ)平臺(tái)。其軟件有效地抽象了底層服務(wù)器、虛擬機(jī)、網(wǎng)絡(luò)和存儲(chǔ)邊界,它是一個(gè)集計(jì)算、存儲(chǔ)和數(shù)據(jù)的連續(xù)體。許多不同的容器化應(yīng)用都可以在這個(gè)連續(xù)體中運(yùn)行,而不會(huì)影響彼此的性能。應(yīng)用的可移植性和可擴(kuò)展性得到了提高,因?yàn)橛?jì)算和存儲(chǔ)是分離的;應(yīng)用可以在不移動(dòng)或復(fù)制數(shù)據(jù)的情況下圍繞著連續(xù)體自由移動(dòng)。復(fù)雜的分布式應(yīng)用,如NoSQL、Hadoop、Cassandra和Mongo,可以快速輕松地部署。包含了整個(gè)應(yīng)用環(huán)境的Robin應(yīng)用級(jí)快照使得快速創(chuàng)建生產(chǎn)環(huán)境的副本變得輕松容易,而不會(huì)影響生產(chǎn)性能,并且可以快速回滾到以前的時(shí)間點(diǎn)以更正問(wèn)題。
Robin技術(shù)的關(guān)鍵是它的應(yīng)用感知結(jié)構(gòu)控制器(Application-Aware Fabric Controller),它是所有應(yīng)用部署和數(shù)據(jù)移動(dòng)的管理層。它控制和管理著兩個(gè)主要資產(chǎn),即應(yīng)用感知計(jì)算平面(Application-Aware Compute Plane)和應(yīng)用感知存儲(chǔ)平面(Application-Aware Storage Plane),這兩個(gè)資產(chǎn)分別將計(jì)算和存儲(chǔ)虛擬化,消除了容量的孤島?刂破髂軌蚋鶕(jù)單個(gè)應(yīng)用的需求以及環(huán)境的拓?fù)浣Y(jié)構(gòu)智能地提供容器和存儲(chǔ),并配置應(yīng)用以充分利用這些組件。這使得通過(guò)一次點(diǎn)擊來(lái)部署Cassandra和Hadoop這樣的復(fù)雜的多容器應(yīng)用成為可能。此外,F(xiàn)abric Controller確保了所有應(yīng)用獲得足夠的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,以滿足用戶定義的服務(wù)質(zhì)量要求;保證了所有應(yīng)用的性能的可預(yù)測(cè)性。Robin控制整個(gè)I/O路徑,因此它可以管理讀/寫(xiě)請(qǐng)求的優(yōu)先級(jí),而且可以提供保證的最小和最大IOPS級(jí)別,以確保應(yīng)用的性能不受鄰近噪聲的影響。
Robin ADI還通過(guò)一鍵單擊粒度快照和精簡(jiǎn)克。ǹ梢栽趲酌腌妰(nèi)創(chuàng)建)提供數(shù)據(jù)生命周期管理。不像克隆和快照的其他實(shí)現(xiàn),Robin克隆了整個(gè)應(yīng)用的環(huán)境,包括存儲(chǔ)、操作系統(tǒng)、應(yīng)用配置和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。如果一個(gè)應(yīng)用出現(xiàn)了問(wèn)題,數(shù)據(jù)可以在幾秒鐘內(nèi)回滾到已知的可工作的快照。為了確保高可用性,F(xiàn)abric Controller監(jiān)視基礎(chǔ)架構(gòu)并自動(dòng)恢復(fù)故障節(jié)點(diǎn)和磁盤(pán)。由于Robin能夠無(wú)縫地在服務(wù)器之間移動(dòng)實(shí)時(shí)運(yùn)行的工作負(fù)載而無(wú)需中斷服務(wù),因此可以更高效地使用硬件,對(duì)硬件的需求降低,從而可以為不可避免的性能峰值預(yù)留更多的硬件。
Robin公司的ADI技術(shù)創(chuàng)新包括:
100%基于容器。沒(méi)有基于虛擬機(jī)管理器的虛擬化,因此消除了在每個(gè)虛擬機(jī)中實(shí)例化一個(gè)完整的客戶端操作系統(tǒng)所需的性能、內(nèi)存和準(zhǔn)備時(shí)間。
支持當(dāng)前和未來(lái)的分布式計(jì)算應(yīng)用和分析架構(gòu)。
無(wú)需了解底層硬件部件細(xì)節(jié),通過(guò)解耦計(jì)算和存儲(chǔ)硬件,保證這些位于不同創(chuàng)新曲線上的資源可以獨(dú)立擴(kuò)展。在HCI中,計(jì)算和存儲(chǔ)在購(gòu)買(mǎi)時(shí)是緊密耦合的,并且要保證不會(huì)隨著應(yīng)用需求的發(fā)展而出錯(cuò)。HCI的數(shù)據(jù)和存儲(chǔ)與計(jì)算位于同一設(shè)備中的這一優(yōu)勢(shì),Robin 的ADI解決方案完全可以支持,同時(shí)還能夠以不同的方式優(yōu)化計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn),以滿足“計(jì)算密集型”工作負(fù)載和/或“數(shù)據(jù)密集型”工作負(fù)載的不同需求。
強(qiáng)大的服務(wù)質(zhì)量(QoS)和流量管理機(jī)制,保證了在整個(gè)ADI中同時(shí)運(yùn)行的每個(gè)應(yīng)用的服務(wù)級(jí)別協(xié)議(SLA)。這是通過(guò)application-to-spindle的基礎(chǔ)架構(gòu)控制來(lái)實(shí)現(xiàn)的,它需要深度存儲(chǔ)層(deep storage tier)的創(chuàng)新,而這些創(chuàng)新僅僅依靠任何容器管理/容器編排框架都是不可能實(shí)現(xiàn)的。正如網(wǎng)絡(luò)的發(fā)展提供強(qiáng)大的包級(jí)服務(wù)質(zhì)量(QoS)來(lái)支持IP語(yǔ)音一樣,ADI也在發(fā)展具有強(qiáng)大QoS的IT基礎(chǔ)架構(gòu),以保證大規(guī)?蓴U(kuò)展的無(wú)狀態(tài)和有狀態(tài)的應(yīng)用能夠在統(tǒng)一平臺(tái)上得到良好的支持。
專門(mén)構(gòu)建的“應(yīng)用感知”的存儲(chǔ)堆棧。這將啟用幾個(gè)以應(yīng)用為中心的生命周期管理工作流,否則它們將被降級(jí)為普通的存儲(chǔ)卷管理。這很難用現(xiàn)成的存儲(chǔ)解決方案來(lái)解決。請(qǐng)注意,沒(méi)有存儲(chǔ)本身可以是“應(yīng)用感知的”。Robin的ADI解決方案提供了一個(gè)存儲(chǔ)堆棧,它帶有可編程原語(yǔ)和application-to-spindle集成,后者可以將這個(gè)存儲(chǔ)堆棧配置為 “應(yīng)用感知”的。這種端到端和從上到下的基礎(chǔ)架構(gòu)遠(yuǎn)遠(yuǎn)超出了容器編排引擎與第三方通用存儲(chǔ)結(jié)合時(shí)所能實(shí)現(xiàn)的功能。
非常高的存儲(chǔ)堆棧性能,這點(diǎn)在第三方測(cè)試和客戶環(huán)境中得到驗(yàn)證,它可以使用所有的通用組件,以遠(yuǎn)低于高端EMC VMAX陣列的成本,達(dá)到相同級(jí)別的性能。Robin的ADI解決方案的存儲(chǔ)堆棧被證明能比其它的存儲(chǔ)堆棧(如Ceph, Gluster, Nutanix, Rubrik和 Cohesity)提供更高的性能基準(zhǔn)測(cè)試結(jié)果。
一種“應(yīng)用感知”的容器編排架構(gòu),內(nèi)置以應(yīng)用為中心的原語(yǔ),為廣泛快速增長(zhǎng)的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用庫(kù)提供了PaaS體驗(yàn)。
業(yè)界第一個(gè)同時(shí)為無(wú)狀態(tài)和有狀態(tài)的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用提供PaaS服務(wù)的ADI。而CloudFoundry, Kubernetes, Mesos都不支持類似的BigData,NoSQL和符合ACID規(guī)范的關(guān)系數(shù)據(jù)庫(kù)應(yīng)用。
作為領(lǐng)先的開(kāi)源分布式計(jì)算應(yīng)用具有的易用性。支持廣泛且快速增長(zhǎng)的戰(zhàn)略開(kāi)源應(yīng)用庫(kù),包括MongoDB,Couchbase,Hortonworks, Elasticsearch, ELK (ElasticSearch + Logstash + Kibana), Solr, Oracle,Cassandra, Hadoop, Cloudera, Redis, Spark, VoltDB, MariaDB, MySQL, PostgreSQL,和 Kafka.
作為穩(wěn)定的基礎(chǔ)架構(gòu)管理基礎(chǔ)的可擴(kuò)展性。支持不斷增長(zhǎng)的應(yīng)用庫(kù)。第三方合作伙伴和客戶已經(jīng)為流行的第三方軟件包(如Splunk)獨(dú)立構(gòu)建了眾多應(yīng)用。
通過(guò)“一鍵部署”功能對(duì)應(yīng)用提供支持,并且通過(guò)完整的應(yīng)用生命周期管理提供類似應(yīng)用商店的體驗(yàn)。允許定制名字為“bundle”的應(yīng)用部署配置文件/模板。追求極致的易用性,致力將用戶的每一個(gè)復(fù)雜的操作簡(jiǎn)化為“一鍵”體驗(yàn)。這是Robin的一種有意識(shí)的設(shè)計(jì)理念,當(dāng)它們?yōu)楫a(chǎn)品添加新功能時(shí),會(huì)嚴(yán)格執(zhí)行該理念。
可以和裸機(jī)媲美的性能。下面是Enterprise Strategy Group提供的第三方基準(zhǔn)測(cè)試的結(jié)果,這個(gè)測(cè)試對(duì)一個(gè)多節(jié)點(diǎn)Cassandra數(shù)據(jù)庫(kù)運(yùn)行了7種不同的Yahoo Cloud Serving Benchmark (YCSB)測(cè)試:
圖5: ESB Group提供的1代裸機(jī)、2代虛擬機(jī)和4代Robin\\\'s ADI的基準(zhǔn)測(cè)試結(jié)果(來(lái)源:https://robin systems.com/wp-content/uploads/2017/05/esg-lab-review-robin-systems-jan-2017.pdf,第7頁(yè))
Robin的ADI解決方案在《財(cái)富》50強(qiáng)公司的任務(wù)關(guān)鍵型生產(chǎn)環(huán)境中得到了大規(guī)模部署和驗(yàn)證。其中一個(gè)著名的部署是在一個(gè)由通用硬件構(gòu)建的共享基礎(chǔ)架構(gòu)上同時(shí)運(yùn)行一個(gè)Cassandra虛擬集群、一個(gè)Hadoop虛擬集群、一個(gè)Elk虛擬集群、一個(gè)復(fù)雜分析管道和多個(gè)符合ACID規(guī)范的關(guān)系型數(shù)據(jù)庫(kù)。每一個(gè)復(fù)雜的應(yīng)用都可以用一個(gè)蘋(píng)果應(yīng)用商店實(shí)例化,就像點(diǎn)擊一個(gè)圖標(biāo)一樣。
08、Robin ADI和Kubernetes K8S比較
Kubernetes(K8S)在前面已經(jīng)討論過(guò),它是一個(gè)面向無(wú)狀態(tài)應(yīng)用的容器編排框架。Kubernetes是一種重要的新興技術(shù),在無(wú)狀態(tài)容器管理(例如,服務(wù)發(fā)現(xiàn)和負(fù)載平衡)方面具有優(yōu)勢(shì)。這些在有狀態(tài)應(yīng)用的世界和/或Robin ADI服務(wù)的現(xiàn)代數(shù)據(jù)堆棧應(yīng)用中都不太用得上。Kubernetes(K8S)是在Google開(kāi)發(fā)的,它用激進(jìn)地過(guò)度構(gòu)建云硬件資源的方式來(lái)解決共享資源的爭(zhēng)用。將同一用戶空間中并發(fā)運(yùn)行多個(gè)容器的問(wèn)題拋給硬件和技術(shù)人員,然后精簡(jiǎn)主機(jī)操作系統(tǒng)內(nèi)核的做法,似乎不太可能滿足大多數(shù)私有云和混合云向前發(fā)展的需要。
相反,Robin ADI是一個(gè)大數(shù)據(jù),NoSQL和數(shù)據(jù)庫(kù)部署和應(yīng)用生命周期管理框架,面向復(fù)雜的分布式和老舊應(yīng)用。Robin ADI為每個(gè)在倉(cāng)庫(kù)規(guī)模的計(jì)算設(shè)備上運(yùn)行的容器提供了可靠的QoS和SLA。
與Kubernetes(K8S)相比,RobinADI在5個(gè)關(guān)鍵領(lǐng)域具有獨(dú)特的優(yōu)勢(shì):
- 容器管理:Robin在虛擬化Linux 名字空間 和cgroups方面做了大量的工作。沒(méi)有它,人們就不會(huì)認(rèn)真考慮將Robin ADI的“開(kāi)箱即用”支持的復(fù)雜應(yīng)用(如Cloudera, DB2, SAP HANA等)進(jìn)行容器化。Robin在解決Docker對(duì)容器rootfs的狀態(tài)保護(hù)的局限方面做了大量的工作。因此,它們?cè)跓o(wú)縫地將復(fù)雜應(yīng)用的容器從一個(gè)物理主機(jī)遷移到另一個(gè)物理主機(jī)(以實(shí)現(xiàn)高可用性)方面,具有獨(dú)特的優(yōu)勢(shì)。Robin通過(guò)應(yīng)用專用的“hooks”技術(shù)擴(kuò)展了容器配置管理,“hooks”是Kubernetes所缺乏的概念。正因?yàn)槿绱,Robin的ADI可以快速地將復(fù)雜的有狀態(tài)的應(yīng)用打包在一起。
- 網(wǎng)絡(luò)管理:Kubernetes使用覆蓋網(wǎng)絡(luò)(overlay networking)。這使得復(fù)雜的分布式應(yīng)用的IP地址管理變得困難。例如,在Kubernetes中,當(dāng)一個(gè)容器從一個(gè)故障主機(jī)轉(zhuǎn)移到另一個(gè)主機(jī)時(shí),它會(huì)得到一個(gè)新的IP地址。這會(huì)破壞分布式應(yīng)用的網(wǎng)絡(luò)拓?fù)湟晥D。有一些復(fù)雜的、特定于應(yīng)用的解決方法可以繞過(guò)這個(gè)限制。鑒于Kubernetes關(guān)注的是不受此影響的無(wú)狀態(tài)的應(yīng)用,所以Kubernetes并沒(méi)有解決這個(gè)問(wèn)題。Robin使用網(wǎng)橋網(wǎng)絡(luò)技術(shù)(bridge networking,比覆蓋網(wǎng)絡(luò)性能高),并在容器從一個(gè)物理主機(jī)移動(dòng)到另一個(gè)主機(jī)時(shí)管理綁定到容器的IP地址。這是Robin ADI的一大優(yōu)勢(shì),也是實(shí)現(xiàn)大規(guī);A(chǔ)架構(gòu)、應(yīng)用和容器可擴(kuò)展性等廣泛功能的關(guān)鍵因素。
- 應(yīng)用的可移植性:Robin ADI允許在云內(nèi)和云間進(jìn)行完整的應(yīng)用和數(shù)據(jù)移植。這種將一個(gè)活動(dòng)的容器集群在運(yùn)行時(shí)從一個(gè)主機(jī)移動(dòng)到另一個(gè)主機(jī)而不中斷其服務(wù)的能力是一種創(chuàng)新。例如,你啟動(dòng)了一個(gè)作業(yè),讓它運(yùn)行3天,這時(shí)你覺(jué)得這個(gè)作業(yè)運(yùn)行太慢。因?yàn)镽obin ADI提供了從應(yīng)用到存儲(chǔ)設(shè)備的基礎(chǔ)架構(gòu)控制,所以你可以給整個(gè)運(yùn)行時(shí)應(yīng)用和數(shù)據(jù)作個(gè)快照,將這個(gè)作業(yè)的所有組件遷移到一個(gè)更大的集群,并重新啟動(dòng)停止的作業(yè),而不會(huì)丟失迄今為止已完成的部分。而使用Kubernetes (KS8)遷移一個(gè)在容器集群中運(yùn)行了部分作業(yè)的應(yīng)用時(shí),這個(gè)作業(yè)需要被停止并在新的更大的集群中重新從頭開(kāi)始。
- 使用體驗(yàn):Kubernetes被廣泛認(rèn)為安裝和維護(hù)復(fù)雜。而Robin ADI只需要幾分鐘就可以安裝完畢,并且有著類似蘋(píng)果的使用體驗(yàn):每一次操作都可以簡(jiǎn)化為“一鍵”體驗(yàn)。這是由細(xì)粒度“應(yīng)用到存儲(chǔ)”基礎(chǔ)架構(gòu)控制實(shí)現(xiàn)的。
- 存儲(chǔ)管理:這點(diǎn)上面已經(jīng)詳細(xì)討論過(guò)。
09、Robin ADI方案推動(dòng)第四波基礎(chǔ)架構(gòu)的創(chuàng)新
當(dāng)今IT界面臨的一個(gè)關(guān)鍵挑戰(zhàn)是使許多分布式計(jì)算應(yīng)用能夠在高效的共享基礎(chǔ)架構(gòu)上和平共存,在這種基礎(chǔ)架構(gòu)中,每個(gè)應(yīng)用都可以根據(jù)工作負(fù)載的要求以近乎實(shí)時(shí)的方式進(jìn)行適當(dāng)?shù)臄U(kuò)展,而不會(huì)損害其他應(yīng)用的性能。
在當(dāng)今的私有云、公共云和混合云中,業(yè)務(wù)連續(xù)性和災(zāi)難恢復(fù)的傳統(tǒng)概念集中在數(shù)據(jù)可移植性上。它不僅僅是指數(shù)據(jù)的可移植性,而且指跨平臺(tái)的完整的應(yīng)用和數(shù)據(jù)的可移植性。這不僅意味著應(yīng)用的可執(zhí)行文件的移動(dòng),還意味著實(shí)際運(yùn)行時(shí)的應(yīng)用和相關(guān)數(shù)據(jù)在使用中的移動(dòng)。
基礎(chǔ)架構(gòu)傾向于增加和擴(kuò)展,而不是完全被替換。因此,基于虛擬化和HCI的第二和第三波IT基礎(chǔ)架構(gòu)還需要很多年的時(shí)間被采用新技術(shù)的架構(gòu)所取代。然而,向第四波IT基礎(chǔ)架構(gòu)的過(guò)渡已經(jīng)開(kāi)始。
Robin Systems公司已經(jīng)構(gòu)建了第一個(gè)真正的ADI解決方案。這是一個(gè)轉(zhuǎn)折點(diǎn),無(wú)狀態(tài)和有狀態(tài)的應(yīng)用都可以在一個(gè)穩(wěn)定的、高性能的,高成本效益的,完全由經(jīng)濟(jì)高效的通用硬件構(gòu)建而成的共享基礎(chǔ)架構(gòu)上優(yōu)雅地運(yùn)行和擴(kuò)展。沒(méi)有我們不知道的復(fù)雜性需要隱藏,也沒(méi)有類似其它方案的虛擬化管理軟件的成本需要降低,因?yàn)檫@些問(wèn)題已經(jīng)完全被云平臺(tái)管理堆棧消除了。
有了Robin ADI,你可以這樣很容易地在你的應(yīng)用中啟動(dòng)一個(gè)IT項(xiàng)目:你只需要描述它的需求,而基礎(chǔ)架構(gòu)就會(huì)自行組裝和配置以滿足這些需求。這是Robin ADI解決方案在存儲(chǔ)層的重大創(chuàng)新。
最后,Robin ADI允許從容器構(gòu)建的整個(gè)活動(dòng)集群從一個(gè)主機(jī)操作系統(tǒng)遷移到另一個(gè)主機(jī)操作系統(tǒng),并在不中斷服務(wù)的情況下進(jìn)行放大或縮小。這賦予應(yīng)用和數(shù)據(jù)新的基于云平臺(tái)的獨(dú)立性,它們可以無(wú)縫地在私有云、公共云和混合云之間遷移。Robin ADI獨(dú)特的視角和突破性創(chuàng)新是基于每個(gè)容器集群的“application-to-spindle” QoS和可靠的SLA。這需要跨計(jì)算層、存儲(chǔ)層和網(wǎng)絡(luò)層,并且一起協(xié)力工作的創(chuàng)新。這種以應(yīng)用為中心的工作流管理將原生云應(yīng)用和傳統(tǒng)應(yīng)用的簡(jiǎn)化提升到了一個(gè)新的水平,達(dá)到了大道至簡(jiǎn)的終極境界。
轉(zhuǎn)載來(lái)源:CSDN