邊緣計(jì)算面臨的一個(gè)艱巨挑戰(zhàn)是如何處理這樣的情況:在不同地理位置的數(shù)千個(gè)集群上運(yùn)行的千兆字節(jié)數(shù)據(jù)。這種描述讓你想到擁有物聯(lián)網(wǎng)傳感器數(shù)據(jù)的大型工業(yè)用例,但它們并不是唯一重要的優(yōu)勢(shì)所在。
邊緣計(jì)算在很多行業(yè)中變得非常重要。銀行在用它,在線服務(wù)供應(yīng)商需要它,而健康供應(yīng)商、電信、公用事業(yè)和汽車制造商則使用它。這篇文章介紹了激發(fā)邊緣計(jì)算的需求,這樣讀者就可以決定邊緣設(shè)計(jì)是否對(duì)他們有用。它還分析了邊緣的挑戰(zhàn)--包括經(jīng)常被忽視的挑戰(zhàn)--并提供了一些在現(xiàn)實(shí)世界中行之有效的解決方案。
為什么要使用邊緣計(jì)算?
邊緣計(jì)算是一種很有吸引力的(通常甚至是必需的)體系結(jié)構(gòu)選擇,由于有限的容許時(shí)延、網(wǎng)絡(luò)故障的潛在風(fēng)險(xiǎn)和法規(guī)要求,或者僅僅是對(duì)邊緣產(chǎn)生的不能劃算地將其傳輸?shù)街行恼军c(diǎn)的數(shù)據(jù)規(guī)模做出反應(yīng)等原因,邊緣計(jì)算便可以在數(shù)據(jù)源附近進(jìn)行計(jì)算。
邊緣計(jì)算的廣泛采用是由于以下幾個(gè)因素:
● 由于傳感器成本的降低和多樣性的增加,它比以往任何時(shí)候都更容易獲取數(shù)據(jù)。今天生產(chǎn)的幾乎所有產(chǎn)品都內(nèi)置了更多的傳感器和數(shù)據(jù)通信功能。
● 網(wǎng)絡(luò)基礎(chǔ)設(shè)施使得將比特移到邊緣的變得更便宜。
● 由于Kubernetes的進(jìn)步,在核心和邊緣集群中管理分布式計(jì)算變得越來(lái)越容易。
● 加固的硬件可以進(jìn)行必要的數(shù)據(jù)過(guò)濾和預(yù)處理,即使在可能發(fā)生在邊緣的惡劣條件下也能保持運(yùn)行。
令人驚訝的是,邊緣計(jì)算的最大挑戰(zhàn)之一不是計(jì)算部分。邊緣與核心之間的通信幾乎是一種普遍的需求。指標(biāo)和診斷數(shù)據(jù)需要移回核心計(jì)算中心,在某些情況下,數(shù)據(jù)或模型需要移動(dòng)到邊緣。
架構(gòu)師和實(shí)施者通常假設(shè)與核心的通信是很容易處理的,然而事實(shí)的情況往往并非如此。
邊緣的工作原理是什么?與核心的溝通
下面的實(shí)際用例說(shuō)明了如何解決邊緣計(jì)算中的挑戰(zhàn),包括與核心的通信。幾年前,我們有一個(gè)客戶,他開發(fā)了一個(gè)視頻流系統(tǒng)。需要邊緣計(jì)算,以便提供視頻內(nèi)容的系統(tǒng)接近最終用戶,以最小化延遲和最大化正常運(yùn)行時(shí)間。我們的客戶所構(gòu)建的系統(tǒng)運(yùn)行良好,但是他們?cè)跇?gòu)建遙測(cè)系統(tǒng)時(shí)遇到了麻煩,無(wú)法將系統(tǒng)健康狀況和客戶視頻消費(fèi)的數(shù)據(jù)傳送回核心——這是在出現(xiàn)問(wèn)題時(shí)向核心支持團(tuán)隊(duì)發(fā)出警報(bào)并進(jìn)行計(jì)費(fèi)所必需的數(shù)據(jù)。
這個(gè)特殊的問(wèn)題非常具體,但是問(wèn)題的形式——邊緣計(jì)算加上從邊緣到核心的遙測(cè)——對(duì)于許多其他行業(yè)來(lái)說(shuō)是普遍的。在這個(gè)例子中,和通常一樣,遙測(cè)技術(shù)被推遲到項(xiàng)目的末尾;困難被大大低估了。這就是我們的切入點(diǎn)。
我們所做的
為了解決將數(shù)據(jù)返回核心的典型邊緣問(wèn)題,我們添加了一個(gè)分布式數(shù)據(jù)結(jié)構(gòu),并使用其消息傳輸功能創(chuàng)建了一個(gè)簡(jiǎn)單可靠的解決方案。
我們的目標(biāo)是支持從幾十個(gè)小型邊緣數(shù)據(jù)中心獲取數(shù)據(jù),并以合理的低延遲將得到的數(shù)據(jù)可靠地傳輸?shù)胶诵臄?shù)據(jù)中心進(jìn)行分析和計(jì)費(fèi)。臨時(shí)網(wǎng)絡(luò)分區(qū)不應(yīng)影響數(shù)據(jù)完整性,并且數(shù)據(jù)應(yīng)在這些分區(qū)被修復(fù)后立即傳輸。該系統(tǒng)還需要盡量減少物理故障造成的停機(jī)時(shí)間。下圖說(shuō)明了如何使用數(shù)據(jù)結(jié)構(gòu)來(lái)滿足這些需求。
上圖所示,數(shù)據(jù)結(jié)構(gòu)的使用將邊緣與核心連接起來(lái),而不需要在任何一邊使用復(fù)雜的系統(tǒng)。虛線塊表示數(shù)據(jù)中心——包括邊緣和核心——并提醒我們數(shù)據(jù)結(jié)構(gòu)跨越了整個(gè)體系結(jié)構(gòu)。深色虛線箭頭顯示了通過(guò)數(shù)據(jù)結(jié)構(gòu)的消息傳輸系統(tǒng)(水平圓柱體)從多個(gè)邊緣位置返回到總部的度量數(shù)據(jù)流。
在此之前,我們客戶的開發(fā)人員曾嘗試過(guò)幾種遙測(cè)技術(shù)的實(shí)現(xiàn),但都沒(méi)有成功,結(jié)果大大落后于計(jì)劃進(jìn)度。相比之下,我們基于數(shù)據(jù)組的設(shè)計(jì)的傳輸程序能夠非常簡(jiǎn)單地將消息插入到邊緣的消息流中。然后數(shù)據(jù)結(jié)構(gòu)處理從邊緣到核心的所有數(shù)據(jù)傳輸。消息流中的主題記錄了數(shù)據(jù)中心名、源機(jī)器名、傳感器名或事件類型,因此來(lái)自所有邊緣中心的所有數(shù)據(jù)都可以合并到單個(gè)消息流中,同時(shí)仍然允許對(duì)數(shù)據(jù)的任何子集進(jìn)行分析。數(shù)據(jù)結(jié)構(gòu)處理靜態(tài)和動(dòng)態(tài)數(shù)據(jù)的安全性。
這個(gè)設(shè)計(jì)非常容易實(shí)現(xiàn)和操作,并且能很快地使客戶的開發(fā)人員按計(jì)劃行事。這種設(shè)計(jì)在數(shù)年內(nèi)也是非??煽康?。這種最終數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的一個(gè)特別好處是高度的關(guān)注點(diǎn)分離。例如,邊緣數(shù)據(jù)采集獨(dú)立于處理數(shù)據(jù)的中央程序。數(shù)據(jù)結(jié)構(gòu)的地理位置完全由管理員指定,管理員現(xiàn)在可以專注于配置數(shù)據(jù)運(yùn)動(dòng)和訪問(wèn)控制,而不關(guān)心數(shù)據(jù)內(nèi)容。這種關(guān)注點(diǎn)的分離意味著在核心和邊緣運(yùn)行的程序可以簡(jiǎn)單得多,只關(guān)注單個(gè)問(wèn)題。這一優(yōu)勢(shì)適用于廣泛的用例。
我們今天會(huì)做什么不同的事情(或不做)?
如果我們今天要設(shè)計(jì)這個(gè)邊緣解決方案,我們?nèi)詫⑹褂脭?shù)據(jù)結(jié)構(gòu)來(lái)傳輸數(shù)據(jù)----保留數(shù)據(jù)結(jié)構(gòu)的優(yōu)點(diǎn)來(lái)處理數(shù)據(jù)安全、數(shù)據(jù)移動(dòng)、復(fù)制和高可用性容錯(cuò)等所有方面。但今天,通過(guò)使用Kubernetes進(jìn)行容器編排,我們還將從中央軟件的完全云本機(jī)實(shí)現(xiàn)中受益匪淺。五年前,與Kubernetes現(xiàn)在的位置相比,容器編排還相當(dāng)原始。
具有適當(dāng)功能的數(shù)據(jù)結(jié)構(gòu)為在Kubernetes下運(yùn)行的容器化應(yīng)用程序提供數(shù)據(jù)訪問(wèn)和狀態(tài)持久性。
補(bǔ)充Kubernetes在編排計(jì)算中的角色的數(shù)據(jù)持久層對(duì)于獲得云原生計(jì)算的全部功能至關(guān)重要。數(shù)據(jù)將比處理它的容器壽命長(zhǎng)。
然而,在邊緣集群上,我們可能不會(huì)有什么改變——至少今天不會(huì)。然而,明天可能會(huì)是另一番景象。
剩下的挑戰(zhàn):會(huì)發(fā)生什么?
我們正處于邊緣容器編排的關(guān)鍵時(shí)期,這一編排非常有用。這使得現(xiàn)在成為邊緣計(jì)算的一個(gè)輝煌時(shí)刻。有了真正的邊緣編排,就可以在邊緣系統(tǒng)上執(zhí)行比我們?cè)谠荚O(shè)計(jì)中能夠證明的更高級(jí)的處理,并使邊緣群集的提供變得更容易。
邊緣作為目的地
這個(gè)用例突出了數(shù)據(jù)進(jìn)入核心的常見邊緣問(wèn)題。但是數(shù)據(jù)向邊緣的出口呢?我們需要向邊緣部署人工智能/機(jī)器學(xué)習(xí)模型,向邊緣推送狀態(tài)信息或報(bào)告數(shù)據(jù),或更新運(yùn)行在邊緣的軟件。數(shù)據(jù)結(jié)構(gòu)可以使所有這些都變得非常簡(jiǎn)單,同時(shí)還可以最小化通過(guò)開放互聯(lián)網(wǎng)訪問(wèn)存儲(chǔ)庫(kù)所帶來(lái)的安全風(fēng)險(xiǎn)。
讓數(shù)據(jù)雙向移動(dòng)使我們能夠真正“在本地行動(dòng),但在全球?qū)W習(xí)”。
安全情況是怎樣的呢?
邊緣系統(tǒng)的安全性至關(guān)重要,因?yàn)樗鼈兠媾R著巨大的威脅。至少,不可能形成新的邊緣集群,不可能模擬現(xiàn)有的集群,也不可能竊聽從邊緣移動(dòng)到核心的數(shù)據(jù)。理想情況下,這種安全級(jí)別是基于某種信任的硅根,這種信任一直延伸到最低的硬件級(jí)別。它還應(yīng)該向上擴(kuò)展,以便在執(zhí)行之前對(duì)所有OS和容器映像進(jìn)行驗(yàn)證,并且數(shù)據(jù)在靜止或傳輸時(shí)受到保護(hù),而不需要對(duì)應(yīng)用程序進(jìn)行任何專門設(shè)計(jì)。
在安全硬件平臺(tái)上運(yùn)行的安全容器執(zhí)行框架以及默認(rèn)安全數(shù)據(jù)結(jié)構(gòu)可以滿足這些需求。但是,任何低于這一點(diǎn)的東西都可能會(huì)大大降低安全性。
關(guān)鍵的問(wèn)題
● 比許多人想象的要多的行業(yè)需要邊緣計(jì)算。
● 邊緣計(jì)算不僅僅是在邊緣計(jì)算或運(yùn)行模型;將指標(biāo)和操作數(shù)據(jù)拉回到核心是一個(gè)幾乎無(wú)處不在且通常被忽略的需求。
● 一個(gè)從邊緣到核心的統(tǒng)一數(shù)據(jù)結(jié)構(gòu)可以處理數(shù)據(jù)在邊緣之間可靠移動(dòng)的問(wèn)題。
● Kubernetes已經(jīng)為核心的容器化計(jì)算提供了巨大的好處,在邊緣使用Kubernetes的能力正在迅速成熟。
作者:Ted Dunning
Ted是HPE旗下MapR的首席技術(shù)官,他擁有著博士學(xué)位,是計(jì)算機(jī)科學(xué)專業(yè)的作者,著有超過(guò)10本專注數(shù)據(jù)科學(xué)的書。他在高級(jí)計(jì)算領(lǐng)域擁有25項(xiàng)專利。
原文鏈接:
https://thenewstack.io/using-data-fabric-and-kubernetes-in-edge-computing/