在過去10年中,服務(wù)器技術(shù)已經(jīng)經(jīng)歷了很長的一段發(fā)展歷程。為什么要說10年?其實并沒有什么特別的原因,真的。我?guī)缀踔皇请S意選擇了這一個比較好算的時間段。因為無論我們所選取的20年還是兩年,在整個技術(shù)領(lǐng)域,不斷的發(fā)展變化是唯一的不變的。只需要簡單的想想在今天的IT業(yè)界被我們稱為“服務(wù)器”的東西,與10年前被稱之為“服務(wù)器”的東西已經(jīng)有了很大的不同這一事實,就已然很容易理解了。的確,今天的“服務(wù)器”甚至不一定是實際的物理設(shè)備。考慮到這一點,不妨就讓我們來看看當前在服務(wù)器技術(shù)領(lǐng)域中的六大趨勢吧。
從單處理器系統(tǒng)轉(zhuǎn)移到多處理器系統(tǒng)
在最高級別,服務(wù)器技術(shù)的發(fā)展趨勢是由應(yīng)用程序和市場需求所推動的。還記得幾十年前,企業(yè)應(yīng)用程序(如數(shù)據(jù)庫、ERP和CAD程序)的性能要求開始為單處理器服務(wù)器系統(tǒng)的功能所帶來的壓力嗎?作為對這些需求壓力的響應(yīng),業(yè)界開發(fā)了多處理器服務(wù)器以及與它們一起使用的編程模型。不足為奇的是,隨著大型企業(yè)的需求的不斷增長,服務(wù)器供應(yīng)廠商也頻頻推出越來越大型的多處理器系統(tǒng)以響應(yīng)企業(yè)客戶的需求。
大數(shù)據(jù)和計算的橫向擴展模型
我們今天的技術(shù)發(fā)展現(xiàn)狀是怎樣的?絕大多數(shù)是處在大數(shù)據(jù)和計算的橫向擴展模型的環(huán)境中。基于Web經(jīng)濟的新的應(yīng)用程序 - 許多人將其稱之為大數(shù)據(jù)應(yīng)用程序和最新一代的NoSQL數(shù)據(jù)庫應(yīng)用程序——類似于我們曾經(jīng)構(gòu)建最大的多處理器服務(wù)器能力時所面臨的壓力。而這也導(dǎo)致編程模型的開發(fā),使應(yīng)用程序得以能夠使用數(shù)百甚至數(shù)千的網(wǎng)絡(luò)服務(wù)器作為計算集群平臺。這就是谷歌所謂的“倉庫規(guī)模計算(Warehouse Scale Computer)”。其也被稱為橫向擴展計算模型,不是使用更大的多處理器系統(tǒng)的縱向擴展模型。在這種橫向擴展的大背景下,一臺單一物理服務(wù)器是一個計算集群的組件,而該計算集群反過來又是新的服務(wù)器。
高性能網(wǎng)絡(luò)技術(shù)的發(fā)展
由于高性能網(wǎng)絡(luò)技術(shù)的進步,可擴展性,故障彈性,在線故障修復(fù)和升級的概念也已經(jīng)從服務(wù)器硬件轉(zhuǎn)移到集群軟件層。10Gb以太網(wǎng)使得過去由于性能原因而不得不直接與服務(wù)器集成的I/O設(shè)備,現(xiàn)在可以通過網(wǎng)絡(luò)提供服務(wù)。因此,一臺單一物理服務(wù)器組件的架構(gòu)已經(jīng)被大大簡化。在硬件層面,其是具有一個或兩個處理器、內(nèi)存和網(wǎng)絡(luò)接口的最具成本效益的計算平臺。同時,Linux已成為這些服務(wù)器最廣泛接受的基本軟件平臺。一個服務(wù)器的“設(shè)計”現(xiàn)在由一臺網(wǎng)絡(luò)簡化的物理服務(wù)器和I/O設(shè)備的軟件組成。這樣的服務(wù)器可以根據(jù)需要,以及通常是根據(jù)企業(yè)工作流的需求在軟件中進行規(guī)模化縮放——而這一功能在之前則是不切實際的。這個模型的缺點是有太多硬件和軟件組件必須正確配置在一起工作。這個模型需要直到最近才出現(xiàn)的新的管理系統(tǒng)和硬件架構(gòu)元素。
虛擬機和容器技術(shù)
虛擬機(VM)和容器技術(shù)的出現(xiàn)實現(xiàn)了服務(wù)器計算環(huán)境的抽象和封裝,可以作為服務(wù)器平臺上的應(yīng)用程序運行的軟件實體。這兩種技術(shù)正在成為公共云服務(wù)提供商的規(guī)范。多臺虛擬機和容器可以被部署在一臺物理服務(wù)器上,從而得以能夠?qū)⒍嗯_服務(wù)器整合到較少數(shù)量的物理服務(wù)器上。這有效地提高了硬件的效率,并減少了數(shù)據(jù)中心的空間占用面積。在這種情況下,一臺“服務(wù)器”是虛擬機或容器軟件鏡像(container image),而不再是硬件實體了!這樣的“服務(wù)器”可以被創(chuàng)建、保存(或暫停)、或被傳送到不同的硬件服務(wù)器——這些概念完全與服務(wù)器的傳統(tǒng)概念相異,但是卻創(chuàng)建了物理服務(wù)器所不可用的部署功能。此外,一個完全配置和測試的軟件堆棧的一臺虛擬機或容器鏡像可以被保存和分配,封裝學習和專業(yè)知識。這有助于快速部署應(yīng)用程序,從而節(jié)省人力成本和時間成本。這是虛擬機和容器模型的主要價值主張之一。
與一個完全配置和測試的軟件堆棧虛擬機/容器很類似的是,其可以作為軟件鏡像進行管理,可以保存和重新部署,橫向擴展環(huán)境的軟件堆棧(包括底層的邏輯服務(wù)器的配置) 可以被抽象、保存和重新部署。這使得可以快速部署橫向擴展的應(yīng)用程序,幫助企業(yè)最終用戶處理橫向擴展系統(tǒng)的復(fù)雜性。鑒于底層計算平臺可以基于工作流的需求進行修改,這是特別有價值的。
內(nèi)存技術(shù)的發(fā)展
但我們不要忘記了硬件。諸如相變化內(nèi)存(Phase Change Memory,PCM)和可變電阻式存儲器(ReRAM)之類的存儲器技術(shù)的進步正在使得具有類似于當今服務(wù)器中的DRAM的訪問時間的新型的存儲器提供了2到10倍的容量,且具有成本優(yōu)勢和持久性。這種即將到來的新型存儲器類將在DRAM和磁盤存儲之間創(chuàng)建新的存儲器層級,稱為存儲類存儲器和永久存儲器。高容量,加上新的內(nèi)存技術(shù)所提供的低延遲性能,將推動實現(xiàn)全新的應(yīng)用程序性能,其將比現(xiàn)在的服務(wù)器高出幾個數(shù)量級。但與此同時,其也帶來了一些需要克服的架構(gòu)方面的挑戰(zhàn),才得以能夠發(fā)揮其全部的潛力并實現(xiàn)廣泛的使用。這些挑戰(zhàn)包括(1)系統(tǒng)中的存儲器區(qū)域的持久性的應(yīng)用程序意識,該存儲器空間的一部分要么在處理器上的易失性高速緩存中;要么在DRAM中,以及(2)處理故障失敗服務(wù)器上的具有持久性的、且潛在具有價值的數(shù)據(jù)。Linux社區(qū)正在積極處理這些問題,我們應(yīng)該有望能夠在未來的12到18個月內(nèi)看到解決方案開始出現(xiàn),如果不是更快的話。
鏈接到企業(yè)數(shù)據(jù)庫的機器學習和移動應(yīng)用程序
到目前為止,諸如x86的通用處理器架構(gòu)已經(jīng)專門用于服務(wù)器的設(shè)計中,并且這些通用的微處理器將被編程以滿足每款應(yīng)用程序的需要。然而,更新的、更強大和更苛刻的應(yīng)用程序,如機器學習,安全功能和高帶寬壓縮在通用處理器上執(zhí)行效率非常低。因此,當今正在部署的較新的服務(wù)器都是基于GP和GPU處理器、機器學習處理器和密碼處理器的一個混合。這些較新的服務(wù)器提供了比標準通用處理器架構(gòu)大大提高的性能級別(數(shù)量級)。因此,企業(yè)數(shù)據(jù)中心將遷移到日益異構(gòu)的計算環(huán)境中,具備特定應(yīng)用程序的專用服務(wù)器。
此外,與實時響應(yīng)的企業(yè)數(shù)據(jù)庫關(guān)聯(lián)的移動應(yīng)用程序推動了這種新型服務(wù)器的市場需求。雖然傳統(tǒng)企業(yè)應(yīng)用程序的最終用戶通常僅限于企業(yè)員工和潛在的一些合作伙伴,但這些新的應(yīng)用程序現(xiàn)在正使得數(shù)以百萬計的在線客戶能夠訪問企業(yè)應(yīng)用程序,如醫(yī)療保健、金融、旅游和社交媒體。他們需要相當數(shù)量級的事務(wù)吞吐量和毫秒級的響應(yīng)時間。正在部署的新的橫向擴展應(yīng)用程序(如NoSQL數(shù)據(jù)庫)以及基于閃存的存儲,能夠滿足這一需求。
有望看到的更多的變化
因此,從上述對于當前服務(wù)器技術(shù)趨勢的粗略總結(jié)中我們可以看出,變化和創(chuàng)新沒有缺點,而這些進步的本身,就是一個發(fā)現(xiàn)新問題,并不斷尋找新的解決方案的過程。在過去幾年中,大數(shù)據(jù)、橫向擴展的計算、高性能網(wǎng)絡(luò)技術(shù)、虛擬機和容器技術(shù)、內(nèi)存技術(shù)、機器學習和其他與企業(yè)數(shù)據(jù)庫相關(guān)的高級應(yīng)用程序的進步都推動了服務(wù)器技術(shù)的發(fā)展。現(xiàn)在的一臺服務(wù)器甚至早已不是我們十年前所知道的服務(wù)器的樣子了,那么誰又知道10年后的服務(wù)器看起來會像什么樣呢?
本文作者Satya Nishtala是DriveScale公司的創(chuàng)始人兼CTO。