談談邊緣計算在物聯網
基于邊緣計算物聯網解決方案,從架構上可以分為:傳感控制層、網絡層、敏捷控制器和應用層。
傳感控制層:包含大量的傳感器、控制部件(比如開關等)和測量部件(比如電表等),另外還有通信部件。這些通信部件可能是獨立的,也可能是和其它部件結合在一起的。
網絡層:主要實現融合和互聯,它的功能除了網絡連接和管理之外,還包括邊緣計算,進行現場處理,同時保障業務在本地的存活。本地存活和現場處理對物聯網尤其是工業和民用大型設施是非常重要的。此外,協議轉換也是這一層的重要功能。在 IoT 領域有特別多的協議,這些協議來自于各個行業歷史上的積累,所以需要在網關上做協議的轉換,將數據統一承載在 IP 網絡上向外傳輸。
敏捷控制器:將網關送上來的數據進行統一的處理,向上送給應用層。并對下層的網絡、傳感器、控制部件、測量部件、計算資源進行管理,提供網絡部署、配置的自動化工具。
業務應用層:集成各種行業應用。
如何實現邊緣計算?
基于物聯網的邊緣計算實現,主流的主要為兩條路徑,一是微服務的升級模式,簡單理解就是允許用戶在邊緣平臺運行應用程序,且提供開放的編程環境,與近年來來軟件定義的路徑相似;二是邊緣向云的滲透,利用邊緣能力滲透進云領域的核心產品及服務,如數據庫、計算、存儲、安全的邊緣化。
用戶只需在云端完成業務邏輯代碼編寫,運行方式配置,消息規則配置,下發至在網設備。在設備上,系統將自動完成代碼和配置同步,云函數運行,并在設備上提供消息收發、緩存、與云端進行消息同步等能力。當數據產生時,底層的物聯網設備將數據上報至智能網關設備,觸發云函數的運行,將數據進行離線處理,通過本地的 IoT網關,再將離線處理的數據下發至物聯網底層設備。整個數據最主要的計算處理部分運行主要是在云函數中進行。
例如和API網關的對接,也可以作為事件來源,在用戶的HTTP請求到達網關之后,API網關會把該請求作為事件轉發給云函數,觸發云函數的運行,云函數拿到請求之后進行處理,生成響應給到用戶。
上圖為云函數的計算過程,用戶先代碼和配置提交到云函數平臺進行保存,真正事件產生后,針對每一個事件都會拉起一個函數實例,實現觸發式運行。真正事件來臨時,用戶函數才會運行,用戶代碼運行時才有云函數代碼的數據運算和費用計算。
因為函數本身是托管型的,用戶本身無法感知到實例在哪里運行。云函數平臺背后有個大的計算資源池,用戶實例觸發之后,從資源池中隨機選取可運行的位置,把用戶的函數實例在對應位置上運營起來。因此整個調度過程,或者事件來臨之后的函數擴縮容過程,都是由平臺進行的。云函數帶來的價值主要包括四點:
簡化架構:函數粒度的微服務架構,使得系統的各個功能天然解耦,能像搭積木一樣組合自有及外部服務,實現所看即所得的后臺服務;
簡化開發:無需關注底層硬件配置、OS,服務啟停、網絡收發,故障容災,服務擴縮容等,只需寫最核心的業務邏輯,實現真正的代碼即服務;
簡化運維:無須關注服務部署,服務器運維,安全管控,擴縮容配置等,且應用能無縫升級,實現無痛切換到DevOps模式。
減少支出:無閑置成本,僅對函數資源大小,執行時間,執行次數按需計費,相對云主機平均5%~15% 的使用率,價格優勢明顯,實現了最徹底的按需計費。
物聯網主要是和設備打交道,云函數交由平臺托管的調度,可以把云函數調度到用戶設備上去。通過云函數,用戶能夠在邊緣平臺運行應用程序,幫助實現設備上的邊緣計算。開發者只需通過編寫核心代碼并設置代碼運行的條件,即可進行實時文件處理和數據處理。