- 物聯網系統架構設計與邊緣計算(原書第2版)
- (美)佩里·利
- 4683字
- 2021-07-20 11:12:14
2.1 相連的生態系統
幾乎每家主要的技術公司都在物聯網和邊緣計算(圖2-1)領域進行了投資或已經投入了巨資。新的市場和技術已經形成(有些已經崩潰或被收購)。在本書中,我們幾乎會涉及信息技術的每個細分領域,因為它們都在物聯網中發揮作用。

圖2-1 物聯網/邊緣計算系統的架構層示例。這是架構師必須考慮的眾多潛在配置之一。這里我們展示了通過直接通信和通過邊緣網關的傳感器到云的路由。我們還將重點介紹邊緣計算節點和云組件提供的功能
如圖2-1所示,以下是我們將研究的物聯網/邊緣計算解決方案中的一些組件:
- 傳感器、執行器和物理系統:嵌入式系統、實時操作系統、能量收集源、微機電系統(Micro-Electro-Mechanical System,MEMS)。
- 傳感器通信系統:無線個人區域網(Wireless Personal Area Network,WPAN)的范圍從0厘米到100米,是低速和低功耗的通信信道,通常是非IP的,其在傳感器通信中占有一席之地。
- 局域網(Local Area Network,LAN):通常是基于IP的通信系統,例如802.11 Wi-Fi,通常采用點對點或星形拓撲結構的快速無線通信。
- 聚合器、路由器、網關:嵌入式系統提供商,最便宜的廠商。
- 廣域網(Wide Area Network,WAN):使用LTE或Cat M1的蜂窩網絡提供商、衛星網絡提供商、Sigfox或LoRa等低功耗廣域網(Low-Power Wide-Area Network,LPWAN)提供商。它們通常使用針對物聯網和受限設備的互聯網傳輸協議,如MQTT、CoAP甚至HTTP。
- 邊緣計算:將計算從內部數據中心和云端分布到更接近數據源(傳感器和系統)的地方。這是為了消除延遲問題,提高系統的響應時間和實時性,管理缺乏連接的問題,并建立系統的冗余。我們涵蓋處理器、DRAM和存儲。我們還研究了模塊供應商、無源組件制造商、瘦客戶端制造商、蜂窩和無線無線電制造商、中間件提供商、霧框架提供商、邊緣分析包、邊緣安全提供商、證書管理系統、WPAN到WAN轉換、路由協議以及軟件定義網絡/軟件定義邊界。
- 云計算:基礎設施即服務提供商,平臺即服務提供商,數據庫制造商,流和批處理制造商,數據分析包,軟件即服務提供商,數據湖(data lake)提供商和機器學習服務。
- 數據分析:隨著信息大量傳播到云端,處理大量數據并提取價值是復雜事件處理、數據分析和機器學習技術的工作。我們研究不同的邊緣和云分析技術,從統計分析和規則引擎到更先進的機器學習。
- 安全性:把整個架構綁在一起的是安全性。端到端的安全從邊緣加固、協議安全到加密。安全性會觸及每一個組件,從物理傳感器到CPU和數字硬件,到無線通信系統,再到通信協議本身。每一個層面都需要確保安全、真實、完整。在這個鏈條上不能有一個薄弱環節,因為物聯網將形成地球上最大的攻擊面。
這個生態系統將需要來自工程學科的人才,例如:
- 開發新的傳感器技術和耐久電池設備的物理學家
- 致力于邊緣驅動傳感器的嵌入式系統工程師
- 能夠在個人區域網或廣域網以及軟件定義網絡中工作的網絡工程師
- 在邊緣和云端研究新型機器學習方案的數據科學家
- 能成功部署可擴展的云解決方案以及霧解決方案的DevOps工程師
物聯網還需要服務供應商,例如解決方案提供公司、系統集成商、增值經銷商和OEM。
2.1.1 物聯網、機器對機器與SCADA
在物聯網世界中,一個常見的混淆領域是它與機器對機器(M2M)技術之間的區別。在物聯網成為主流詞匯之前,M2M曾被大肆追捧。早在M2M之前,SCADA(監督控制和數據采集)系統是工廠自動化的互連機器的主流。雖然這些指的都是互聯設備,并且可能使用類似的技術,但還是有區別的。
讓我們更仔細地研究下面這些:
- M2M:這是一個一般概念,涉及自治設備直接與另一個自治設備通信。自治是指節點在沒有人工干預的情況下實例化并與另一節點通信信息的能力。通信形式對應用程序開放。M2M設備很可能不使用固有的服務或拓撲進行通信。這省去了通常用于云服務和存儲的典型Internet設備。M2M系統也可以通過非基于IP的信道進行通信,例如串行端口或自定義協議。
- 物聯網:物聯網系統可能包含一些M2M節點(例如使用非IP通信的藍牙網狀網),但是它們在邊緣路由器或網關處匯聚數據。網關或路由器之類的邊緣設備充當Internet的入口點。另外,某些具有更強大計算能力的傳感器可以將Internet網絡層推入傳感器本身。無論互聯網接入點存在何處,只要有辦法與互聯網相連,它就屬于物聯網的定義范疇。
- SCADA:此術語指監督控制和數據采集。這些工業控制系統自20世紀60年代以來一直用于工廠、設施、基礎設施和制造自動化。它們通常涉及可編程邏輯控制器(PLC),監測或控制機械上的各種傳感器和執行器。SCADA系統是分布式的,只是最近才與互聯網服務連接。這就是工業2.0和制造業新增長的地方。這些系統使用ModBus、BACNET和Profibus等通信協議。
通過將傳感器、邊緣處理器和智能設備的數據傳到互聯網上,可以將傳統的云服務應用于最簡單的設備。在云技術和移動通信成為主流且具有成本效益之前,現場簡單的傳感器和嵌入式計算設備沒有很好的手段在全球范圍內以秒為單位進行數據通信、永久存儲信息,并分析數據,以尋找趨勢和模式。隨著云技術的發展,無線通信系統變得越來越普及,鋰離子等新能源設備變得具有成本效益,機器學習模型也不斷發展,以產生可操作的價值。這極大地改善了物聯網價值主張。如果沒有這些技術的融合,我們將仍然處在M2M世界。
2.1.2 網絡的價值、梅特卡夫定律和貝克斯特倫定律
有人認為,網絡的價值是基于梅特卡夫定律的。羅伯特·梅特卡夫(Robert Metcalfe)在1980年提出了一個概念,即任何網絡的價值都與系統的連接用戶的平方成正比。就物聯網而言,“用戶”可能是指傳感器或具有某種通信形式的邊緣設備。
一般來說,梅特卡夫定律表示為:
V∞N2
其中:
- V=網絡的價值
- N=網絡中的節點數
圖2-2有助于理解上式,在交叉點處可以獲得正的投資回報率(ROI)。

圖2-2 梅特卡夫定律。網絡的價值與N2成正比。每個節點的成本表示為kN,其中k是任意常數。在本例中,k表示每個物聯網邊緣傳感器10美元的常數。關鍵之處在于,由于價值的增長,交叉點迅速出現,表示這時這個物聯網部署實現正的投資回報率
最近進行了一個示例,以驗證梅特卡夫定律對區塊鏈價值和加密貨幣趨勢的影響。我們將在第13章中更深入地探討區塊鏈。
Ken Alabi最近的一份白皮書表明,區塊鏈網絡似乎也遵循梅特卡夫定律:Electronic Commerce Research and Applications, Volume 24, C(July 2017), Page number 23-29。
梅特卡夫定律沒有考慮到隨著用戶數量以及數據消費的增加,服務下降的情況,但網絡帶寬卻不能不考慮。梅特卡夫定律也沒有考慮到不同級別的網絡服務、不可靠的基礎設施(如行駛車輛中的4G LTE)或影響網絡的不良行為(如拒絕服務攻擊)。
為了說明這些情況,我們使用貝克斯特倫法則。

其中:
- Vi, j:代表網絡j上設備i的網絡的現值
- i:網絡上的單個用戶或設備
- j:網絡本身
- k:單次業務
- Bi, j, k:網絡j上設備i的業務k將帶來的利益
- Ci, j, k:網絡j上設備i的業務k的成本
- rk:對于業務k的時間的利率折現率
- tk:業務k所用的時間(以年為單位)
- n:個人人數
- m:交易數
貝克斯特倫定律告訴我們,要核算一個網絡的價值(例如物聯網解決方案),我們需要核算所有設備的所有業務,并將其價值相加。如果網絡j因為任何原因宕機,用戶的代價是什么?這就是物聯網網絡帶來的影響,也是一個比較有代表性的現實世界的價值歸屬。方程中最難建模的變量是交易B的收益,雖然看每一個物聯網傳感器,價值可能非常小,微不足道(比如某機器上的溫度傳感器丟失一個小時)。也有時候,它可能是非常重要的(例如,水傳感器的電池沒電了,導致零售商的地下室被淹,造成了重大的庫存損失和保險調整)。
架構師在構建物聯網解決方案時的第一步應該是了解他們所設計的東西帶來了什么價值。在最壞的情況下,物聯網部署會成為一種負擔,實際上會給客戶帶來負價值。
2.1.3 物聯網和邊緣架構
本書涵蓋了許多技術、學科和專業知識水平。作為一名架構師,需要了解某個設計選擇對系統可擴展性和其他部分產生的影響。與傳統技術相比,物聯網技術和服務的復雜性和關系之間的相互聯系要明顯得多,這不僅是因為規模巨大,而且因為架構類型不同。有許多令人迷惑的設計選擇。例如,在撰寫本書時,我們僅統計了700多家物聯網服務提供商,它們提供基于云的存儲、SaaS組件、物聯網管理系統、中間件、物聯網安全系統以及人們可以想象的各種形式的數據分析。除此之外,不同的PAN、LAN和WAN協議的數量也在不斷變化,并隨地區而變化。選擇錯誤的PAN協議可能會導致通信質量下降和信號質量顯著降低,只有通過添加更多節點完成網狀網才能解決此問題。架構師的作用應該是提出和提供解決整個系統問題的解決方案:
- 架構師需要考慮局域網和廣域網中的干擾影響——數據如何從邊緣進入互聯網?
- 架構師需要考慮彈性(resiliency)以及數據丟失的成本。彈性管理應該在棧的較低層中管理,還是在協議本身中管理?
- 架構師還必須選擇互聯網協議,如MQTT、CoAP和AMQP,以及如果其決定遷移到另一個云供應商,該協議將如何工作。
處理應駐留的位置的選擇也需要考慮。這產生了邊緣/霧計算的概念,通過處理源頭附近的數據來解決延遲問題,但更重要的是減少帶寬和通過WAN和云移動數據的成本。接下來,我們將在分析收集的數據時考慮所有選擇。使用錯誤的分析引擎可能會導致無用的噪聲或算法所需資源過大而無法在邊緣運行。從云端返回傳感器的查詢將如何影響傳感器設備本身的電池壽命?除此以外,我們還必須加強安全性,因為我們所建立的物聯網部署現已成為城市最大的攻擊面。如你所見,選擇很多,并且彼此之間互有聯系。
有許多選擇需要考慮。當你考慮邊緣計算系統和路由器、PAN協議、WAN協議和通信的數量時,有超過150萬種不同的架構組合可供選擇(圖2-3)。

圖2-3 物聯網設計選擇:從傳感器到云端再到云端的各級物聯網架構的全貌
2.1.4 架構師的作用
架構師這個詞在技術學科中經常使用。有軟件架構師、系統架構師和解決方案架構師。即使在特定的領域內,如計算機科學和軟件工程,你也可能看到有SaaS架構師、云架構師、數據科學架構師等頭銜的人。這些人都是公認的專家,在某一領域擁有切實的技能和經驗。這些類型的專業垂直領域跨越了多個橫向技術。在本書中,我們針對的是物聯網架構師。
這是一個橫向的角色,意味著它將觸及這些領域中的許多領域,并將它們整合在一起,形成一個可用、安全和可擴展的系統。
我們會盡可能深入地了解整個物聯網系統,把一個系統整合起來。有時,我們會探討純理論,比如信息和通信理論。有時,我們會探討物聯網系統外圍或者植根于其他技術的主題。通過閱讀和參考本書,架構師將對物聯網的不同方面有一個可供參考的指南,而這些方面都是構建一個成功系統所需要的。
無論你是電氣工程或計算機科學專業的人員,還是擁有云架構方面專業知識的人員,本書都將幫助你理解一個整體的系統,從定義上講,這應該是架構師作用的一部分。
本書還打算在全球范圍內進行大規模推廣。用一個或兩個終端設備建立概念驗證是一回事,而構建一個綿延多個大洲、不同的服務提供商和成千上萬個終端的物聯網解決方案是另一個完全不同的挑戰。每個主題都可以用于愛好者和制造商的活動,這旨在擴展到全球企業系統,約有數千到數百萬個邊緣設備。
架構師會對所有相連的系統提出問題,他會意識到對一個解決方案進行優化可能會在系統的另一部分產生不理想的效果。
例如:
- 系統是否可以擴展,容量如何?這將影響廣域網、邊緣到云協議以及中間件到云供應系統的決策。
- 在失去連接的情況下,系統將如何運行?這將影響邊緣系統、存儲組件、5G服務配置文件和網絡協議的選擇。
- 云將如何管理和調配邊緣設備?這將影響邊緣中間件和霧組件,以及安全服務的決策。
- 我的客戶解決方案如何在有噪聲的射頻環境中工作?這將影響對PAN通信和邊緣組件的決策。
- 如何更新傳感器上的軟件?這將影響安全協議、邊緣硬件和存儲、PAN網絡協議、中間件系統、傳感器成本和資源,以及云供應層的決策。
- 哪些數據有助于提高客戶的績效?這將影響有關使用什么分析工具,在哪里分析數據,如何保護和變換數據,以及邊緣/云分區的決策。
- 如何從端到端保護設備、業務和通信?
- ClickHouse性能之巔:從架構設計解讀性能之謎
- Learning Docker
- C語言程序設計(第2版)
- Python程序設計案例教程
- Maker基地嘉年華:玩轉樂動魔盒學Scratch
- jQuery for Designers Beginner's Guide Second Edition
- Docker:容器與容器云(第2版)
- 3D Printing Designs:The Sun Puzzle
- C/C++代碼調試的藝術
- 前端程序員面試算法寶典
- LibGDX Game Development By Example
- JavaScript全棧開發
- HTML 5與CSS 3權威指南(第4版·上冊)
- Image Processing with ImageJ(Second Edition)
- 邊做邊學深度強化學習:PyTorch程序設計實踐