在本文中,我將提供有關(guān)如何為您選擇正確的IoT平臺的更一般的概述。我將重點(diǎn)介紹在定制或開源物聯(lián)網(wǎng)平臺中要考慮和評估的主要標(biāo)準(zhǔn)。最后,我將提供一些數(shù)學(xué)和成本分析,將開源與無服務(wù)器的IoT平臺進(jìn)行比較,以幫助決定選擇哪種方法。
包括AWS,Azure,IBM和Google在內(nèi)的云巨頭都對其云服務(wù)進(jìn)行了大量投資,這使其具有成本效益,便捷,可擴(kuò)展和容錯性。選擇的定制IoT平臺應(yīng)該沒有什么不同。
作為運(yùn)行DeviceHive的 DataArt IoT負(fù)責(zé)人,我不得不應(yīng)對所有IoT平臺面臨的許多挑戰(zhàn)。它幫助我提出了評估生產(chǎn)級物聯(lián)網(wǎng)平臺的標(biāo)準(zhǔn)清單:
可擴(kuò)展性
可靠性
客制化
運(yùn)作方式
通訊協(xié)定
硬件不可知
云不可知
支持
建筑與技術(shù)棧
安全
成本
如果您熟悉這些條件,則可以跳過接下來的部分,其中詳細(xì)介紹了這些條件,并直接轉(zhuǎn)到Analysis / Calculations。
可擴(kuò)展性
考慮使用無服務(wù)器的IoT平臺時,請記住,它會自動擴(kuò)展以服務(wù)不斷增長的負(fù)載,而無需提示采取任何措施。它支持業(yè)務(wù)增長,防止由于云背后缺乏資源而造成的停電。
盡管無服務(wù)器方法將其隱藏在幕后,但自定義的IoT解決方案必須提供選項以通過可預(yù)測的性能,內(nèi)存和吞吐量指標(biāo)進(jìn)行自我擴(kuò)展。一些物聯(lián)網(wǎng)框架提供了更高級和細(xì)粒度的擴(kuò)展選項,這些選項更有效,但可能需要熟練的團(tuán)隊或高級操作。
可靠性
實時擴(kuò)展以利用更多的計算資源來滿足不斷變化的負(fù)載需求是不夠的。在生產(chǎn)中,您將無法確定消息從設(shè)備消失或整個平臺沒有響應(yīng)的原因。
該系統(tǒng)應(yīng)支持故障轉(zhuǎn)移,并具有災(zāi)難恢復(fù)功能以支持生產(chǎn)級別的可靠性。在大多數(shù)情況下,它應(yīng)該執(zhí)行健康檢查,監(jiān)視其組件并提供自我修復(fù)。選擇平臺時,請注意如何實現(xiàn)其可靠性。它通常是體系結(jié)構(gòu)和特定于操作的因素集的組合。
客制化
無服務(wù)器物聯(lián)網(wǎng)方法通過提供與提供商的其余云服務(wù)的集成選項來提供靈活性。但是,在大多數(shù)情況下,我們無法修改IoT服務(wù)本身的核心。定制的IoT解決方案應(yīng)提供出色的內(nèi)置功能,廣泛的庫,API和與其他平臺或服務(wù)的集成選項,并具有通過使用定制插件或集成定制代碼擴(kuò)展系統(tǒng)核心的能力。
使用開源解決方案,我們可以超越此范圍。可以自由定制和調(diào)整產(chǎn)品以滿足特定需求。開源還為您提供了所有內(nèi)容的全貌。
運(yùn)作方式
運(yùn)營是一個重要的因素,而且經(jīng)常被低估。與無服務(wù)器的IoT平臺不同,后者的所有操作大部分都隱藏在后臺,與您的團(tuán)隊相比,操作自定義IoT平臺可能需要付出巨大的努力。您應(yīng)該始終考慮平臺編排功能,尤其是在使用微服務(wù)架構(gòu)構(gòu)建平臺時。
同樣,一個重要的好處是儀表板可以顯示總體系統(tǒng)統(tǒng)計信息和運(yùn)行狀況信息,每個特定模塊或服務(wù)的狀態(tài),并具有在發(fā)生緊急情況時進(jìn)行通知的選項。
通訊協(xié)定
值得提前考慮定制物聯(lián)網(wǎng)解決方案支持哪些協(xié)議。如果不確定將來是否會使用特定的物聯(lián)網(wǎng)平臺,我建議檢查它是否支持MQTT,MQTT是近20年前發(fā)明的最廣泛使用的協(xié)議,也是物聯(lián)網(wǎng)的實際標(biāo)準(zhǔn)。
通過用支持MQTT的另一個IoT平臺替換其主干網(wǎng)MQTT代理,它提供了幾乎無縫遷移到另一個IoT平臺的機(jī)會。此外,該協(xié)議已被包括AWS,Azure和IBM Watson在內(nèi)的大多數(shù)云物聯(lián)網(wǎng)提供商廣泛采用。
如果物聯(lián)網(wǎng)解決方案支持基于WebSockets,REST和CoAP的API,則將獲得更大的靈活性。
硬件不可知
硬件制造行業(yè)發(fā)展非常迅速,我們可以觀察到邊緣設(shè)備的體積和功能如何。如今,大多數(shù)設(shè)備都可以運(yùn)行操作系統(tǒng),這使其具有極大的靈活性,并能夠運(yùn)行以任何語言編寫的程序。
但是,對于低端設(shè)備,它們受其內(nèi)存和計算能力的限制,并且應(yīng)用程序必須在資源消耗方面非常高效。在選擇IoT平臺之前,值得檢查一下它支持哪些設(shè)備,是否具有針對低端設(shè)備的本機(jī)實現(xiàn),或者是否支持可以在低端設(shè)備上運(yùn)行的輕量級通信協(xié)議(MQTT或CoAP)。
云不可知
在大多數(shù)情況下,考慮使用定制或開源物聯(lián)網(wǎng)平臺時,請務(wù)必記住,其部署,運(yùn)營和維護(hù)也是其中的一部分。
為確保平臺的靈活性不受限制,它應(yīng)可部署用于任何基礎(chǔ)架構(gòu)中的操作,無論是云,內(nèi)部還是混合。如果平臺嚴(yán)重依賴于特定的云服務(wù),則可能僅適用于該特定的云。盡管使用云鎖定選項可能是一個不錯的立即決定,但是如果考慮到云的發(fā)展速度和競爭程度,您決定遷移到另一云怎么辦?您最終將需要更改整個平臺,這是很大的工作量浪費(fèi)。
支持
支持是開發(fā)物聯(lián)網(wǎng)平臺的公司提供的額外服務(wù)之一,以確保及時發(fā)布最新的更新,安全問題和錯誤修正。通過支持,可以開發(fā)自定義功能并以自己的名義操作平臺。
組織平臺支持有幾種選擇:雇用或教育專門的團(tuán)隊,使用與平臺背后公司的支持協(xié)議,或者在開源平臺的情況下依靠社區(qū)支持。
混合使用上述方法可能是最有效的方法,但這取決于特定情況。即使很快不需要支持,也應(yīng)預(yù)先研究此選項,以避免處理無法正常工作或不受支持的產(chǎn)品。探索新版本的發(fā)布頻率,產(chǎn)品功能路線圖,支持和開發(fā)所涉及的員工數(shù)量以及是否有實際的人要交談,這也是有意義的。
建筑與技術(shù)棧
該平臺中使用的體系結(jié)構(gòu)和技術(shù)的重要性至關(guān)重要,因為其未來的可維護(hù)性取決于其原始設(shè)計。
該平臺應(yīng)采用生產(chǎn)級的,得到良好支持的框架,工具和語言,同時限制其種類,以減少對具有相應(yīng)技能的開發(fā)人員的需求。
除其他外,應(yīng)考慮微服務(wù)架構(gòu)。盡管可能很難操作,但它提供了最大的靈活性,可以用自定義實現(xiàn)來替代任何服務(wù),同時保持系統(tǒng)的其余部分不變。
使用開源產(chǎn)品,您可以進(jìn)行個人盡職調(diào)查,以探索體系結(jié)構(gòu)并深入技術(shù)棧。
安全
物聯(lián)網(wǎng)中的安全性是最熱門的主題之一。核心問題是缺乏行業(yè)標(biāo)準(zhǔn)。安全涉及物聯(lián)網(wǎng)生態(tài)系統(tǒng)的每個組成部分-設(shè)備,平臺和應(yīng)用程序-本文將重點(diǎn)放在平臺安全性上。
選擇物聯(lián)網(wǎng)平臺時,安全性必須是從項目一開始就內(nèi)置的首要任務(wù)之一。必須檢查現(xiàn)有物聯(lián)網(wǎng)平臺的安全功能。至少,它應(yīng)提供傳輸級安全性(TLS)以與設(shè)備和應(yīng)用程序通信以及對設(shè)備和用戶進(jìn)行身份驗證。
還值得研究該平臺是否具有授權(quán)功能,使用哪種數(shù)據(jù)生命周期管理,是否提供存儲加密數(shù)據(jù)的選項以及最后(但并非最不重要)(如果有可用的安全審核文檔)。
沒有人希望他們的企業(yè)成為受到DDoS攻擊或掃描網(wǎng)站漏洞的受感染設(shè)備的僵尸網(wǎng)絡(luò)?;謴?fù)這種“受感染的”設(shè)備-云應(yīng)用生態(tài)系統(tǒng)并解決安全問題將花費(fèi)很多,并且需要付出巨大的努力。請不要讓安全性標(biāo)準(zhǔn)從您的清單中漏掉。
成本
不同的物聯(lián)網(wǎng)系統(tǒng)開發(fā)商提供不同的定價模型。在大多數(shù)情況下,可以免費(fèi)使用開源平臺。以下是物聯(lián)網(wǎng)最常見的定價模型:
按節(jié)點(diǎn)/年付費(fèi)
按活動設(shè)備付費(fèi)
按消息付費(fèi)
付費(fèi)使用高級功能(可選)
支付支持(可選)
價格通常不包括用于托管IoT解決方案的基礎(chǔ)架構(gòu)的成本,并且通常是賬單中最大的部分。我將在下一部分中對其進(jìn)行細(xì)分。
分析/計算
我們將在云中比較無服務(wù)器物聯(lián)網(wǎng)和開源物聯(lián)網(wǎng)平臺使用的成本。為了簡單起見,我們假定開源物聯(lián)網(wǎng)平臺具有以下屬性:
它線性且可預(yù)測地擴(kuò)展-每個其他節(jié)點(diǎn)每秒可以處理恒定數(shù)量的消息。
請求隨時間平均分配,沒有峰值。
該平臺以保證的消息傳遞模式運(yùn)行。
郵件大小為1Kb。
一個節(jié)點(diǎn)實例可以以小于或等于200 ms的合理延遲處理5,000 msgs / sec。
首先,讓我們比較一下基礎(chǔ)架構(gòu)的原始成本。為了確保我們將蘋果與蘋果進(jìn)行比較,我們將分析無服務(wù)器的AWS IoT和AWS基礎(chǔ)設(shè)施上托管的開源IoT解決方案。
我們的開源物聯(lián)網(wǎng)解決方案參考實例將是c4.xlarge,每個節(jié)點(diǎn)具有500GB通用SSD和500 GB / mo的備份空間。此外,我們將根據(jù)一個消息的1 Kb計算一個彈性IP地址,一個用于群集目的的負(fù)載平衡器以及出站流量的成本。對于無服務(wù)器的物聯(lián)網(wǎng),我們將考慮我上一篇文章中的設(shè)置,僅考慮AWS IoT本身和DynamoDB服務(wù)。
AWS IoT定價模型基于已接收和已發(fā)送的消息。它還計算一些服務(wù)消息,例如確認(rèn),ping和其他一些消息,但為簡單起見,我們將其跳過。
假設(shè)有一個設(shè)備每秒向云發(fā)送一條消息。它每月將產(chǎn)生262.8萬條消息,每月平均超過730小時。
AWS IoT每100萬個請求的成本為5美元,而DynamoDB每秒每十個請求的成本為0.0065美元,而每秒每50個get請求的成本相同。
我們看到非常實惠的每月賬單約為22美元。
借助在AWS基礎(chǔ)設(shè)施上托管的開源物聯(lián)網(wǎng)解決方案,我們將獲得接近225美元的賬單。
但是,如果我們有十個設(shè)備每月發(fā)送2620萬條消息,則將為AWS IoT收取140美元,為開源平臺收取225美元。
讓我們看一下下面的圖表,以查看每月成本和每條消息的成本與每秒發(fā)送的消息數(shù)的相關(guān)性。
一旦基于AWS IoT的系統(tǒng)每秒處理的消息量超過17-18條消息,就該開始考慮遷移到另一個IoT平臺以降低運(yùn)營成本的時候了。此外,對于開源物聯(lián)網(wǎng)平臺而言,每條消息的成本在每秒20條消息之后急劇下降,并且隨著消息速率的提高而持續(xù)下降,而對于無服務(wù)器IoT則保持不變。
讓我們看看更大的數(shù)字。如果我們有10,000臺設(shè)備會怎樣?每月AWS IoT可獲得136,000美元,而開源則為3,300美元!這確實令人印象深刻,并且如果切換到另一個平臺之前看起來并不那么吸引人,那么現(xiàn)在看起來就必須這樣做。您擁有的消息越多,無服務(wù)器IoT的成本效益就越低,而使用其他平臺可以節(jié)省的成本就越高。
兩者之間的差額(每年將近160萬美元)應(yīng)足以聘請工程團(tuán)隊來操作產(chǎn)品或構(gòu)建自定義功能,增加一些額外的實例進(jìn)行自動編排,并與開發(fā)該產(chǎn)品的公司簽訂支持合同。平臺。
最后,這是高負(fù)載物聯(lián)網(wǎng)系統(tǒng)的每月成本圖表。您可以得出自己的結(jié)論。
AWS的案例生動地顯示了這兩種方法之間的巨大成本差異。在使用其他物聯(lián)網(wǎng)云平臺的小消息量上,這可能并不明顯,但這只是在無服務(wù)器方法變得成本效益低時找到要點(diǎn)的問題。
結(jié)論
盡管基于云的無服務(wù)器IoT解決方案提供了開箱即用的廣泛集成選項和即時上市時間,但這些數(shù)字不言而喻-為巨額賬單做好了準(zhǔn)備。
如果不能期望業(yè)務(wù)快速增長或進(jìn)行業(yè)務(wù)概念驗證,那么基于云的解決方案是最佳選擇。否則,如果IoT平臺符合上述大多數(shù)標(biāo)準(zhǔn),那么我的建議是:采用開源解決方案。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2912文章
44855瀏覽量
375471 -
IOT
+關(guān)注
關(guān)注
187文章
4225瀏覽量
197255
發(fā)布評論請先 登錄
相關(guān)推薦
評論