基于DNS負(fù)載均衡實現(xiàn)跨云應(yīng)用
“公有云可以作為傳統(tǒng)IT資源的延展,能幫助客戶應(yīng)對不斷變化的需求”——這是我們在向客戶介紹公有云產(chǎn)品時經(jīng)常說的一句話。我們來看一個具體的需求:
某客戶有一個web站點,部署在自有的數(shù)據(jù)中心(on-premises),在某些未計劃高峰時期(假設(shè)是促銷季),現(xiàn)有數(shù)據(jù)中心的基礎(chǔ)設(shè)施資源不足以支撐突增的訪問量。在這種情況下,公有云如何幫助客戶拓展本地數(shù)據(jù)中心的處理能力從而滿足峰值業(yè)務(wù)需求?
這個嘛,easy,客戶只要將現(xiàn)有的web站點遷移到公有云上可以啦,什么橫向擴展、按需付費、冗余存儲等一大堆“云特性”就都齊全了,輕松搞定客戶需求。然后,客戶問了這樣一個問題:應(yīng)用(Web站點)都遷移到公有云上去了,我們現(xiàn)有的數(shù)據(jù)中心咋不?關(guān)閉?閑置?這是我們賴以生存的核心應(yīng)用,都 “飄在云端”總感覺有些不踏實呀...
看起來本來順理成章的故事變得充滿變數(shù),其實這種情況是完全合理的:
因為遷移到公有云而廢棄或者閑置現(xiàn)有的基礎(chǔ)設(shè)施,而且還要做大規(guī)模的應(yīng)用遷移(以及圍繞應(yīng)用遷移而產(chǎn)生的一系列工作量和成本),這對客戶而言是無法接受的。使用云計算到底是省錢還是更費錢?是提升工作效率還是更折騰?
因為法律、合規(guī)等因素,客戶不可能將所有的應(yīng)用和數(shù)據(jù)都搬到到公有云上。但是客戶也的確存在使用公有云的需求。例如:醫(yī)院不可能把所有的病人數(shù)據(jù)和診療數(shù)據(jù)都保存到公有云上,但是可以通過公有云來提供檢查報告/檢驗結(jié)果查詢或者是預(yù)約掛號服務(wù);企業(yè)不會將財務(wù)數(shù)據(jù)保存在公有云上,但是可以通過公有云提供對賬、報表或者查詢服務(wù)。
盡管公有云的安全與合規(guī)程度遠高于某些客戶自有的IT基礎(chǔ)設(shè)施,但信任并非是短期內(nèi)就可以建立起來的。就像我們完全有理由認(rèn)為把錢存到銀行也不是***安全一樣——銀行倒閉了咋辦?
針對上述問題,我們可以使用“DNS負(fù)載均衡”來解決!
現(xiàn)在的DNS服務(wù)也不再是傻傻的只管將域名解析為IP地址了。很多提供域名相關(guān)服務(wù)的供應(yīng)商都推出了智能DNS服務(wù)。與傳統(tǒng)的DNS解析服務(wù)相比,智能DNS服務(wù)增加了以下功能:
DNS權(quán)重負(fù)載均衡:默認(rèn)的DNS負(fù)載均衡是輪詢,即DNS服務(wù)器會平均的將請求分發(fā)到每個A記錄。這樣雖然實現(xiàn)了最簡單的負(fù)載均衡,但是用戶無法控制負(fù)載分發(fā)策略。DNS權(quán)重負(fù)載均衡就是在默認(rèn)的DNS負(fù)載均衡機制上加入了權(quán)重值,用戶可以通過權(quán)重值來設(shè)置分發(fā)到每個節(jié)點(A記錄)上的請求數(shù)量,以此實現(xiàn)“能者多勞”——處理能力強的節(jié)點多承載一些負(fù)載。
來源智能解析:根據(jù)客戶請求的來源(所在位置或者接入線路),返回對應(yīng)的解析值(IP地址)。例如:用戶將一個應(yīng)用分別部署在中國和美國,在域名解析服務(wù)中給同一個域名設(shè)置2條不同的A記錄,分別對應(yīng)到中國和美國的應(yīng)用地址(公網(wǎng)IP地址)。這樣就能實現(xiàn)中國客戶訪問部署在中國的應(yīng)用,外國客戶訪問部署在美國的應(yīng)用,所有用戶均使用相同的域名來訪問應(yīng)用。
國內(nèi)外提供智能域名解析服務(wù)的廠商有:DNSPod,CloudXNS,萬網(wǎng),Akamai等。用戶也可以選擇使用F5的軟硬件混合方案搭建自己的智能DNS解析服務(wù)。
萬網(wǎng)的來源智能解析

DNSPod的DNS權(quán)重設(shè)置

除了上述智能DNS解析服務(wù),Microsoft Azure和AWS也提供了類似的服務(wù)。在Microsoft Azure中,智能DNS解析服務(wù)是Traffic Manager Profile,注意不是Traffic Manager。Traffic Manager只能支持部署在Windows Azure上的應(yīng)用。而Traffice Manager Profile可以支持外部的endpoint,即:可以在Microsoft Azure和本地數(shù)據(jù)中心之間進行DNS負(fù)載均衡,支持性能,權(quán)重和優(yōu)先級3種負(fù)載分發(fā)算法。


不過在endpoint區(qū)域選擇中,是沒有中國大陸的。部署在中國的大陸的應(yīng)用只能選擇東南亞或者東亞。

另外,Traffic Manager Profile目前只在國際版的Microsoft Azure上提供,中國版的Windows Azure只有Traffic Manager。
在AWS國際版上,Route 53即智能DNS解析服務(wù),與Microsoft Azure的Traffic Manager Profile相比,Route 53的區(qū)域劃分更細(xì)致,而且支持中國大陸(CN)。AWS中國版目前還沒有提供Route 53功能。

借助DNS負(fù)載均衡,我們就可以輕松實現(xiàn)一個混合云應(yīng)用部署方案,讓客戶切實體驗到云的優(yōu)勢。