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