物聯(lián)網(wǎng) (IoT) 為每個行業(yè)提供了無與倫比的機(jī)會來應(yīng)對其業(yè)務(wù)挑戰(zhàn)。隨著設(shè)備的激增,人們需要一種解決方案來連接、收集、存儲和分析設(shè)備數(shù)據(jù)。亞馬遜云科技提供各種服務(wù),幫助連接的設(shè)備輕松安全地與云應(yīng)用程序和其他設(shè)備進(jìn)行交互,以滿足各種用戶場景。話雖如此,該領(lǐng)域的每位解決方案架構(gòu)師都知道 AWS 云的功能和可靠性。將物聯(lián)網(wǎng) (IoT) 解決方案遷移或設(shè)計到 AWS 平臺,使人們能夠?qū)W⒂诤诵臉I(yè)務(wù),而無需進(jìn)行基礎(chǔ)設(shè)施管理和監(jiān)控。這將確保客戶的高可用性。無論設(shè)計哪種解決方案,都應(yīng)該選擇最佳平臺來保持解決方案的穩(wěn)定性。AWS就是這樣一個平臺。
在使用 AWS 設(shè)計 IoT 解決方案時,需要考慮的做法很少。如果使用正確的 AWS 服務(wù)來滿足客戶需求,那么 IoT 解決方案將能夠以更安全、可靠和可擴(kuò)展的方式交付結(jié)果。
設(shè)計可靠大規(guī)模運(yùn)行
物聯(lián)網(wǎng)系統(tǒng)必須處理設(shè)備和網(wǎng)關(guān)捕獲的高速和大量數(shù)據(jù)。由于業(yè)務(wù)的突然增長,或者有時是由于惡意攻擊,傳入數(shù)據(jù)的溢出是可以預(yù)期的。在這種情況下,云系統(tǒng)架構(gòu)應(yīng)該是可擴(kuò)展的,以處理此類數(shù)據(jù)。
最好的方法是將數(shù)據(jù)發(fā)送到隊列、緩沖區(qū)或?qū)崟r內(nèi)存數(shù)據(jù)庫,然后再將其存儲在存儲中。這有助于實(shí)現(xiàn)實(shí)時事件并減慢數(shù)據(jù)插入速率,以防止數(shù)據(jù)庫崩潰或防止響應(yīng)速度變慢。
該設(shè)備可以將數(shù)據(jù)發(fā)布到 AWS Kinesis,或者 AWS IoT 規(guī)則可用于將數(shù)據(jù)轉(zhuǎn)發(fā)到 AWS SQS 和 Kinesis,以將其存儲在 AWS S3、Redshift、DataLake 或 Elasticsearch 等時間序列存儲中以進(jìn)行數(shù)據(jù)存儲。這些數(shù)據(jù)存儲可用于生成自定義控制面板或 AWS QuickSight 控制面板。
通過數(shù)據(jù)管道路由大型數(shù)據(jù)卷
將來自設(shè)備主題的傳入數(shù)據(jù)直接使用到單個服務(wù)會阻止系統(tǒng)實(shí)現(xiàn)完全可伸縮性。有時,這種方法會限制系統(tǒng)在故障和數(shù)據(jù)泛洪事件上的可用性。
AWS IoT 規(guī)則引擎旨在以可擴(kuò)展的方式將終端節(jié)點(diǎn)連接到 AWS IoT Core。但所有 AWS 服務(wù)都有不同的數(shù)據(jù)流屬性及其各自的優(yōu)缺點(diǎn)。所有服務(wù)都不能用作系統(tǒng)的單一入口點(diǎn)。有時,它可能會導(dǎo)致無法恢復(fù)的后續(xù)故障。例如,對于大量數(shù)據(jù),請考慮在調(diào)用其他服務(wù)之前緩沖 (ElastiCache) 或排隊 (SQS) 傳入數(shù)據(jù),這樣就可以從后續(xù)故障中恢復(fù)。
AWS IoT 規(guī)則引擎允許并行觸發(fā)多個 AWS 服務(wù),如 Lambda、S3、Kinesis、SQS、SNS。一旦數(shù)據(jù)被物聯(lián)網(wǎng)系統(tǒng)捕獲,它就會使 AWS 終端節(jié)點(diǎn)(其他 AWS 服務(wù))能夠處理和轉(zhuǎn)換數(shù)據(jù)。這樣就可以同時將數(shù)據(jù)存儲到多個數(shù)據(jù)存儲中。
確保所有數(shù)據(jù)得到處理和存儲的最安全和最佳方法是將所有設(shè)備主題數(shù)據(jù)重定向到SNS,該SNS旨在處理數(shù)據(jù)泛濫處理,確保傳入數(shù)據(jù)得到可靠的維護(hù),處理并傳遞到適當(dāng)?shù)那馈榱耸蛊涓呖蓴U(kuò)展性,可以使用多個 SNS 主題、SQS 隊列、不同/一組 AWS 設(shè)備主題的 Lambda。在處理之前,應(yīng)考慮將數(shù)據(jù)存儲在安全存儲中,例如 Queue、Amazon Kinesis、Amazon S3 和 Amazon Redshift。這種做法可確保不會因消息泛濫、不需要的異常代碼或部署問題而丟失數(shù)據(jù)。
自動執(zhí)行設(shè)備配置和升級
隨著業(yè)務(wù)的增長和眾多設(shè)備連接到物聯(lián)網(wǎng)生態(tài)系統(tǒng),設(shè)備配置、引導(dǎo)軟件、安全配置、規(guī)則操作設(shè)置、設(shè)備 OTA 升級等手動流程是不可行的。在初始化過程和升級過程中盡量減少人工交互對于節(jié)省時間和成本非常重要。
在設(shè)備中設(shè)計內(nèi)置功能以實(shí)現(xiàn)自動預(yù)置,并利用 AWS 提供的適當(dāng)工具來處理設(shè)備預(yù)置和管理,使系統(tǒng)能夠以最少的人為干預(yù)實(shí)現(xiàn)所需的運(yùn)營效率。
AWS IoT 提供了一組功能,這些功能可用于批量導(dǎo)入,其中包含一組策略,這些策略可與控制面板或制造流程集成,其中設(shè)備可以預(yù)注冊到 AWS IoT,并且可以在設(shè)備中安裝證書。稍后,設(shè)備預(yù)配流可以聲明設(shè)備并與用戶或任何其他實(shí)體附加。AWS 提供了觸發(fā)和跟蹤設(shè)備 OTA 升級的工具。
對自定義組件采用可擴(kuò)展的架構(gòu)
當(dāng)物聯(lián)網(wǎng)系統(tǒng)連接到外部世界設(shè)備時,范圍不會以連接、控制和報告設(shè)備而結(jié)束。考慮采用數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)等最新技術(shù),或在IFTTT,Alexa或Google Home等物聯(lián)網(wǎng)系統(tǒng)中集成第三方組件。物聯(lián)網(wǎng)架構(gòu)應(yīng)確保外部組件可以輕松集成到解決方案中,而不會出現(xiàn)任何性能瓶頸。
檢查脫機(jī)訪問和處理
有時沒有必要在云中處理所有機(jī)器數(shù)據(jù)。在許多情況下,沒有連續(xù)的互聯(lián)網(wǎng)連接可用。對于此類方案,請在邊緣添加 AWS Greengrass。Greengrass 在邊緣本地處理和過濾數(shù)據(jù),并減少將所有設(shè)備數(shù)據(jù)發(fā)送到上游的需要。可以捕獲所有數(shù)據(jù),將其保留有限的時間,并在錯誤事件或按需/請求時將其發(fā)送到云。如果需要時間序列數(shù)據(jù),則可以安排一個定期過程,將設(shè)備數(shù)據(jù)發(fā)送到云,該過程可用于未來的增強(qiáng)功能,如AWS機(jī)器學(xué)習(xí)模型和云分析工具。
選擇合適的數(shù)據(jù)存儲
物聯(lián)網(wǎng)系統(tǒng)生成高速、大容量和多樣化的數(shù)據(jù)。每個 IoT 設(shè)備或設(shè)備主題可以具有不同的格式,這些格式可能無法通過單個數(shù)據(jù)庫或類似類型的數(shù)據(jù)存儲進(jìn)行管理。架構(gòu)師在選擇數(shù)據(jù)庫格式和數(shù)據(jù)存儲時應(yīng)小心。有時,單個數(shù)據(jù)存儲工作正常,或者用于不同目的的混合數(shù)據(jù)存儲有助于實(shí)現(xiàn)高吞吐量。常用的靜態(tài)數(shù)據(jù)可以存儲在 ElastiCache 中,這有助于提高性能。這種做法有助于實(shí)現(xiàn)系統(tǒng)的可伸縮性和可維護(hù)性。
在處理之前篩選和轉(zhuǎn)換數(shù)據(jù)
所有傳入到物聯(lián)網(wǎng)系統(tǒng)的數(shù)據(jù)可能需要處理或轉(zhuǎn)換, 之后可以按原樣重定向到存儲.AWS IoT 規(guī)則提供將消息重定向到不同 AWS 服務(wù)的操作。架構(gòu)師應(yīng)該以不同的形式潛伏所有數(shù)據(jù),即需要處理、忽略/靜態(tài)數(shù)據(jù)(如 Config)和直接存儲。
AWS IoT 服務(wù)架構(gòu)
AWS IoT 有助于實(shí)現(xiàn)快速設(shè)備連接、安全數(shù)據(jù)攝取、輕松的設(shè)備管理、多協(xié)議支持等等。
審核編輯:郭婷
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2903文章
44284瀏覽量
371345 -
AWS
+關(guān)注
關(guān)注
0文章
427瀏覽量
24315
發(fā)布評論請先 登錄
相關(guān)推薦
評論