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