邊緣計算深入淺出
什麼是邊緣計算?
,目前對於邊緣計算定義有許多的重複和矛盾——許多人對邊緣計算
有著不同的解釋。然而,我們的目的是要闡述關於邊緣計算最成熟的觀點:我們認為
邊緣計算是為應用開發者和服務提供商在網路的邊緣側提供雲服務和IT環境服務。
邊緣計算的目標是在靠近數據輸入或用戶的地方提供計算、存儲和網路帶寬。一個邊
緣計算的環境一般有以下特點:多個站點之間的潛在高延遲、網路不可靠和慢速帶
寬, 伴隨著一般數據中心中心化資源池所不能應對的其他交付服務和應用功能。通過
將部分或者全部處理程序遷移至靠近用戶或數據收集點,邊緣計算能夠大大減少在
大規模分散式站點下給應用程序所帶來的影響。
邊緣計算與數據中心的應用差別,首先出現在基於廣域網的虛擬網路服務上。最開始
的應用場景是希望能夠藉助現有雲計算用戶所熟悉的架構,來建立一個既靈活又簡
單的管理平台。
隨著新型的邊緣計算能力的出現,我們可以看見計算模型的轉變——不再束縛於建
設中心化的數據中心。取而代之的是,對於某些應用來說,邊緣計算吸取了虛擬化和
雲計算的經驗,創造出一種能夠管理成千上萬大規模分散式節點的潛在能力,並且滿
足各種多樣的用戶場景,例如工業領域的萬物互聯或者是應用於成千上萬水力資源
網路的全方位實時監控。
目前存在很多商業的和開源的邊緣計算軟體,它們其實並不依賴於分散式雲架
構——一些廠商把這類產品稱作「邊緣設備」。這種方案的組件主要包括IoT網管或者
NFV設備。但是逐漸地,應用程序需要雲在邊緣節點能夠提供更加豐富的功能,然而
此時構建分散式邊緣基礎設施的工具和架構還處於早期。我們的看法是,市場對邊緣
計算的能力需求會持續不斷地增長。
邊緣計算的能力包括並不限於下列:
? 提供一個跨多種基礎設施的一致性操作範式
? 能夠支持大規模分散式環境
? 能夠為全球分布的客戶交付網路服務
? 能夠滿足應用集成、編排和服務交付的需求
? 能夠滿足硬體資源的限制和成本的限制
? 能夠運行在局限及不穩定的網路之上
? 能夠滿足應用對超低延遲的需求,如增強現實、虛擬現實和語言識別等
? 能夠實現區域隔離,保護本地數據的隱私
什麼是邊緣計算?
http://openstack.org 4
深入探索邊緣計算的考慮因素
邊緣計算的邊緣指的是位於管理域的邊緣,儘可能地靠近數據源或用戶。這個概念
同樣適用於運營商網路、有眾多分支機構的大企業,如零售,或者是與IoT相關的其他
應用。
微型數據中心之
間的延遲LCore
雲計算數據中心
小型/微型數據中心
混合網路
家庭網路
企業網路
邊緣計算的一個特點是應用與邊緣的位置緊密相關。對於運營商來說,邊緣指一個位
置靠近用戶但是卻由供應商控制,潛在地在用戶的設備上運行著不同種類的計算任
務。對於大型企業來說,邊緣指一個應用程序、服務和工作任務正在運行的位置(如,
零售商店或者工廠)。對於這個定義而言,邊緣不是指那些支持能夠支持最小化雲架
構並資源有限的終端設備,如IoT或者感測設備。這是一個非常重要的考慮因素,因為
很多針對邊緣計算的討論並不如此區分。
邊緣計算與數據中心在如下幾個方面是相似的:
? 都包含計算、存儲和網路資源
? 這些資源都可以被多個用戶和應用程序共享
? 都收益於虛擬化技術和資源池的抽象
? 都收益於能夠利用白牌硬體的能力
? 都能夠通過API來支持互操作性
邊緣計算與大型數據中心的區別在於:
? 邊緣節點儘可能地靠近最終用戶,能夠提高在高延時和不可靠連接下的用戶
體驗。
? 邊緣計算也許需要特殊的硬體,如GPU/FPGA平台來提供增強現實和虛擬現實
的功能。
? 邊緣計算能夠擴展至非常多的站點,分布在各個不同的地點。
? 一個邊緣站點的位置和它的訪問認證鏈接是非常重要的。一個需要靠近在用戶
http://openstack.org 5
端運行的應用程序,需要處於正確的邊緣部分。對於邊緣計算來講,應用程序位
置的重要性是通用的。
? 多站點的所有資源池都應該是動態的。因為站點之間的物理隔離,邊緣站點應該
能夠在某種程度上相互連接,並且能夠通過廣域網與核心相連。邊緣站點會隨時
加入或離開整個基礎設施資源池。
? 邊緣站點一般是處於遠端並且潛在地無法被操縱,因此邊緣站點必須能夠被遠
程管理。相關工具必須能夠支持通過不可靠網路來訪問邊緣站點。
? 邊緣計算應該支持巨大的差異性,如不同大小和規模的站點、大規模的數據中心
或者是單個設備
? 邊緣站點往往是資源受限的;這是因為空間或電源的限制導致不能隨意往站點
裡面添加資源
? 一些用戶場景需要能夠在大規模的情況下實現多租戶的功能
? 邊緣計算與雲數據中心的隔離要求「外部雲」不能影響邊緣計算的相關服務
邊緣計算的概念必須包括邊緣站點(如計算、網路和存儲基礎設施),和運行著的應用
程序(計算任務)。邊緣計算環境中的應用程序還是能夠享有雲計算中的各種資源,如
計算、塊存儲、對象存儲、虛擬網路、裸機或者容器。
定義和區分邊緣計算和雲計算的最基本特徵是:
? 有能力支持由多個潛在寬泛分布的站點組成的動態資源池
? 潛在不可靠的網路連接
? 很可能在跨網路多站點的情況下碰到的難以解決的資源限制
http://openstack.org 6
所以迄今為止我們對於邊緣計算的特性、用例及應用場景了解多少?
驅動邊緣計算至關重要的動力就是為了能夠更近一步的為用戶或終端數據資源提供
服務。邊緣計算環境將與核心協作,目標在不向核心提出無理連接請求的前提下提供
更佳的用戶體驗。將通過以下幾點進行改進:
1. 降低延時:即使是遠距的計算功能,能夠降低用戶所感受到的時延。例如,能夠有
效地實現響應式遠程桌面,增強現實或是帶來更好的遊戲。
2. 降低帶寬限制:這種將工作遷移至更接近於用戶或是數據採集終端的能力能夠
降低站點帶寬限制所帶來的影響。尤其是當邊緣節點服務減少了向中樞發送大
量數據處理的請求時,這一點顯得極其有用。這種場景普遍適用於物聯網及網路
功能虛擬化負載。數據量的減少以及本地化處理能夠幫助轉化為具有更高響應
的應用程序並減少長距離兆兆級數據傳輸所帶來的支出。
但這其中仍存在著利弊權衡。為了應用邊緣計算,大幅增加部署數量是必要條件。這
也就導致了我們面臨著大範圍邊緣部署的挑戰。如果說管理單一雲需要一個十人團
隊,那麼一個組織又怎麼能夠處理上百甚至上千個小型雲。部分要求包括:
1. 需要標準化和統一的基礎環境。它們必須位置相近,已知數量。
2. 提供自動化管理;在處理部署,更替及任何可復原性故障時提供簡潔直接的處
理方法。
3. 當硬體出現故障時,應提供簡潔高效的應對計劃。
4. 本地式容錯設計也許比較重要,尤其是面對遠程或不可達的環境,如零接觸式
基礎環境。這同時也是一個如何權衡購買和運行大量硬體設備支出與針對停電
和應急修復支出的問題。考量包括:
a. 這些區域是否需要能夠自給自足?
b. 如果某一區域出現了故障,沒有人會去現場修復,本地備件也不可能
具備。
c. 是否需要容錯機制?如果確實需要,那麼在有人能夠修復前容錯需要維
持多久,兩小時,一周還是一個月?
5. 維護操作必須簡潔。未經過培訓的工人能夠進行人工修復和替換,而熟練的遠程
管理員可以進行重裝或軟體維護。
6. 物理設計可能需要一次整體反思。大多數的邊緣計算環境並不理想,有限的能
源,灰塵,濕度以及振動都應被考慮在內。
探索功能特性及用例
http://openstack.org 7
用例
用來表徵用例的方法可能會有幾十種,本文因長度有限並不能夠詳細羅列。但這裡提
供了一些示例以幫助梳理思緒和點明應用的機遇。
分析,合規,安全和網路功能虛擬化是受益於分散式結構的四類主要的工作需求。
數據採集及分析
物聯網,通常其數據採集於大規模的微型網站網路,是受益於邊緣計算模型的典型應
用。通常,大量數據通過有限的網路連接傳輸至位於集中式數據中心的分析引擎進行
數據分析,而這卻是適得其反;分析引擎可能出現響應不足,也可能導致額外的延時
並浪費寶貴的帶寬。鑒於邊緣計算設備同樣能夠產生兆兆級數據,將數據接近於源頭
進行分析,只向中樞系統發送小批量的匯總信息,這樣更接近於位於邊緣側數據源的
分析顯得更具有成本效益。當然,這其中也需要在向中樞傳遞數據所產生的成本和缺
失部分信息之間進行權衡。
安全
遺憾的是,隨著邊緣設備(包括手機及物聯網感測器)的普及,終端設備的激增也使得
新興的攻擊矢量不斷湧現。邊緣計算能夠使得安全部件更接近於攻擊源,啟動更高效
的安全應用並增加分層數量以抵禦針對核心的侵犯和風險。
合規要求
合規涵蓋了廣泛的需求,包括地理圍欄,數據主權及版權執法。基於地理及政治邊界
約束數據使用,基於版許可權制進行數據限流,將數據存儲於包含特定規章的區域,這
些操作在邊緣計算基礎環境中都是可實現和可執行的。
網路功能虛擬化
網路功能虛擬化的核心是一個典型的邊緣計算應用,因為邊緣計算為其提供了基礎
功能。電信運營商正嘗試通過運行虛擬網路功能作為部分或其上層的邊緣計算基礎
環境,並以此來轉換他們服務提供模式。在邊緣計算基礎環境中運行虛擬網路功能確
實能夠發揮出其最高的效能以及最低的支出/複雜度。
實時性
實時應用,例如增強現實/虛擬現實,互聯汽車,遠程醫療,感知網路工業4.0以及智慧
城市,無法容忍超過數毫秒的時延並對於抖動或時延變化極其敏感。 舉例來說,互聯
汽車要求低時延、高帶寬,並基於接近於用戶計算和內容存儲,這些條件都使得邊緣
核心成為了必備項。在很多場景下,尤其是使用封閉式自動化操作來維護高可用性的
場景,響應時間必須保證在幾十毫秒內,而這種條件除邊緣計算基礎設施之外是無法
達成的。
擬真
邊緣計算擴展了帶寬性能,激發了新興擬真應用的潛能。其中包括增強現實/虛擬現
實、4K 視頻和應用於各領域例如醫療中360°圖像技術。鑒於例如TCP等協議對於無
http://openstack.org 8
線電網路通信的驟變無法良好響應,邊緣緩存以及內容優化已經成為了必不可少的
技術。若將邊緣計算基礎環境應用於無線電/網路信息的實時交互,則能在視頻瀏覽
高峰期將卡頓,延遲的情況減少20%,並可以根據無線電情況實時變化視頻影像的比
特率。
網路效率
許多應用對於延遲的不敏感,也不需要大量的就近計算或存儲資源。所以理論上它們
可以在集中式雲端運行,但是對於帶寬和/或計算的需要仍然使得邊緣計算成為了一
種更加高效的選擇。當前部分應用已較為常見,其中包括視頻監控和物聯網網關,而
另外一些則正在起步,包括面部識別和汽車登記號碼牌識別。對於這些產業來說,邊
緣計算不僅僅為它們降低了帶寬需求還為實現應用價值的功能提供了一個平台。視
頻監控動作感知和威脅識別就是一個很好的例子。在許多的這類應用中,90%的數據
都是常規且不相關,因此將這些數據傳輸至集中式雲端不僅價格高昂還浪費了往往
本就匱乏的網路帶寬。這使得這種在邊緣側分揀異常和有變化的數據,並只上報實用
數據的處理方法顯得更具意義。
自成一體和自動化操作
直至今日,仍有許多場所的互聯網連接受限,不可靠或不穩定。這些場所包括交通工
具(飛機,汽車,輪船),採礦作業區(石油鑽塔,輸油管道,礦井),電力基礎設施(風電
場,太陽能電站), 或是一些一般應具有良好網路連接的場所,例如倉庫。邊緣計算能
夠靈活的幫助這些場所,在當它們需要或網路連接不可用時保證半自動化操作並運
作如常。即使在暫時無網路連接的情況下,仍為零售區域維護他們的POS系統就是這
一實現的最佳案例。
機密性
企業可能會因工作,網路連接局限性和機密性的需要選擇邊緣計算。舉例來說,醫療
應用程序在將個人健康信息傳輸至雲端前必須將其匿名化,而這就需要應用到邊緣
計算。
另外,我們也可以根據不同公司的部署類型來了解哪些需求會受益於邊緣計算。操作
員應用程序是由操作員來建立和管理安排至邊緣計算處的工作,例如,電信運營商。
第三方應用則是由其組織建立並運行在已有的邊緣計算環境中,並以此來影響其它
的邊緣計算環境。值得一提的是,任何應用都能夠影響部分或是所有雲端所提供的特
性,包括計算,塊存儲,對象存儲,虛擬網路,裸機或容器。
場景
邊緣計算模式的基礎特性就是將基礎設施更
http://openstack.org 9
私有網路
邊緣站點
最終用戶節點
公有網路
邊緣站點
最終用戶節點
關注間斷WAN連接。當設定為有限網路連接時,內容緩存或提供計算、存儲服務
以及網路服務都是邊緣計算常見的使用方法。
2. 移動連接:在5G網路大規模普及前,移動網路仍保持著受限和不穩定的特性,因
此移動/無線網路也可以看作是雲邊緣計算的常見環境要素。許多應用或多或少
都依賴於移動網路,例如應用於遠程修復的增強現實、遠程醫療、捕捉公共設施(
水力,煤氣,電力,設施管理)數據的物聯網設備、庫存、供應鏈以及運輸解決方
案、智慧城市、智慧道路和遠程安全保障應用。這些應用都受益於邊緣計算就近
端處理的能力。
3. Network-as-a-Service (網路即服務):由於需要在各異環境中提供特定的網路
服務應用經驗,NaaS用例不僅只能佔用位於邊緣上小部分的分散式平台,而且
需要強大的,可跨接不穩定或受限WAN網路的集中式管理工具來支持外圍邊緣
側的服務。該場景的主要特徵包括:硬體資源佔用量小,移動(更改網路連接)及
頻繁更替工作,數據和應用混合安置。這也是基礎平台需要支持微型節點(在非
傳統包(冷卻數據中心內不都是19英寸機架)內進行少量計算)的案例之
一。NaaS需要由上千或上萬個邊緣側節點支持。同時,它還必須支持網狀和/或
層次式結構以及按需響應的站點(可能在需要時進行運轉而在完成後關閉)。APIs
和GUIs將會不斷變化來映射安置於不同位置而非是同一數據中心內的大量計算
節點。
網路傳輸
通用用戶駐地設備(uCPE)
通用用戶駐地設備(uCPE)
通用用戶駐地設備(uCPE)
通用用戶駐地設備(uCPE)
託管服務
託管服務
通用用戶駐地設備(uCPE)
通用用戶駐地設備(uCPE)
通用用戶駐地設備(uCPE)
託管服務
通用用戶駐地設備(uCPE)
http://openstack.org 10
4. 通用用戶駐地設備(uCPE):該場景現已部署完成,需要佔用產品大小的硬體資
源。其特點為:網路連接有限,工作量較為穩定但需確保可用性高。於此同時,它
也需要一種方法來支持跨上百至上千節點的數據應用混合安置,而拓展現有
uCPE部署也將成為一項新要求。
而這點非常適用於NFV應用,尤其當不同站點可能需要不同系列的服務鏈應用,
或是區域內一系列不同的應用需要統一協作時。由於本地資源的利用以及必須
滿足在間斷的網路連接下進行存儲和進行數據處理,我們可需要支持網狀或層
次式的結構。自我修復以及與遠程節點管理相結合的自我管理都是必須條件。
5. 衛星通信(SATCOM):該場景以大量可用的終端設備分布於最偏遠和惡劣的環
境為特徵。同時,將這些分散的平台用於提供託管服務也是極為合理的,尤其是
當考慮到極高的延時,有限的帶寬以及跨衛星通訊的費用。具體事例可能包括船
舶(從漁船到油輪),飛機,石油鑽井,採礦作業或軍事基礎設施。
裝載著中等規模邊緣計算基礎設施的郵輪
能夠託管多種服務和虛擬網路功能(VNF)
工廠及其偏遠的分支機構可以託管
一個多核用戶駐地設備(uCPE)
裝載著小型邊緣節點的漁船可以通過
衛星數據機連接起來
衛星地面站保持與遠程邊緣
節點進行數據回傳
挑戰
雖然當前有非常多邊緣計算的實例正在部署,但若要推廣的話,還是需要解決新湧現
出和早就存在的各種挑戰與局限。
我們已搭建起的邊緣計算平台,比起傳統的集中化數據中心雲平台,從設計之初,不
管是硬體的配置還是支持應用程序生命周期管理的系統服務,就加強了容錯性和魯
棒性。我們還是不能假定這樣的邊緣計算實例能夠滿足標準數據中心基礎設施在可
維護性和支持設施上的要求。在這種場景下,所有的基礎設施與平台系統棧需滿足以
下幾項至關重要的需求:零干預系統預置,自動化和自治的編排。
但是還要考慮其他幾個挑戰。
其一,針對一個可運維並依靠WAN互聯達成的跨地域IaaS設施系統,邊緣計算資源
管理系統應當提供一組高層機制可以組合輸出。換言之,這裡的挑戰是如何修訂(而
http://openstack.org 11
且如需要時進行擴展)IaaS層的核心服務,以處理如上所述邊緣計算的特定需求——
如網路斷聯/帶寬,計算和存儲設備有限的功能,缺乏管理的部署,等等。
可預期的需求包括:
? 一個統一管理虛擬機/容器/裸機生命周期的管理器(包括配置,調度,部署,休眠/
喚醒,和關機)
? 一個管理模版文件(即虛擬機和容器的鏡像)的鏡像管理器
? 一個負責基礎設施聯通的網路管理器,包括虛擬網路和用戶外部訪問的管理
? 一個存儲管理器,可以給邊緣應用提供存儲服務
? 可以運維和使用這些分散資源的管理員工具
上述這些需求明顯相關,而且很可能利用和適配現有的項目就可以了。但其他一些邊
緣計算的需求就更加有難度,包括並不限於以下所列:
? 解決WAN網路中存儲延遲問題
? 加強邊緣計算的安全——監控每個節點中硬體和應用的完整性,並能夠必要時自
主採取修正的操作
? 同時檢測所有節點中資源的使用情況
? 能夠管理和協調多邊緣節點和負載的編排工具,有潛力發展為一個對等控制平
面或「自組織邊緣計算」
? 必須探索多邊緣計算平台(或多雲之雲)的聯合編排技術,並引入到IaaS軟體核
心組件中
? 自動進行邊緣計算調試/停用操作,包括初始軟體部署和資源管理系統組件的
升級。
? 自動化數據和工作負載重定位——跨地域分散式硬體的負載平衡。
? 基礎設施的「核心」應該需要抽象狀態傳播的某種形式的同步,以應對不連續的
網路鏈路
? 需要新方法以解決由於連接受限導致的處理網路分區問題 - 應對短暫斷開和長
時間斷開連接。
? 邊緣應用生命周期的管理工具,包括:
? 高級安置定位約束的定義,以便處理應用程序組件的延遲需求
? 應用程序預置和調度應當滿足安置的需求(初始安置)
? 根據內部/外部事件(移動用例,故障,性能考慮等)遷移數據和工作負載
? 集成位置感知:並非所有的邊緣計算部署都需要同一時間使用同一個程序。 可能
需要支持位置和需求感知。
? 在設計宏觀層面的整體架構和管理工具時,需要考慮資源有限、遠程擴展能力有
限的離散硬體。 能夠根據需要從其他站點(無論是Mesh網路上的鄰居還是分層
網路中的核心元素)獲取遠程資源的概念,指的是本地需求的波動不會導致硬體
部署的低效。
推薦閱讀:
※聯想成立智能設備集團,變陣提速,全力進軍智能物聯網
※Node-RED 第二章:構建第一條流
※一個物聯網求索者眼中的中國物聯網產業7年
※物聯網將如何改變我們的思維方式
※Android Things真的快要Release了