天天看點

設計實踐:AWS IoT解決方案

設計實踐:AWS IoT解決方案

物聯網(IoT)為每個行業提供了無與倫比的機會來應對其業務挑戰。随着裝置的增加,人們需要一種解決方案來連接配接、收集、存儲和分析裝置的資料。Amazon Web Services提供了各種服務,可幫助連接配接的裝置輕松、安全地與雲應用程式和其他裝置進行互動,以适應各種使用者場景。話雖如此,該領域的每個解決方案架構師都知道AWS Cloud的功能和可靠性。在AWS平台上遷移或設計物聯網(IoT)解決方案使人們可以專注于核心業務,而無需進行基礎架構管理和監控的麻煩。這将確定客戶的高可用性。無論設計哪種解決方案,都應該選擇最佳平台來保持解決方案的穩定性。AWS正是這樣一種平台。

在使用AWS設計IoT解決方案時需要考慮一些實踐。如果将正确的AWS服務用于客戶需求,則IoT解決方案将能夠以更安全、可靠和可擴充的方式傳遞結果。

可靠地大規模運作的設計

物聯網系統必須處理裝置和網關捕獲的高速、大容量資料。可能由于業務的突然增長或有時由于惡意攻擊而導緻傳入資料的溢出。在這種情況下,雲系統架構應可擴充以處理此類資料。

最好的方法是在存儲資料之前将資料發送到實時記憶體資料庫中的隊列和緩沖區。這有助于實作實時事件并降低資料插入速率,以防止資料庫崩潰或防止響應速度變慢。

裝置可以将資料釋出到AWS Kinesis,或者可以使用AWS IoT規則将資料轉發到AWS SQS和Kinesis以将其存儲在時間序列存儲中,例如AWS S3,Redshift,Data Lake或Elastic搜尋資料存儲。這些資料存儲可用于生成自定義儀表闆或AWS Quick Sight儀表闆。

設計實踐:AWS IoT解決方案

通過資料管道路由大資料量

将來自裝置主題的傳入資料直接消耗到單個服務會阻止系統實作完全的可伸縮性。有時,這種方法會在發生故障和資料泛濫時限制系統的可用性。

AWS IoT規則引擎旨在以可擴充的方式将終端連接配接到AWS IoT Core。但是,所有AWS服務都具有不同的資料流屬性,各有優缺點。所有服務都不能用作系統的單個入口點。有時,它會導緻後續故障而無法恢複。例如,對于大容量資料,請在調用其他服務之前考慮對傳入的資料進行緩沖(Elasti Cache)或排隊(SQS),這使得能夠從後續故障中恢複。

AWS IoT規則引擎允許并行觸發多個AWS服務,例如Lambda,S3,Kinesis,SQS或SNS。物聯網系統捕獲資料後,它将使AWS終端節點(其他AWS服務)能夠處理和轉換資料。這使您可以将資料同時存儲到多個資料存儲中。 確定所有資料都得到處理和存儲的最安全方法是将所有裝置主題資料重定向到SNS,該SNS用于處理資料洪泛處理,以確定傳入的資料得到可靠的維護,處理并傳遞到正确的通道。 為了使其更具擴充性,可以使用針對不同/組AWS裝置主題的多個SNS主題,SQS隊列和Lambda。在處理資料之前,應考慮将資料存儲在隊列,Amazon Kinesis,Amazon S3或Amazon Redshift等安全存儲中。這種做法可確定不會由于消息泛濫、不需要的異常代碼或部署問題而導緻資料丢失。

設計實踐:AWS IoT解決方案

自動化裝置配置和更新

随着業務的增長和衆多裝置連接配接到IoT生态系統,手動操作(例如裝置配置,引導軟體,安全配置,規則操作設定和裝置OTA更新)是不可行的。在初始化過程和更新過程中最小化人機互動對于節省時間和降低成本非常重要。

在裝置内設計内置功能以進行自動配置并利用AWS提供的用于處理裝置配置和管理的适當工具,可使系統以最少的人工幹預達到所需的營運效率。

AWS IoT提供了一組功能,可用于具有一組可與儀表闆和制造流程內建的政策的批量導入,在該儀表闆和制造流程中,可以将裝置預注冊到AWS IoT,并可以在裝置上安裝證書。之後,裝置供應流程可以聲明一個裝置并将其附加到另一個使用者或任何其他實體。AWS提供了觸發和跟蹤裝置OTA更新的功能。

為自定義元件采用可擴充架構

物聯網系統連接配接到外部裝置時,範圍不會因連接配接、控制和報告裝置而結束。考慮采用諸如資料科學和機器學習之類的最新技術,或将第三方元件內建到IFTTT,Alexa或Google Home等物聯網系統中。物聯網的架構應確定外部元件可以輕松內建到解決方案中,而不會出現性能瓶頸。

檢查離線通路和處理

有時,不必在雲中處理所有裝置的資料。在許多情況下,沒有連續的網際網路連接配接可用。對于這種情況,請在邊緣添加AWS Greengrass。Greengrass在邊緣上本地處理和過濾資料,并減少了向上遊發送所有裝置資料的需要。可以捕獲所有資料,将其保留有限的時間,然後根據錯誤事件或按需/請求将其發送到雲中。如果需要時序資料,則可以安排一個定期過程,将裝置資料發送到雲,該資料可用于将來的增強,例如AWS Machine Learning模型和雲分析工具。

設計實踐:AWS IoT解決方案

選擇正确的資料存儲

物聯網系統生成高速,大容量和多種資料。每個物聯網裝置或裝置主題可以具有不同的格式,這些格式可能無法通過單個資料庫或類似類型的資料存儲來管理。架構師在選擇資料庫格式和資料存儲時應該小心。經常使用的靜态資料可以存儲在Elastic緩存中,這有助于提高性能。這樣的做法有助于實作系統的可伸縮性和可維護性。

在處理之前過濾和轉換資料

所有輸入物聯網系統的資料可能需要處理或轉換,然後可以重定向到存儲。AWS IoT規則提供将消息重定向到不同AWS服務的操作。架構師應該将所有資料分成不同的形式(即需要處理、忽略/靜态資料(如配置)和直接存儲)。

AWS IoT服務架構

設計實踐:AWS IoT解決方案
原文連結