11月28日晚,阿里雲技術專家吳龍輝老師在邊緣計算社區社群里分享基於CDN的邊緣計算平台設計和思考,本文為吳老師分享實錄。全文共3600字,預計閱讀15分鐘。
CDN的全稱是ContentDelivery Network,即內容分髮網絡。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。
以上是來自來自百度百科的解釋,簡單的說CDN就是用空間換時間,空間的話就是分部在離終端用戶較近的邊緣節點,時間上就是終端用戶直接從邊緣節點直接獲取資源,這樣就不需要直接訪問源站,從而提升用戶體驗。
舉一個不是很恰當的類比,比如現在國內電商平台建立物流系統:在一二城市會建立大型物流中心(源站),三四線城市會建立小型物流中心(邊緣節點),像雙十一這種大促,會根據大數據計算提前在各地的小物流中心準備好商品(預熱),這樣用戶就可以快速獲取包裹(就近獲取)。所以CDN可以認為是目前整個網際網路的物流系統,只不過CDN分發的不是包裹,而是圖片、視頻、軟體安裝包。一般一家CDN服務商需要有成百上千個邊緣節點,才可以具備比較好的服務質量。
CDN已經是一個充分驗證過的成熟技術,可以不誇張地說,CDN扛住了整個網際網路大部分的流量,沒有CDN就沒有現在繁榮的各種視頻網站、直播平台和小視頻APP。同時經常長期的發展,CDN在供應鏈體系、節點建設、網絡運維都有非常成熟的經驗和沉澱。
隨著網際網路智能終端設備數量的急劇增加,以及 5G 和物聯網時代的到來,傳統雲計算中心集中存儲、計算的模式已經無法滿足終端設備對於時效、容量、算力的需求。將雲計算的能力下沉到邊緣側、設備側,並通過中心進行統一交付、運維、管控,將是雲計算的重要發展趨勢。
IDC 預計,到 2020 年全球將有超過 500 億的終端與設備聯網,超過 40% 的數據要在網絡邊緣側進行分析、處理與存儲,這對邊緣計算提供了充分的場景和想像空間。
邊緣計算分層結構包括雲、邊、端。
可以認為CDN是邊緣計算的一種形態,並且是當前來看規模最大、算力最強的形態、也是成熟度最高的業務形態。但是CDN的業務形態也需要做技術架構升級,才能支撐更多的邊緣計算場景。
邊緣計算技術形態也可以按照傳統的邏輯劃分為IaaS、PaaS和SaaS:
可以看出邊緣計算並不是孤立存在的,邊緣計算一定是需要跟雲計算進行協同,所謂雲邊端協同。一種比較形象的說法:如果把雲計算比作整個計算機智能系統的大腦。那麼邊緣計算就是這個系統的眼睛耳朵和手腳。
完全依賴雲計算的計算機系統就好比每一件事都要請示司令部的軍隊,在需要大量和外界互動的時候會顯得僵化,反應遲緩,而且一旦網絡有點問題就徹底歇菜。加上邊緣計算之後就好比讓中低層軍官也開始發揮主觀能動性,能一定程度上自主做出智能判斷和行動決策,同時也只需要把一部分經過篩選的信息上傳到司令部。大大緩解了網絡通訊的壓力。即使在和總司令部暫時失去聯繫的情況下,也能自主做出部分決策。
邊緣計算跟雲計算相比也面臨著諸多挑戰,以CDN為例,邊緣節點分布廣,單節點規模小(1~100機器),大部分節點是沒有駐場人員,所以維修周期長(1~2周)。同時節點的網絡複雜並且不可控,網絡割接、運營商封禁是常有的事情,省與省,國與國(海外)之間都有著非常複雜的網絡鏈路。
面對這些問題,就需要對調度/容災能力、運維能力要有比較高的要求,CDN本身的業務形態就是天然容災和可調度的:一個節點掛了,流量就可以切換到其他節點上。CDN節點架構也相對比較簡單,經典三層架構:四層負載均衡(LVS)+七層負載均衡(Nginx或者HaProxy)+緩存服務(Squid),所以CDN運維也是比較簡單的,機器上主要是緩存數據,機器掛了整體影響不大,不需要做數據遷移。
但是CDN要轉型到通用邊緣計算平台,調度/容災能力和運維能力就會變得規模化的一個主要瓶頸,怎麼做調度、怎麼做容災、怎麼做運維,這些問題在邊緣場景更加突出。因此容器的輕量級和Devops屬性,加上K8S的調度,目前看來是非常是非常適合邊緣計算。
容器和K8S的落地場景主要還是在中心大集群場景,目前在邊緣的落地形態也是在探索和實踐中,目前針對邊緣場景的K8S有:
以CDN場景的落地場景來說,形態上就是在雲中心部署Kuberentes Master,將雲中心所在Region附近的CDN節點接入到Kubrentes中,最後Kuberente之上構建Fedration能力,進行全局容器調度。這樣就能利用K8S調度能力和容器的Devops能力。
這塊可以參考https://yq.aliyun.com/articles/711767
1. CDN轉型邊緣計算平台
CDN已經是一個非常成熟技術和業務,也是因為成熟,所以同質化嚴重,同時因為CDN的業務粘性不夠(改個DNS業務就切走了),所以目前國內CDN的商業環境並不是太好,CDN行業變成價格戰紅海,所以CDN廠商也紛紛在進行戰略轉型邊緣計算平台,但是5G還未大規模商用,轉型之路面臨著諸多問題:落地場景存不確定因素,客戶接受程度不夠等等。但是改變可能失敗,不改變必定掉隊,所以當務之急是先修煉好內功,把新技術(虛擬化/容器/AI)在CDN進行落地和磨鍊,同時積極挖掘各種新業務和場景。
2.安全容器是重要能力
容器天然適合邊緣計算,但是容器也是比較大的硬傷,那就是安全和隔離,這也是為什麼現在邊緣計算的主要對外售賣形態還是虛擬機。所以安全容器就是一個最佳解決方案,具備容器的Devops屬性,又有比較好的隔離和安全保證。今年Kata安全容器發展迅猛,所以安全容器是邊緣計算的一個關鍵技術。
3.視頻AI和邊緣計算天生一對
視頻AI目前已經有不少落地場景:人臉識別門禁、自動垃圾分類、食堂自助結帳等等,可以預見視頻AI將會繼續快速發展。但是隨著規模的擴大和場景的挖掘,視頻AI對於低延時的需求會日漸強烈,如果能把視頻AI能力部署在邊緣節點上:雲中心進行大數據計算和AI訓練,AI訓練結果下沉到邊緣節點,邊緣負責視頻接入,直接在邊緣進行處理。