隨著企業(yè)和政府建立自己的新常態(tài),5G和邊緣計(jì)算對于提供許多行業(yè)(包括制造業(yè),醫(yī)療保健,能源和公用事業(yè)等)所需的自動化,性能和認(rèn)知洞察力必不可少。
1、邊緣計(jì)算的發(fā)展趨勢
全球產(chǎn)業(yè)數(shù)字化正在快速的前進(jìn),數(shù)字化的應(yīng)用不僅需要強(qiáng)大的算力完成大數(shù)據(jù)分析和AI建模,還需要滿足現(xiàn)場對處理延遲和網(wǎng)絡(luò)條件的苛刻要求,滿足高度的隱私性和安全性要求,以及能在復(fù)雜的IT環(huán)境中提供統(tǒng)一且一致的管理能力。
產(chǎn)業(yè)對邊緣計(jì)算的核心需求在于適配性、可編程性和可管理性。其技術(shù)趨勢可以總結(jié)為如下幾點(diǎn):
環(huán)境標(biāo)準(zhǔn),基于標(biāo)準(zhǔn)的API環(huán)境開發(fā)和移植應(yīng)用程序;
統(tǒng)一編排,由單一的控制面系統(tǒng)管理云和邊緣的應(yīng)用;
可伸縮性,同一套架構(gòu)能夠支持不同性能、不同規(guī)模的設(shè)施;
去中心化,模糊邊緣和中心的邊界,實(shí)現(xiàn)應(yīng)用和數(shù)據(jù)的全局分布式協(xié)作。
本文將深入分析邊緣計(jì)算從容器化到云原生化的技術(shù)演進(jìn),進(jìn)一步提升應(yīng)用的開發(fā)體驗(yàn)和敏捷性。
2、邊緣計(jì)算的容器化
邊緣計(jì)算引入容器化技術(shù)能帶來以下優(yōu)勢:
解耦運(yùn)行依賴:容器模式實(shí)現(xiàn)了依賴封裝,不在需要本地安裝;
標(biāo)準(zhǔn)化應(yīng)用分發(fā):統(tǒng)一使用標(biāo)準(zhǔn)的容器格式和容器倉庫;
擴(kuò)展應(yīng)用類型:邊緣平臺使用統(tǒng)一的容器控制面接口。
下圖是LFEdge基金會開源項(xiàng)目“Baetyl”的1.0版本架構(gòu)圖,展示了一個典型的容器化邊緣:
上圖左側(cè)是Baetyl的主進(jìn)程,該進(jìn)程位于容器外直接運(yùn)行于本地操作系統(tǒng)上,負(fù)責(zé)控制Docker。中間位置是多個Baetyl功能服務(wù),這些服務(wù)均以容器的形式運(yùn)行于Docker內(nèi)。盡管服務(wù)的具體功能、使用資源和開發(fā)語言都不相同,但Baetyl只需以標(biāo)準(zhǔn)容器方式啟動和監(jiān)控即可。
容器化已經(jīng)是主流邊緣計(jì)算產(chǎn)品的默認(rèn)選擇,但隨著生產(chǎn)環(huán)境的逐漸增多,也暴露出了不足:
●單機(jī)限制:Docker缺乏有效的多機(jī)通信網(wǎng)絡(luò),這限制了邊緣的總算力規(guī)模;
●編排限制:Docker Compose缺乏多實(shí)例和跨機(jī)器連接能力,這限制了對復(fù)雜業(yè)務(wù)的描述能力;
●更新限制:位于容器外的主程序仍然需要手工升級,這限制了無人值守設(shè)備的普及。
●管理限制:邊緣應(yīng)用的定義和管理模式與云應(yīng)用分離,這限制了業(yè)務(wù)的敏捷性。
為解決上述問題,邊緣計(jì)算平臺開始走向與云原生相結(jié)合的模式。
3、邊緣計(jì)算在本地設(shè)備上的云原生化
云原生模式的關(guān)鍵技術(shù)是對底層設(shè)施的切換,通過使用Kubernetes帶來了更精細(xì)的應(yīng)用組織能力。
下圖是Baetyl 2.0的架構(gòu)圖,展示了一個典型的云原生邊緣:
●可見Baetyl 2.0不僅支持了更復(fù)雜的Pod應(yīng)用,還將主程序也一并納入自身管理,這種變化能帶來多方面的收益:
●可更新的主程序。新的模式將“系統(tǒng)更新”看作Baetyl OTA的一部分,這將讓邊緣計(jì)算設(shè)備總能第一時(shí)間獲得安全更新和Bug修復(fù)。
●可獨(dú)立更新的多容器應(yīng)用。新的模式充分利用的Kubernetes豐富的應(yīng)用定義,并且使每個服務(wù)都能被獨(dú)立的部署和升級,這將讓邊緣計(jì)算擁有更加多樣的功能。
●對邊緣集群的支持。新的模式基于Kubernetes的編排能力,可以讓一個Baetyl實(shí)例分布在多個不同的計(jì)算節(jié)點(diǎn)上,這既能提升總的計(jì)算能力,又能獲得更高的可用性。
4、邊緣計(jì)算在遠(yuǎn)程管理上云原生化
根據(jù)LFEdge的定義,邊緣計(jì)算會覆蓋了多種不同的網(wǎng)絡(luò)區(qū)域,實(shí)現(xiàn)與云的無縫融合。
不同的網(wǎng)絡(luò)之間并沒有絕對的邊緣和云的區(qū)分,而是根據(jù)各自的特點(diǎn)承擔(dān)不同程度的計(jì)算負(fù)載,雙方存在應(yīng)用和數(shù)據(jù)的廣泛交換?;谶@樣的原因,邊緣計(jì)算需要與云計(jì)算共享同一套控制面機(jī)制,也就是都納入云原生的形態(tài)范圍內(nèi),統(tǒng)一使用Kubernetes進(jìn)行管理。
邊緣計(jì)算的云原生化管理最核心的問題就是如何實(shí)現(xiàn)一套在不穩(wěn)定網(wǎng)絡(luò)下保證Kubernetes穩(wěn)定編排的機(jī)制。綜合業(yè)界不同的實(shí)現(xiàn),解決編排的穩(wěn)定性問題一般分為三個流派。
虛擬節(jié)點(diǎn)模式
虛擬節(jié)點(diǎn)即為每個邊緣計(jì)算設(shè)備創(chuàng)建一個邏輯上的、虛擬的Kubernetes工作節(jié)點(diǎn)。虛擬節(jié)點(diǎn)本身與Kubernetes位于同一個網(wǎng)絡(luò)內(nèi)以保證穩(wěn)定的工作負(fù)載編排。物理邊緣設(shè)備接收虛擬節(jié)點(diǎn)的數(shù)據(jù)實(shí)現(xiàn)間接的穩(wěn)定編排。
虛擬節(jié)點(diǎn)的缺點(diǎn)本地信息被簡單抽象為一個工作節(jié)點(diǎn),難以實(shí)現(xiàn)本地負(fù)載均衡和故障轉(zhuǎn)移。
同步狀態(tài)復(fù)制
對虛擬節(jié)點(diǎn)的一種改造思路是將本地邊緣計(jì)算系統(tǒng)視為一個單獨(dú)的Kubernetes集群,邊緣直接復(fù)制云上etcd的數(shù)據(jù)。這種方法能夠保證本地?fù)碛凶銐虻木幣澎`活性,其難點(diǎn)在于保證復(fù)制的一致性,且etcd屬于Kubernetes的“內(nèi)部數(shù)據(jù)”不適合直接操作。
Shadow CRD
Custom Resource Definition是Kubernetes社區(qū)推薦的功能擴(kuò)展機(jī)制。CRD提供了標(biāo)準(zhǔn)的編程接口,能夠在不改變Kubernetes內(nèi)部機(jī)制的前提下引入可自編排的邊緣計(jì)算節(jié)點(diǎn)。Device Shadow是來自物聯(lián)網(wǎng)的概念,即每一個物理設(shè)備(Device)都有對等的影子對象(Shadow)。影子提供了一套完整的一致性數(shù)據(jù)同步機(jī)制。
由Baetyl 2.0引入的Shadow CRD是一種靈活、高效且不損失信息的邊云同步技術(shù),未來通過與Operator的結(jié)合會進(jìn)一步提升全局自動化管理的能力。
5、總結(jié)
邊緣計(jì)算在過去幾年經(jīng)歷的極為快速的技術(shù)演進(jìn),與云原生模式的結(jié)合將能讓邊緣計(jì)算更好的吸收云、大數(shù)據(jù)和AI的成果,并讓后者進(jìn)一步擴(kuò)展應(yīng)用范圍。
盡管邊緣計(jì)算仍然處在發(fā)展的初期,但隨著全球開源社區(qū)的蓬勃發(fā)展,邊緣計(jì)算必然會將更多的創(chuàng)新帶入各行各業(yè),成為推動智能化時(shí)代的關(guān)鍵力量。