邊緣計(jì)算/霧計(jì)算及其對(duì)CDN提供商來(lái)說(shuō)意味著什么?
CDN通常是大量分布式系統(tǒng)跨互聯(lián)網(wǎng)部署在位于多個(gè)地區(qū)的多個(gè)數(shù)據(jù)中心。該技術(shù)的主要目的是,向最終用戶這個(gè)群體分發(fā)內(nèi)容,并加快分發(fā)。內(nèi)容所有者選擇CDN技術(shù)出于多個(gè)原因,包括為最終用戶確保高性能和高可用性。能夠以一種靈活、按需提供的方式,隨時(shí)隨地為用戶提供帶寬密集型內(nèi)容,比如圖形、實(shí)時(shí)流媒體、在線存儲(chǔ)的文件和社交網(wǎng)絡(luò)數(shù)據(jù)庫(kù)。
目前CDN提供商提供的幾種最常見(jiàn)的服務(wù)包括如下:
Web加速:這一組技術(shù)讓分發(fā)動(dòng)態(tài)/靜態(tài)網(wǎng)站的內(nèi)容來(lái)得更高效,包括:緩存龐大的靜態(tài)內(nèi)容、動(dòng)態(tài)緩存控制機(jī)制、TCP加速和數(shù)據(jù)壓縮及其他技術(shù)。負(fù)載均衡:由于CDN服務(wù)器位于邊緣,可以更深清楚地了解入站流量和源服務(wù)器的狀態(tài)。這讓CDN能夠采用應(yīng)用層負(fù)載均衡,從而通過(guò)精確衡量每一臺(tái)源服務(wù)器的實(shí)際負(fù)載來(lái)提高流量分配效率。安全:CDN通過(guò)隱藏源服務(wù)器的身份對(duì)源服務(wù)器進(jìn)行抽象化,從而保護(hù)源服務(wù)器、免受直接針對(duì)IP地址的攻擊,還便于管理流量。許多CDN提供商提供適用于應(yīng)對(duì)DDOS、應(yīng)對(duì)Web應(yīng)用程序攻擊和垃圾郵件/機(jī)器人攻擊的安全解決方案。內(nèi)容存儲(chǔ):許多CDN提供商允許客戶將內(nèi)容存儲(chǔ)在邊緣服務(wù)器,無(wú)論這內(nèi)容是龐大媒體文件、數(shù)據(jù)庫(kù)文件還是腳本,可以根據(jù)需要智能化地分布在邊緣服務(wù)器上。
CDN市場(chǎng)在如何變化?
1. 物聯(lián)網(wǎng)的崛起
物聯(lián)網(wǎng)的崛起已改變了互聯(lián)網(wǎng)格局。由于更多的實(shí)體連接到互聯(lián)網(wǎng),帶寬需求、數(shù)據(jù)量以及要求設(shè)備附近進(jìn)行計(jì)算是有待解決的最大挑戰(zhàn)之一。
據(jù)估計(jì),到2020年將有2041540萬(wàn)個(gè)物聯(lián)網(wǎng)設(shè)備連接到互聯(lián)網(wǎng)。由于更多設(shè)備連接到互聯(lián)網(wǎng),數(shù)據(jù)會(huì)比以往更具動(dòng)態(tài)性。由于帶寬有限,面對(duì)分發(fā)數(shù)量如此多的動(dòng)態(tài)內(nèi)容這個(gè)重任,利用網(wǎng)絡(luò)加速解決中間一英里(middle mile)將是過(guò)去的解決方案。物聯(lián)網(wǎng)需要真正的邊緣計(jì)算/霧計(jì)算來(lái)應(yīng)對(duì)這些挑戰(zhàn)。
物聯(lián)網(wǎng)的要求很高。即使現(xiàn)代設(shè)備擁有更強(qiáng)大的計(jì)算能力,管理設(shè)備(業(yè)務(wù)邏輯在設(shè)備端運(yùn)行)也常常頗為棘手。
大多數(shù)物聯(lián)網(wǎng)設(shè)備需要對(duì)設(shè)備端收集的數(shù)據(jù)/信息加快計(jì)算,不過(guò)由于業(yè)務(wù)邏輯是獨(dú)立的,需要更多的計(jì)算能力,因此常常建議將邏輯放在邊緣,而不是放在設(shè)備端。它需要一條具有高可用性的反饋環(huán)路,以便物聯(lián)網(wǎng)設(shè)備請(qǐng)求邊緣執(zhí)行某些計(jì)算,并利用結(jié)果加快處理。
邊緣處計(jì)算邏輯顯著縮短了中間一英里,實(shí)現(xiàn)了近乎實(shí)時(shí)的響應(yīng),因此提高了性能。
與此同時(shí),如果創(chuàng)建一種BtoB模式,工業(yè)數(shù)據(jù)或物聯(lián)網(wǎng)家用電器數(shù)據(jù)對(duì)于數(shù)據(jù)分析集群(data analytics farm)來(lái)說(shuō)極其有價(jià)值,可用于實(shí)現(xiàn)業(yè)務(wù)戰(zhàn)略。雖然從物聯(lián)網(wǎng)設(shè)備收集的大量數(shù)據(jù)可能會(huì)讓數(shù)據(jù)集群無(wú)力處理,但數(shù)據(jù)匯總邏輯可以放在邊緣處,將數(shù)據(jù)發(fā)送到云端之前,讓數(shù)據(jù)更緊湊合理。
基于Hadoop的批處理服務(wù)可以放在邊緣,將數(shù)據(jù)發(fā)送到云之前,觸發(fā)后可匯總和壓縮數(shù)據(jù)。它將大大減輕數(shù)據(jù)收集的開(kāi)銷(xiāo),同時(shí)提高源服務(wù)器和物聯(lián)網(wǎng)設(shè)備的性能。
2. 更動(dòng)態(tài)的內(nèi)容和所有權(quán)分配
動(dòng)態(tài)內(nèi)容已日益急劇增多,可緩存內(nèi)容的數(shù)量將大大減少。隨著互聯(lián)網(wǎng)用戶增多,數(shù)據(jù)種類會(huì)多得多,靜態(tài)網(wǎng)站在整個(gè)消費(fèi)者生態(tài)系統(tǒng)中所占的比重會(huì)非常小。內(nèi)容會(huì)在互聯(lián)網(wǎng)上更加分布,使得真正的源服務(wù)器這個(gè)概念失效。更多的客戶端代碼將確定從哪個(gè)源端獲取哪些內(nèi)容。
與此同時(shí),Web服務(wù)器正通過(guò)分配問(wèn)題(distributingthe concerns)變得更加以業(yè)務(wù)邏輯為中心。比如說(shuō),Oath驗(yàn)證模式可能完全在客戶端驗(yàn)證用戶身份,然后為源服務(wù)器與客戶端之間的連接確保安全。它使源服務(wù)器完全獨(dú)立、安全,由另外某臺(tái)Oauth服務(wù)器完成驗(yàn)證。
隨著Serverless模式日益廣為人知,并顯得日益重要,它將很快使邏輯更加分布。邊緣計(jì)算將扮演重要角色以承載一小部分的特定邏輯;需要在靠近客戶源端運(yùn)行這些邏輯,才能為客戶提供可靠的體驗(yàn),同時(shí)為源服務(wù)器減輕負(fù)載。比如說(shuō),客戶上傳的龐大圖像/視頻可以在邊緣處以較低分辨率來(lái)調(diào)整大小,然后再發(fā)送到云端。
3. 邊緣計(jì)算/霧計(jì)算及其對(duì)CDN提供商來(lái)說(shuō)意味著什么?
邊緣計(jì)算方面有不同的提議。事實(shí)上,邊緣這個(gè)術(shù)語(yǔ)比以往來(lái)得更抽象。不過(guò)總體目標(biāo)一樣,即讓計(jì)算更靠近設(shè)備,通過(guò)避免中間一英里來(lái)顯著提高性能。
CDN提供了邊緣的一種定義:讓緩存內(nèi)容的服務(wù)器靠近客戶源端。如果把物聯(lián)網(wǎng)設(shè)備視為數(shù)據(jù)源點(diǎn),可以使用同樣的基礎(chǔ)。雖然商業(yè)模式與CDN邏輯大不相同,但CDN提供商可能會(huì)拿出一種平臺(tái),在靠近物聯(lián)網(wǎng)設(shè)備的地方運(yùn)行業(yè)務(wù)邏輯,而不是在源服務(wù)器來(lái)運(yùn)行。CDN隨帶幾個(gè)傳統(tǒng)的概念:邊緣到邊緣連接、內(nèi)容托管和存儲(chǔ),這將讓CDN提供商成為構(gòu)建霧計(jì)算模式的基礎(chǔ)。這將使CDN提供商為來(lái)自物聯(lián)網(wǎng)生態(tài)系統(tǒng)或下一代Web應(yīng)用的客戶打開(kāi)新的大門(mén)。
4. 邊緣計(jì)算并不意味著在邊緣運(yùn)行源服務(wù)器
CDN提供商絕對(duì)不可能在邊緣運(yùn)行處理繁重任務(wù)的應(yīng)用服務(wù)器,這需要大量的計(jì)算能力和基礎(chǔ)設(shè)施。與此同時(shí),托管一臺(tái)始終運(yùn)行、功能完備的應(yīng)用服務(wù)器(CDN本身并不是為此設(shè)計(jì))常常面臨很復(fù)雜的情形。不過(guò)CDN提供商有可能將輕量級(jí)的少許業(yè)務(wù)邏輯放在邊緣,這將大大提高客戶端的可靠性,或提升物聯(lián)網(wǎng)設(shè)備的性能。
CDN的演變
考慮到總計(jì)算能力方面的限制和潛在的商業(yè)市場(chǎng),CDN提供商應(yīng)該轉(zhuǎn)向面向某些函數(shù)的Serverless平臺(tái)――函數(shù)即服務(wù)(FaaS)模式,以托管動(dòng)態(tài)管理的、事件驅(qū)動(dòng)型、輕量級(jí)的業(yè)務(wù)邏輯,這些業(yè)務(wù)邏輯可輕松部署,改善最終用戶/設(shè)備體驗(yàn)。
1. 為什么使用Serverless?
Serverless計(jì)算是一種云計(jì)算執(zhí)行模式,云服務(wù)提供商動(dòng)態(tài)管理機(jī)器資源的分配。價(jià)格基于應(yīng)用程序消耗的實(shí)際資源量,而不是預(yù)先購(gòu)買(mǎi)一定數(shù)量的容量。它是效用計(jì)算(utility computing)的一種形式。
2. 快速部署、快速更新
Serverless函數(shù)是無(wú)狀態(tài)的;借助適當(dāng)?shù)姆蛛x和封裝,很容易轉(zhuǎn)入/轉(zhuǎn)出(rollin/out)不同的版本,可輕松部署?;贒ocker的生態(tài)系統(tǒng)允許快速部署、轉(zhuǎn)入變更內(nèi)容。
3. 可擴(kuò)展性是核心
函數(shù)并不是功能完備的Web應(yīng)用程序,而是一小組封裝起來(lái)的業(yè)務(wù)邏輯。這只允許某項(xiàng)功能大批量擴(kuò)展,而不是允許擴(kuò)展整個(gè)應(yīng)用程序。
4. 事件驅(qū)動(dòng)
讓Serverless平臺(tái)真正不一樣的地方是,托管在Serverless平臺(tái)的功能并不總是運(yùn)行,而是基于事件來(lái)予以啟動(dòng)和擴(kuò)展。這使得定價(jià)模式完全不同于傳統(tǒng)的Web服務(wù)器托管,即預(yù)先購(gòu)買(mǎi)一定數(shù)量的容量。價(jià)格基于請(qǐng)求數(shù)量和資源消耗量。沒(méi)有提出請(qǐng)求,也就不存在函數(shù)。