物聯網模擬:通往成功的測試
我們在生活中的各種面向都會使用模擬器,以針對真實環境的摹本進行測試。這在預測複雜系統的動作與回應時極為重要,例如從飛行模擬器和電影佈景,到氣候模型與經濟預報等。物聯網也不例外。
在一般網路中,部署的複雜性及物聯網裝置的數量不斷成長。這使得發生意外問題而導致災難的機率增加。讓大家對物聯網部署趨之若鶩的彈性與擴充性,同時也使大規模測試變得十分困難。這樣的複雜性可能會使新專案毀於一旦。
一份 Cisco 報告指出,有百分之 60 的物聯網專案在概念性驗證階段便遭到停擺。只有極小的一部分能完全成功。這樣的報告顯示了將書面系統化為現實,並發揮完整潛力的困難度。確保專案成功的最佳方法之一,就是在將整個系統上線前,先針對網路中的多種元素進行模擬。
當連網裝置或其分流功能的數量持續大規模成長,或是擴展為大量產品時,模擬的重要也隨之增加。相較於實際打造大規模的網路,進行模擬是更符合成本效益的做法。此外,使用案例還可包括測試偶發情況、容錯評估,或是測量端對端延遲等。
隨著感應器的數量增加,發生意外狀況的機率也隨之增長。透過預先模擬這些事件,營運人員便可確保能妥善處理這些狀況。
MQTT 通訊協定:適用於物聯網
模擬器有各種形式與規模,包括商用軟體與開放原始碼的替代方案等。它們之間具有許多不同的因素,例如擴充性與支援的通訊協定等。
其中,MQTT(訊息佇列遙測傳輸協定,Message Queuing Telemetry Transport)是一種熱門的通訊協定,這是一種發佈-訂閱的訊息系統。這在物聯網網路中十分熱門,因為其屬於輕量級的協定,程式碼的規模也較小。同時也適合頻寬有限的領域。
Gambit Communications 所推出的 MIMIC MQTT 模擬器等應用程式經過專門設計,可建立大規模的感應器、觸發條件,以及其他 MQTT 用戶端。
物聯網模擬器可著重於 MQTT 等特定的訊息通訊協定,或是支援多種通訊協定,包括 CoAP、REST 和 AMQP。為了選擇合適的應用程式,您必須先瞭解需要哪一種模擬器,以及要針對完整解決方案的哪一個面向進行測試。
模擬獨立端點的架構行為時,用戶端代理模型有所不同。MQTT 標準使用此模型,在網路中傳遞訊息。Gambit 將 MQTT 作為進行模擬的介面。這能使其有效率地重現使用此通訊協定的裝置,並擴充至所需程度的總數。
大規模模擬
在某些環境下,模擬器可協助您瞭解在多種代理廠商部署通訊協定支援的方法中,存在著哪些微小差異。
當 Gambit 運用多種服務測試 MQTT 5.0 支援時,他們發現了一些情況,可能會在生產環境中導致預期外的行為。在部署前使用模擬器測試這些應用程式,便可避免不想要的意外。
這些元件可經過程式編寫,由使用者控制,以不同的方式進行互動。操作人員可即時在測試中向上或向下調整模擬規模、設計特殊事件,並測量這些變更對平台的影響。
MIMIC 模擬器可根據 Intel® 物聯網閘道平台,將硬體定位為受測裝置 (Device Under Test, DUT),並建立數千種虛擬感應器。每一種感應器皆可定義為不同的類型,例如溫度、壓力,以及位置感應器等。亦可編寫為可預測的獨特流量生成,或是模擬多種錯誤模型。
MIMIC 支援動態規則,可在模擬中調整及採用新參數。當評估分析引擎在現實條件下遭遇意外情況時的行為時,這樣的能力極為重要。這些情況可能包括感應器故障、一系列的感應器突發故障,或是無線電干擾等。僅支援靜態規則的工具無法進行調整,不足以測試這樣的情況(圖 1)。
效能測試與邊緣案例評估
Gambit 解決方案可用於測試在連線裝置的數量增加時,其他物聯網元件的表現。客戶的分析引擎是否可有效地擴展,以滿足現在或未來的需求?是否能以合適的方式處理意外極端案例?
透過模擬不同的發佈者與訂閱者配置,或是大幅增加連線總數,能有效地評估物聯網解決方案之彈性與效能的效能標竿。
以下的影片(影片 1)顯示當 10,000 個感應器上線時,端對端延遲的效果。
影片 1. MIMIC 模擬影片
隨著感應器數量增加,所模擬的總流量也會增加。整體延遲開始漸漸增長。有多種變數可能會影響到延遲。這包括感應器到代理設備間的距離、訊息酬載大小,以及 QoS 設定等。物聯網模擬器應可提供隨需求變更這些設定的能力。
作為一種產業,物聯網還在它的初期階段。模擬器原本的設計為雲端測試使用,因為這是進行大部分物聯網處理程序的位置。轉變至雲端運算的過程,使物聯網模擬器必須增加整合邊緣服務的功能。Gambit 著重於為 MQTT 模擬器增加這些功能,以確保能涵蓋這個逐漸擴展的測試區域。