在物聯(lián)網(wǎng)嵌入式設(shè)備的世界中,這種浪費(fèi)部分是由于設(shè)備邊緣云模型的教條式默認(rèn)設(shè)置。這種方法涉及將大量數(shù)據(jù)發(fā)送到本地邊緣計(jì)算機(jī)的IoT設(shè)備網(wǎng)絡(luò)。然后,邊緣要么處理該數(shù)據(jù)以將其推送到云存儲(chǔ)庫(kù),要么首先將數(shù)據(jù)推送給云以進(jìn)行處理。
這種方法旨在更好地促進(jìn)跨網(wǎng)絡(luò)的數(shù)據(jù)通信。 但是,這并不是萬(wàn)能的物聯(lián)網(wǎng)框架,因?yàn)樗袝r(shí)會(huì)對(duì)項(xiàng)目的成本,開(kāi)發(fā)和部署造成嚴(yán)重的損害。
為了說(shuō)明這一點(diǎn),考慮一個(gè)安裝傳感器的農(nóng)業(yè)物聯(lián)網(wǎng)農(nóng)場(chǎng),這些傳感器收集土壤濕度數(shù)據(jù)并相應(yīng)地調(diào)整其噴水系統(tǒng)。如果農(nóng)場(chǎng)采用設(shè)備邊緣云模型方法,可能會(huì)出現(xiàn)幾個(gè)昂貴和耗時(shí)的問(wèn)題
邊緣計(jì)算機(jī)為整個(gè)計(jì)算存儲(chǔ)網(wǎng)絡(luò)體系結(jié)構(gòu)增加了一層復(fù)雜性,并可能導(dǎo)致嚴(yán)重的數(shù)據(jù)延遲問(wèn)題。 如果網(wǎng)絡(luò)太大,噴頭可能會(huì)打開(kāi)太長(zhǎng)時(shí)間,淹沒(méi)農(nóng)作物
邊緣設(shè)備的刷新周期很多,這導(dǎo)致“架構(gòu)設(shè)計(jì)”鎖定。 這是設(shè)計(jì)整體架構(gòu)時(shí)的一個(gè)重要方面,因?yàn)樗拗屏谁h(huán)境可以適應(yīng)的物理變化量,例如季節(jié)和自然災(zāi)害。
如果該農(nóng)場(chǎng)決定擴(kuò)展其網(wǎng)絡(luò),則該農(nóng)場(chǎng)主要么必須支付大量的前端成本來(lái)安裝更多的邊緣計(jì)算機(jī),要么要投資于功能更強(qiáng)大的IoT設(shè)備來(lái)承擔(dān)更大的工作量。 無(wú)論如何,可伸縮性是一場(chǎng)噩夢(mèng)。
雖然邊緣計(jì)算在物聯(lián)網(wǎng)中確實(shí)有它的位置,但是這個(gè)框架已經(jīng)被冗余過(guò)度使用。相反,工程師和開(kāi)發(fā)人員必須學(xué)會(huì)以不同的方式思考如何構(gòu)建他們的網(wǎng)絡(luò)架構(gòu)。
隨著2020年更強(qiáng)大的云計(jì)算的出現(xiàn),基于云的狀態(tài)機(jī)為物聯(lián)網(wǎng)網(wǎng)絡(luò)設(shè)計(jì)提供了一種極其通用和高效的解決方案。 對(duì)于那些尚未意識(shí)到在云中派生狀態(tài)機(jī)的內(nèi)部機(jī)制的人,閱讀本文非常有用,因?yàn)樗敿?xì)解釋了什么是云機(jī)以及如何從頭開(kāi)始構(gòu)建云機(jī)。
本文將作為后者的配套篇,因?yàn)榕c其回答如何使用云機(jī),不如回答如何著重介紹為什么。 特別是,本文將解決物聯(lián)網(wǎng)的三個(gè)原則:硬件,開(kāi)發(fā)/部署和業(yè)務(wù)模型。
本文還將引用PubNub Functions作為云計(jì)算機(jī)示例。 Function能夠與通過(guò)pub-sub框架發(fā)送的任何消息一起觸發(fā)一段JavaScript代碼的功能使其成為云機(jī)器架構(gòu)的理想選擇。
1:硬件性能
在PubNub函數(shù)中駐留狀態(tài)機(jī)意味著用戶可以將所有數(shù)據(jù)和計(jì)算外包給云。因此,物聯(lián)網(wǎng)設(shè)備至少可以通過(guò)REST API或本機(jī)SDK單獨(dú)發(fā)布和訂閱數(shù)據(jù),這樣所有工作都可以在云中完成。
客戶端代碼的極簡(jiǎn)發(fā)布訂閱框架為物聯(lián)網(wǎng)設(shè)備的硬件提供了許多有利的好處:
負(fù)擔(dān)得起使用便宜且笨拙的設(shè)備
減少對(duì)內(nèi)存空間和處理能力的需求
如果網(wǎng)絡(luò)足夠大,即使外包給云的一點(diǎn)邏輯也可以節(jié)省很多錢(qián)。
較長(zhǎng)的占空比
更快的執(zhí)行時(shí)間
2:軟件開(kāi)發(fā)和部署過(guò)程
在部署向邊緣服務(wù)器報(bào)告的設(shè)備網(wǎng)絡(luò)時(shí),調(diào)試過(guò)程可能需要與開(kāi)發(fā)本身一樣長(zhǎng)的時(shí)間,甚至更短。 如果問(wèn)題不明顯,甚至診斷問(wèn)題也可能非常繁瑣。 但是,當(dāng)網(wǎng)絡(luò)在狀態(tài)機(jī)框架下工作時(shí),更容易發(fā)現(xiàn)問(wèn)題。
例如,狀態(tài)機(jī)允許代碼非常易讀,因?yàn)榭梢詫⒋a分解為非常小的可管理的塊,其他用戶可以快速運(yùn)行它們。 如果IoT設(shè)備或網(wǎng)絡(luò)無(wú)法正常運(yùn)行,則開(kāi)發(fā)人員可以從物理上識(shí)別出哪個(gè)狀態(tài)不正常,并快速修復(fù)與該狀態(tài)相關(guān)的有問(wèn)題的代碼。
例如 具有空白狀態(tài)和4個(gè)輸入的狀態(tài)機(jī)
此外,無(wú)需在現(xiàn)場(chǎng)安裝Edge,即可從任何位置遠(yuǎn)程訪問(wèn)Cloud Edge。 借助PubNub函數(shù),在嘗試遠(yuǎn)程更新問(wèn)題時(shí),這一優(yōu)勢(shì)變得更加明顯。
通過(guò)此UI,用戶可以使用控制臺(tái)調(diào)試器虛擬化每個(gè)IoT設(shè)備的終端屏幕。 由于所有設(shè)備需求都是互聯(lián)網(wǎng)連接,因此用戶基本上可以為世界任何地方的任何設(shè)備網(wǎng)絡(luò)編程邏輯!
功能模塊還帶有一系列API,可以輕松將它們導(dǎo)入云代碼,而無(wú)需設(shè)備需要更多硬件。 這意味著即使最小的IoT設(shè)備現(xiàn)在也可以與任何API進(jìn)行交互,無(wú)論大小。
3:商業(yè)模式和策略
在業(yè)務(wù)端,云狀態(tài)機(jī)與傳統(tǒng)的基于云的網(wǎng)絡(luò)共享許多相同的優(yōu)勢(shì)。
云系統(tǒng)的最大好處涉及項(xiàng)目的可擴(kuò)展性。 隨著項(xiàng)目業(yè)務(wù)的開(kāi)始擴(kuò)展,向網(wǎng)絡(luò)中添加更多設(shè)備對(duì)網(wǎng)絡(luò)基礎(chǔ)設(shè)施幾乎沒(méi)有影響。 僅需對(duì)設(shè)備進(jìn)行預(yù)編程即可發(fā)布和訂閱網(wǎng)絡(luò),只需要來(lái)自服務(wù)器的訪問(wèn)令牌即可。
然后,企業(yè)的服務(wù)器端可以遵循“按需購(gòu)買,按需購(gòu)買”的業(yè)務(wù)模型,在該模型中,客戶可以為動(dòng)態(tài)增長(zhǎng)的網(wǎng)絡(luò)調(diào)整付款。 這與邊緣模型相反,在邊緣模型中,客戶端需要為可能永遠(yuǎn)不會(huì)使用的其他服務(wù)器支付前期費(fèi)用。
此外,企業(yè)可以將自己制造成平臺(tái)即服務(wù)(PaaS); 該公司可以提供其云服務(wù)器作為其他設(shè)備網(wǎng)絡(luò)使用的平臺(tái)。 例如,如果一家公司要構(gòu)建針對(duì)特定IoT智能服務(wù)器場(chǎng)優(yōu)化的強(qiáng)大的PubNub Function,則其他公司可以付費(fèi)使用該功能來(lái)部署自己的IoT智能服務(wù)器場(chǎng)。如果本文引誘您進(jìn)入云機(jī)器的世界,請(qǐng)自己動(dòng)手親身體驗(yàn)一下強(qiáng)大的功能!
評(píng)論