隨著網際網路智慧終端裝置數量的急劇增加,以及5G和物聯網時代的到來,傳統雲端計算中心集中儲存、計算的模式已經無法滿足終端裝置對於時效、容量、算力的需求,將雲端計算的能力下沉到邊緣側、裝置側,並通過中心進行統一交付、運維、管控,將是雲端計算的重要發展趨勢。IDC預計,到2020年全球將有超過500億的終端與裝置聯網,超過40%的資料要在網路邊緣側進行分析、處理與儲存,這對邊緣計算提供了充分的場景和想象空間。
邊緣計算按功能角色主要分為三個部分:
雲 – 傳統雲端計算的中心節點,有豐富的雲端計算產品形態和資源,是邊緣計算的管控端,負責全網算力和資料的統一管理、排程、儲存。
邊 – 雲端計算的邊緣側,又分為基礎設施邊緣(Infrastructure Edge)和裝置邊緣(Device Edge)。基礎設施邊緣通常位於IDC內,擁有充足的算力和儲存容量,和中心有專線或骨幹網連線,如CDN節點等;裝置邊緣通常指非傳統IT基礎設施的邊緣節點,這類資源更靠近裝置和資料來源,比較常見的一般是資料閘道器。
端 – 終端裝置,如手機、智慧家電、各類感測器、攝像頭等。
邊緣計算目前面臨的主要挑戰有:
雲邊端協同:缺少統一的交付、運維、管控標準。
安全:邊緣服務和邊緣資料的安全風險控制難度較高。
網路:邊緣網路的可靠性和頻寬限制。
異構資源:對不同硬體架構、硬體規格、通訊協定的支援,以及基於異構資源、網路、規模等差異化提供標準統一的服務能力的挑戰。
以kubernetes為代表的雲原生技術(Cloud native)是最近幾年雲端計算領域發展最快的方向之一,k8s也已經成為容器應用編排的事實標準,並以非常快的發展速度擴大在雲端計算領域的覆蓋範圍,雲原生技術和邊緣計算相結合,可以大大提升雲技術向邊緣拓展的效率。
以Kubernetes為基礎的雲原生技術,核心價值之一是通過統一的標準實現在任何基礎設施上提供和雲上一致的功能和體驗,藉助雲原生技術,可以實現雲-邊-端一體化的應用分發,解決在海量邊、端裝置上統一完成大規模應用交付、運維、管控的訴求;在安全方面,雲原生技術可以提供容器等更加安全的工作負載執行環境,以及流量控制、網路策略等能力,能夠有效提升邊緣服務和邊緣資料的安全性;在邊緣網路環境下,基於雲原生技術的邊緣容器能力,能保證弱網、斷網的自治性,提供有效的自恢復能力,同時對複雜的網路接入環境有良好的相容性;依託雲原生領域強大的社群和廠商支援,雲原生技術對異構資源的適用性逐步提升,在物聯網領域,雲原生技術已經能夠很好的支援多種CPU架構(x86-64/arm/arm64)和通訊協定,並實現較低的資源佔用。
從2018下半年開始,我們和IoT、CDN等兄弟團隊開展了邊緣容器方面的合作,在大家的共同努力下推出了edge kubernetes,目前已經有智慧樓宇等專案成功接入,開創了雲原生技術在阿里雲邊緣場景的首次落地。
今年我們通過ACK對Edge kubernetes進行了產品化,4月已經在ACK的所有Region中上線,並且在ENS團隊的大力支援下完成了ENS資源的接入,歡迎大家試用。之後的發展規劃也和眾兄弟團隊一起進行了設計和討論:
Edge kubernetes在設計上一直秉持對原生k8s不進行大改的策略,所有邊緣相關的特性均通過Addon實現。
在當前的設計中,邊緣叢集形態上主要存在下面兩種:
雲端管控叢集:master在雲端,node在邊緣端,適用於邊緣資源較少的情況,是目前的主力形態
邊緣自治叢集:master和node均在邊緣端,雲端針對多叢集進行管控,適用於邊緣node規模較大的情況
目前ACK上已經提供的是雲端管控叢集,所以下面的feature介紹主要針對這一叢集形態。
主要特性:
邊緣自治:斷網或弱網環境下,邊緣node、邊緣網路均可正常執行,即使節點重新啟動也可恢復服務。
邊緣網路:支援多種方案供選擇:公網vxlan/公網ipsec/內網vxlan/主機網路
邊緣監控:兩種監控和紀錄檔方案:a. 邊緣儲存+雲端查詢;b. 雲端儲存+雲端查詢
armhf/arm64裝置支援(experimental)
安全沙箱容器:Daishu/Nanovisor
Edge unit:為了解決邊緣場景下的資源排程、應用部署、容災、網路規劃等需求,引入了Edge unit概念,設計細節見下圖:
Edge kubernetes適用於需要通過中心統一管控遠端機房、伺服器、裝置的場景,輕鬆實現雲、邊、端一體的應用交付、運維、管控能力。
在IOT領域,可用於工廠、倉庫、樓宇、園區、高速收費站等場景。
在CDN領域,可以支援視訊直播、視訊監控、線上教育等行業客戶就近計算和儲存的需求。
在ENS邊緣計算產品上,提供了針對ENS邊緣範例的DevOps能力,方便針對邊緣的應用分發及部署運維。