AWS的邊緣計算平台GreenGrass和IoT


AWS的邊緣計算平台GreenGrass和IoT

為什么需要有邊緣計算?

如今公有雲和私有雲平台提供的服務已經連接上了絕大多數的桌面設備和移動設備。但是更多的設備比如,車輛,工程機械,醫療設備,無人機,生產機械等等在運行的時候都會產生大量的數據,但這些數據往往不會連接到雲端;

  1. 有些時候其實是很難連接到雲端,比如在極端條件下工作的機械或者不允許直接連接外網的工業設備往往不可能一直保持互聯網連接,並實時上傳數據,獲得雲平台的計算和存儲能力。
  2. 很多設備需要對數據有實時的響應,比如醫療器械和精密工業設備等,雲平台的數據中心是集中式的。雲平台連接到終端設備的延遲是不可控的,雖然我們能夠通過技術手段確保數據中心服務的高可用性,但是互聯網是沒有辦法確保連接的高可用性和高性能的,通過公網提供服務的雲平台“心有余而力不足”。
  3. 所有數據都進入雲數據中心是不經濟的,海量的數據需要幾何增長的數據處理能力。其實終端設備本身就有一定的數據處理和存儲能力。應該通過邊緣設備整合並提供這些能力。以減輕雲平台的壓力和成本。

傳統的IoT架構如下圖所示,其實很難滿足實際的需要。如上面介紹的,雲平台的儲存和計算能力並不能及時和有效地發揮作用,很多時候IoT設備並不會和雲端一直保持穩定的連接。

AWS IoT Core

AWS在收購了2lemetry后,以這家公司的產品為原型發展出了AWS IoT Core,作為其最初的物聯網服務的核心平台。

IoT Core平台有一個設備的注冊機制,注冊過的設備才能夠作為安全的設備連接到物聯網中和雲端以及其他設備通訊。AWS IoT Core支持各種主流物聯網平台的語言和系統。IoT Core也支持安全和可擴展的MQTT broker,進行端到雲和雲到端的消息通信連接。IoT Core還有擁有一套規則引擎機制,可以定義和過濾數據傳輸,並且能夠和AWS的各種服務進行集成,包括Lambda。

GreenGrass簡單介紹

GreenGrass則彌補上了AWS雲和IoT設備之間的中間段,主要處理的就是邊緣計算這一部分,尤其在和AWS雲服務中斷同時也能夠繼續運行,甚至可以在邊緣設別上繼續執行Lambda應用。通過GreenGrasss,開發者們把一些實時處理和響應的能力下沉到邊緣計算設備。亞馬遜在2016年就啟動了GreenGrass項目,當時是作為AWS IoT的線下網關存在的。隨着最近幾年邊緣計算的理論和實踐的發展,事件驅動編程和機器學習接口成為了邊緣計算的發展和變革的新動力,GreenGrass在AWS的IoT體系中也變得更加重要。

Greengrass由兩個部分組成:Greengrass Core和IoT Device SDK,

  • Greengrass Core是Greengrass的Runtime,核心系統功能。可以執行AMS Lambda,進行消息傳輸,設備遮蔽(device shadows),安全性保護已經和雲端通訊。
  • IoT Device SDK, 用於和Core通訊,發布和接受Greengrass的消息。
  • 通常IoT設備都不是獨立工作,各個設備之間能夠通訊和協作,同時不同的Greengrass Core之間也可以協作。

Lambda是AWS的一個serverless應用框架,支持在AMS雲服務中直接運行代碼的方式工作;在Greengrass上,AWS實現本地Lambda機制,即在設備無法連接外部網絡的時候仍然能夠進行數據處理和運算。提供了sandbox和本地設備直接執行兩種模式。

Shadow機制,使用JSON文檔定義設備的狀態和Lambda功能,同時能夠和雲端同步,或者只在本地保留和處理數據。

IoT設備和Greengrass的通訊方式采用的是MQTT消息機制,發布和訂閱的機制,這樣其實簡化了通訊和同步的過程。

最后要提到是:在最近的版本中,AWS IoT Greengrass加入了機器學習執行功能,可以下載Amazon S3 bucket上儲存的訓練好的機器學習模型,在邊緣設備上執行人工智能識別等任務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM