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