百度如何優(yōu)化多數(shù)據(jù)中心的帶寬成本?
作者介紹
熊亞軍,目前在百度負(fù)責(zé) IT (網(wǎng)絡(luò)、服務(wù)器)設(shè)備監(jiān)控平臺研發(fā)。
主題簡介
本文將主要從以下幾個部分同大家探討:
1.多數(shù)據(jù)中心的特點(diǎn)及計費(fèi)模式
2.數(shù)據(jù)中心的外網(wǎng)流量特點(diǎn)
3.外網(wǎng)流量優(yōu)化的困難和挑戰(zhàn)
4.如何更充分利用付費(fèi)帶寬
5.未來展望思考
一、多數(shù)據(jù)中心的特點(diǎn)及計費(fèi)模式
背景:隨著互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,大型互聯(lián)網(wǎng)公司數(shù)據(jù)中心的數(shù)量和網(wǎng)絡(luò)復(fù)雜程度也在急速上升。
多數(shù)據(jù)中心的網(wǎng)絡(luò)
和Google 的網(wǎng)絡(luò)類似,大型互聯(lián)網(wǎng)企業(yè)的網(wǎng)絡(luò)一般可以分為:
◆數(shù)據(jù)中心內(nèi)部網(wǎng)絡(luò)(Data Center Networks)
◆WAN網(wǎng)(即Wide Area Networks)
其中, 按照流量的方向,可將WAN網(wǎng)分為兩張骨干網(wǎng):
◆內(nèi)網(wǎng):數(shù)據(jù)中心之間互聯(lián)的網(wǎng)絡(luò)(Inter-DC WAN,類似Google B4),用來連接互聯(lián)網(wǎng)企業(yè)在地理上分布的多個數(shù)據(jù)中心。
◆外網(wǎng):面向Internet用戶訪問的網(wǎng)絡(luò)(Internet-Facing WAN),用來提供面向用戶的云服務(wù),如搜索、視頻、下載。
帶寬的計費(fèi)模式
互聯(lián)網(wǎng)企業(yè)的外網(wǎng)(Internet-Facing WAN)需要向運(yùn)營商支付高額的費(fèi)用。
并且,隨著云服務(wù)的蓬勃發(fā)展,Internet用戶數(shù)量和流量的急劇增加,網(wǎng)絡(luò)容量也從數(shù)年前的10G快速增長到1T,10T甚至更大。
在數(shù)據(jù)中心的成本中,外網(wǎng)的帶寬費(fèi)用越來越引起關(guān)注。其中,常見的外網(wǎng)計費(fèi)模式有以下幾個:
1.峰值計費(fèi):對數(shù)據(jù)中心出口的帶寬周期(如5分鐘)采樣,按照一個月的***帶寬采樣值進(jìn)行計費(fèi)。大多數(shù)數(shù)據(jù)中心都采用峰值計費(fèi)的收費(fèi)模式。
2.95計費(fèi):同樣進(jìn)行周期采樣,去掉***5%的采樣點(diǎn),按照剩下的***帶寬采樣值進(jìn)行計費(fèi)。
3.日均峰值計費(fèi):同樣進(jìn)行周期采樣,每天有一個帶寬峰值,按照一個月內(nèi)每天的帶寬峰值的均值進(jìn)行計費(fèi)。
二、數(shù)據(jù)中心的外網(wǎng)流量特點(diǎn)
一個簡單的峰值計費(fèi)例子
峰值計費(fèi)模式下,根據(jù)數(shù)據(jù)中心一個月的出口帶寬峰值進(jìn)行收費(fèi)。
如下圖所示,為某互聯(lián)網(wǎng)公司數(shù)據(jù)中心的流量圖,這個數(shù)據(jù)中心在***天的夜里22點(diǎn)到達(dá)峰值,依據(jù)該點(diǎn)的帶寬峰值進(jìn)行計費(fèi)。
很顯然,在非峰值時刻,該數(shù)據(jù)中心可以(免費(fèi)的)使用更多流量。
如下圖的綠色部分,我們將數(shù)據(jù)中心能免費(fèi)使用的流量稱為該數(shù)據(jù)中心的空閑帶寬。
在峰值計費(fèi)的收費(fèi)模式下,每個數(shù)據(jù)中心都有可觀的空閑帶寬,而這些帶寬并沒有被充分的利用起來。
特別的,某些特殊的日子會導(dǎo)致非常高的流量峰值,如京東618、雙十一或某部熱門劇集發(fā)布。
數(shù)據(jù)中心在這個月其它時間的帶寬值都遠(yuǎn)遠(yuǎn)小于流量峰值,存在大量空閑帶寬。
一個日均峰值計費(fèi)例子
有些數(shù)據(jù)中心采用日均峰值計費(fèi)的模式。
和峰值計費(fèi)類似,日均峰值的數(shù)據(jù)中心也有大量空閑帶寬沒有被充分利用起來。
如下某互聯(lián)網(wǎng)公司數(shù)據(jù)中心的流量圖中,非當(dāng)日峰值的時刻,這個數(shù)據(jù)中心的流量遠(yuǎn)小于當(dāng)日的峰值,也存在非??捎^的空閑帶寬。
#p#
三、外網(wǎng)流量優(yōu)化的困難和挑戰(zhàn)
由于峰值計費(fèi)的收費(fèi)模式,每個數(shù)據(jù)中心經(jīng)常存在非??捎^的空閑帶寬,我們希望可以充分利用這些免費(fèi)的空閑帶寬,進(jìn)而優(yōu)化外網(wǎng)流量。
然而,面臨以下這些困難和挑戰(zhàn):
1.面向Internet用戶流量的實(shí)時性
從上面的數(shù)據(jù)中心流量圖可以看到外網(wǎng)流量的波動規(guī)律。
例如,一般早上6點(diǎn)左右處于流量的波谷,在晚上到達(dá)流量的波峰。
一個直觀的想法是將波峰的流量遷移到波谷,那么自然能極大的降低計費(fèi)的流量值,從而降低付給運(yùn)營商的帶寬費(fèi)用。
但是,面向Internet用戶的流量是實(shí)時的,不可能將用戶在晚上10點(diǎn)的觀看視頻產(chǎn)生的流量延后或提前到早上。
更不用說其它實(shí)時性要求非常高的業(yè)務(wù),如搜索、SNS、網(wǎng)購、游戲等。
2.流量峰值的不確定性
上面的例子中,事先給出了數(shù)據(jù)中心的計費(fèi)帶寬值,然后再計算出數(shù)據(jù)中心在其它時刻的空閑帶寬。
然而在實(shí)際中,我們難以事先得知這個月的哪個時刻到達(dá)計費(fèi)峰值以及計費(fèi)峰值是多少,也就難以計算該數(shù)據(jù)中心當(dāng)前可以免費(fèi)的接納多少流量。
此外,常見的外網(wǎng)流量調(diào)度方式是修改DNS的配置,這存在一定的延時(新的用戶請求到來才會改變當(dāng)前的流量分布)。
然而,由于大規(guī)模用戶行為存在一定的規(guī)律,從上面的流量圖中,可以直觀的看到數(shù)據(jù)中心每天的流量圖存在一定的重復(fù)性和規(guī)律性。
并且已有成熟的機(jī)器學(xué)習(xí)模型和研究工作,可對流量進(jìn)行較為準(zhǔn)確的預(yù)測。我們可以基于預(yù)測的流量值,計算數(shù)據(jù)中心未來(較短的)一段時間內(nèi)的空閑帶寬。
四、如何更充分利用付費(fèi)帶寬
接下來我們考慮如何充分利用各數(shù)據(jù)中心的空閑帶寬,從而更充分的利用付費(fèi)帶寬。
1.減少其它峰值計費(fèi)DC的付費(fèi)帶寬
上圖是兩個DC的帶寬曲線,其中:DC1在下午4時到達(dá)峰值,DC2在晚上23時到達(dá)峰值。
可以看到,在下午4時,DC2沒有到達(dá)峰值,具有一定的空閑帶寬。
這時,可將DC1的部分流量調(diào)度到DC2;晚上23時再將DC2的部分流量調(diào)度到DC1。
這樣簡單的流量調(diào)度,可以同時降低這一天DC1和DC2的流量峰值,從而降低了付給運(yùn)營商的帶寬費(fèi)用。
當(dāng)數(shù)據(jù)中心數(shù)量較多,并且不同數(shù)據(jù)中心部署用戶行為差異較大的業(yè)務(wù)時,通過設(shè)計合適的流量調(diào)度算法,能大幅度的降低多數(shù)據(jù)中心的外網(wǎng)付費(fèi)帶寬。
這個調(diào)度方式存在一定的局限性:不同數(shù)據(jù)中心到達(dá)計費(fèi)峰值的時刻比較接近;特別是部署相同業(yè)務(wù)的數(shù)據(jù)中心,或舉辦網(wǎng)絡(luò)活動導(dǎo)致流量特別高的時候,所有的數(shù)據(jù)中心差不多同時到達(dá)這個月的流量峰值。此時沒有數(shù)據(jù)中心存在空閑帶寬,可用于接納其它數(shù)據(jù)中心計費(fèi)峰值的流量。
2.減少其它日均峰值計費(fèi)DC的付費(fèi)帶寬
我們用上述峰值計費(fèi)模式DC的空閑帶寬來接納日均峰值計費(fèi)模式DC的流量,優(yōu)化后的流量圖如下圖所示:
可以看到日均峰值計費(fèi)模式DC每天的計費(fèi)帶寬值都有一定的減小。
不同于峰值計費(fèi)的DC,日均峰值計費(fèi)DC任何一天的計費(fèi)帶寬值的減小,都能減小這個月需要支付給運(yùn)營商的帶寬成本。
即使某一天所有DC都同時到達(dá)這個月的峰值,但這個月的其它天里,存在DC能接納該日均值計費(fèi)DC的峰值流量,就能降低該DC的帶寬成本。
因此,降低日均峰值計費(fèi)DC的付費(fèi)帶寬,一定程度上放寬了流量調(diào)度的局限性的限制。
3.利用外網(wǎng)空閑帶寬進(jìn)行內(nèi)網(wǎng)流量的傳輸
利用多數(shù)據(jù)中心的空閑帶寬來動態(tài)的減少(峰值計費(fèi)或日均峰值計費(fèi)模式)數(shù)據(jù)中心的帶寬成本,都只用到了忙時(如上午11點(diǎn)到凌晨0點(diǎn))的空閑帶寬。
顯然,數(shù)據(jù)中心忙時的空閑帶寬很小,大部分的空閑帶寬都集中在閑時(凌晨0點(diǎn)到上午10點(diǎn))。
而這時用戶訪問產(chǎn)生的外網(wǎng)流量也很小,不能利用這時的大量空閑帶寬。
分布式存儲系統(tǒng)、云服務(wù)和搜索等業(yè)務(wù),需要利用內(nèi)網(wǎng)進(jìn)行實(shí)時性要求不高的傳輸作業(yè)。
這些作業(yè)產(chǎn)生的背景流(Background Flow)占用了大量的內(nèi)網(wǎng)帶寬資源。
利用數(shù)據(jù)中心閑時的大量空閑外網(wǎng)帶寬資源,進(jìn)行可容忍延時的內(nèi)網(wǎng)作業(yè)的傳輸,能有效的降低內(nèi)網(wǎng)鏈路擁塞和帶寬資源緊缺的狀況。
需要注意的是,相對內(nèi)網(wǎng)來說,外網(wǎng)的延遲和丟包比較嚴(yán)重。利用外網(wǎng)空閑帶寬傳輸內(nèi)網(wǎng)流量時,要將內(nèi)網(wǎng)和外網(wǎng)統(tǒng)一調(diào)度,并充分考慮外網(wǎng)的傳輸性能,以免影響內(nèi)網(wǎng)作業(yè)的性能。
五、后續(xù)展望
通過多數(shù)據(jù)中心的外網(wǎng)流量調(diào)度來優(yōu)化計費(fèi)帶寬成本,存在一定的局限性,并且不能充分利用數(shù)據(jù)中心閑時的大量空閑帶寬資源。
此外,利用外網(wǎng)空閑帶寬進(jìn)行內(nèi)網(wǎng)流量的傳輸,需要考慮內(nèi)外網(wǎng)統(tǒng)一配合以及外網(wǎng)傳輸質(zhì)量等問題。
總的來說,多數(shù)據(jù)中心的外網(wǎng)流量調(diào)度存在諸多困難。然而,外網(wǎng)帶寬的巨大成本值得去直面并一一解決這些困難。
如何一起愉快地發(fā)展
“高效運(yùn)維”公眾號(如下二維碼)值得您的關(guān)注,作為高效運(yùn)維系列微信群的唯一官方公眾號,每周發(fā)表多篇干貨滿滿的原創(chuàng)好文:來自于系列群的討論精華、運(yùn)維講壇線上精彩分享及群友原創(chuàng)。“高效運(yùn)維”也是互聯(lián)網(wǎng)專欄《高效運(yùn)維***實(shí)踐》及運(yùn)維2.0官方公眾號。
提示:目前高效運(yùn)維新群已經(jīng)建立,歡迎加入。您可添加蕭田國個人微信號xiaotianguo8 為好友,進(jìn)行申請,請備注“申請入群”。
重要提示:除非事先獲得授權(quán),請在本公眾號發(fā)布2天后,才能轉(zhuǎn)載本文。尊重知識,請必須全文轉(zhuǎn)載,并包括本行。