從商業(yè)角度來(lái)看,物聯(lián)網(wǎng) (IoT) 的大部分開發(fā)并不新鮮。無(wú)線甚至移動(dòng)互聯(lián)網(wǎng)連接都是成熟的技術(shù),而嵌入式處理器可以追溯到更遠(yuǎn)的地方。對(duì)于工業(yè)市場(chǎng),“工業(yè)物聯(lián)網(wǎng)”已經(jīng)取代“SCADA”(監(jiān)督控制和數(shù)據(jù)采集)作為控制系統(tǒng)架構(gòu),使用計(jì)算機(jī)、網(wǎng)絡(luò)數(shù)據(jù)通信和過(guò)程監(jiān)督管理來(lái)控制外圍設(shè)備(物聯(lián)網(wǎng)的“事物”)。大型植物。那么有什么新東西呢?
新的是組合,以及隨之而來(lái)的新挑戰(zhàn)。即,支持公司在成本和/或低功耗連接系統(tǒng)上運(yùn)行時(shí)所依賴的所有服務(wù)和商業(yè)模式。
首先制造這些連接設(shè)備具有挑戰(zhàn)性、耗時(shí)且成本高昂。但這只是故事的一半。與所有軟件產(chǎn)品一樣,智能設(shè)備若要保持競(jìng)爭(zhēng)力,就需要發(fā)布后的支持和功能。此外,任何超出初始產(chǎn)品銷售的商業(yè)模式——銷售應(yīng)用程序、流媒體內(nèi)容、按使用付費(fèi)等——都需要定期更新。如果這種商業(yè)模式發(fā)生變化怎么辦?
與數(shù)字世界的其他部分(PC、智能手機(jī)、服務(wù)器等)相反,大多數(shù)低功耗嵌入式系統(tǒng)通常不運(yùn)行應(yīng)用程序平臺(tái)。這意味著產(chǎn)品的軟件沒有很好的架構(gòu),具有清晰的邊界和接口(API 或 ABI)來(lái)分離關(guān)注點(diǎn)。添加/修復(fù)一個(gè)功能意味著更新整個(gè)產(chǎn)品,以及所有額外的(指數(shù))調(diào)試和驗(yàn)證。
這不僅讓營(yíng)銷團(tuán)隊(duì)無(wú)法按時(shí)或按預(yù)算獲得他們的愿望,而且對(duì)需要下載大量固件更新并重新啟動(dòng)設(shè)備以使其生效的最終用戶也很惱火(通常重置他們?cè)谶@個(gè)過(guò)程中的配置)。最重要的是,嵌入式程序員并不便宜,因?yàn)檫@項(xiàng)工作所需的難度和廣泛的專業(yè)知識(shí)。
但是風(fēng)景的輕微變化可以立即解決所有這些問(wèn)題。具體來(lái)說(shuō),物聯(lián)網(wǎng)的二進(jìn)制構(gòu)建塊應(yīng)該在單獨(dú)的沙箱環(huán)境中開發(fā)和部署,所有這些都在運(yùn)行語(yǔ)義管理代碼的虛擬化層之上。以最小的開銷,以這種方式沙盒化的嵌入式二進(jìn)制構(gòu)建塊(通常稱為應(yīng)用程序)可以放在一起構(gòu)建設(shè)備,就像構(gòu)建樂高積木一樣——這種比較在發(fā)布后也很合適,因?yàn)樵O(shè)備可以稍后發(fā)布像移動(dòng)應(yīng)用程序一樣快速自由地進(jìn)行修改,從而為業(yè)務(wù)提供更大的靈活性和更少的費(fèi)用。
部署到沙箱很簡(jiǎn)單
這種技術(shù)與它在 DevOps 中的使用方式相去甚遠(yuǎn),在 DevOps 中,沙盒是最常見的。它的用例和基本原理也是如此。但目的大致相同。如前所述,嵌入式系統(tǒng)中缺乏隔離(cpu、內(nèi)存、外圍設(shè)備)使得更新變得如此復(fù)雜。通過(guò)消除對(duì)整個(gè)程序及其特定工具鏈的依賴,這種虛擬化和沙盒組合使開發(fā)人員可以將程序分解為更小的二進(jìn)制構(gòu)建塊,并且只處理與新功能或更新相關(guān)的二進(jìn)制構(gòu)建塊。
考慮為移動(dòng)平臺(tái)更新應(yīng)用程序的便利性,這種隔離已經(jīng)內(nèi)置到環(huán)境中。比如說(shuō),如果 Angry Birds 的創(chuàng)建者想要在游戲中添加一只新鳥,她只需要接觸與應(yīng)用程序本身相關(guān)的代碼——無(wú)需訪問(wèn) Android 內(nèi)核(甚至理解它)。要部署它,她只需通過(guò)一輪快速驗(yàn)證并將應(yīng)用程序推送到目標(biāo)生態(tài)系統(tǒng)的貨架上(這里是云上的應(yīng)用程序商店)。從那里,設(shè)備可以無(wú)縫更新,可能作為后臺(tái)進(jìn)程。
更新/升級(jí)/修復(fù)嵌入式固件并不是那么容易,但是當(dāng)每個(gè)二進(jìn)制構(gòu)建塊都被沙盒化時(shí),開發(fā)人員可以擁有這種體驗(yàn)。就像他們的名字一樣,一切都變得簡(jiǎn)單和增量:更新、調(diào)整、調(diào)試、附加組件等。
開發(fā)人員和最終用戶的簡(jiǎn)單性并不是以這種方式進(jìn)行沙盒的唯一好處。由于您能夠在嵌入式系統(tǒng)上進(jìn)行部分軟件更新,因此還可以在部署時(shí)節(jié)省帶寬。此外,沙盒允許您為給定的二進(jìn)制構(gòu)建塊設(shè)置強(qiáng)權(quán)限,說(shuō)明二進(jìn)制構(gòu)建塊何時(shí)可以和不能訪問(wèn)其他二進(jìn)制構(gòu)建塊,以及它們對(duì) CPU、RAM 或硬件外圍設(shè)備等資源的訪問(wèn)權(quán)限。
如何為軟件構(gòu)建塊構(gòu)建沙箱
沙盒下方的虛擬化層是關(guān)鍵。它不僅在不提供內(nèi)存管理單元 (MMU) 的小型處理器上啟用沙盒,而且已經(jīng)朝著減少發(fā)布后費(fèi)用的目標(biāo)邁出了一步。例如,虛擬化 Java 環(huán)境可以利用更現(xiàn)代的代碼實(shí)踐來(lái)實(shí)現(xiàn)簡(jiǎn)單性、可重用性和抽象性,并允許開發(fā)團(tuán)隊(duì)由供應(yīng)量更大的程序員組成。出于與沙盒相同的許多原因,它還增加了設(shè)備的安全性。
一個(gè)自然的回?fù)艨赡苁翘摂M化環(huán)境和沙盒層會(huì)增加昂貴的開銷,尤其是對(duì)于非常小的系統(tǒng),如可穿戴設(shè)備或電池供電的傳感器。然而,當(dāng)今市場(chǎng)上的軟件可以處理這些環(huán)境,只需幾千字節(jié)的閃存占用空間和非常少的額外 RAM。建立在虛擬化層之上的典型沙盒層總重不到 45 Kb。
那么美元從哪里來(lái)?
三個(gè)地方。首先,一旦您處理沙盒和虛擬化,您就進(jìn)入了一個(gè)經(jīng)濟(jì)的工業(yè)流程,您可以重用創(chuàng)建的二進(jìn)制構(gòu)建塊,這些構(gòu)建塊現(xiàn)在已經(jīng)在您公司的“貨架”上可用。這實(shí)際上是公司可以擁有的最大資產(chǎn)之一。而且由于虛擬化總是伴隨著模擬——二進(jìn)制構(gòu)建塊可以在虛擬設(shè)備上運(yùn)行,就好像它們?cè)谡鎸?shí)設(shè)備上運(yùn)行一樣——它大大降低了項(xiàng)目的財(cái)務(wù)風(fēng)險(xiǎn),因?yàn)楦菀最A(yù)先驗(yàn)證規(guī)范。收益是眾所周知的:更多的市場(chǎng)份額、更多的利潤(rùn)和更快的速度。
其次,虛擬化和沙盒的結(jié)合減少了保持連接設(shè)備最新和具有競(jìng)爭(zhēng)力的成本。如前所述,當(dāng)更新/修復(fù)您的設(shè)備就像更新應(yīng)用程序一樣簡(jiǎn)單時(shí),您可以繞過(guò)修改、測(cè)試和驗(yàn)證整個(gè)固件的耗時(shí)過(guò)程。收益適用于研發(fā)和維護(hù)成本。
第三,它在發(fā)布后開辟了全新的收入來(lái)源。由于可更新,設(shè)備可以集成一個(gè)生態(tài)系統(tǒng),其中新服務(wù)的“按使用付費(fèi)”是規(guī)則。您的營(yíng)銷團(tuán)隊(duì)可以根據(jù)客戶的使用情況調(diào)整產(chǎn)品,同時(shí)每月收取費(fèi)用,從而輕松測(cè)試新想法;您可以銷售訂閱服務(wù),提供對(duì)基于 Web 的服務(wù)的訪問(wèn)權(quán)限,例如監(jiān)控、警報(bào)或流式傳輸/可下載內(nèi)容;或者您可以將其與更大的商業(yè)模式聯(lián)系起來(lái)——我們自己的合作伙伴之一,一家公用事業(yè)公司的子公司,將這種方法用于幫助業(yè)主管理燃?xì)赓~單的設(shè)備。收益是新的收入來(lái)源。
最好的是,你可以改變主意。當(dāng)設(shè)計(jì)/更新智能設(shè)備與現(xiàn)在一樣是一項(xiàng)重大承諾時(shí),新的競(jìng)爭(zhēng)對(duì)手或消費(fèi)者需求的突然變化意味著要深入削減您的利潤(rùn)以跟上。通過(guò)沙盒和虛擬化實(shí)現(xiàn)的發(fā)布后靈活性使您能夠盡可能靈活地使用在更大設(shè)備上運(yùn)行的軟件產(chǎn)品。
盈利能力是物聯(lián)網(wǎng)通向無(wú)處不在的唯一障礙。如果我不得不猜測(cè),我會(huì)說(shuō)現(xiàn)在 80% 的智能設(shè)備公司都會(huì)失敗。不是因?yàn)榧夹g(shù)知識(shí)差,而是因?yàn)槲⒉蛔愕赖牧餮?。?dāng)前市場(chǎng)只會(huì)為智能設(shè)備支付這么多錢,這僅略高于(當(dāng)前)平均開發(fā)成本。
迫使市場(chǎng)承受更高的價(jià)格,要么是壟斷,要么是奇跡。但正如我們所見,其他所有盈利途徑都需要軟件。沙盒/虛擬化組合就是要快速;低成本(通過(guò)重用二進(jìn)制構(gòu)建塊);低風(fēng)險(xiǎn); 靈活應(yīng)對(duì)市場(chǎng)的演變;并可選擇允許新的經(jīng)常性收入。這是針對(duì)復(fù)雜經(jīng)濟(jì)問(wèn)題的簡(jiǎn)單軟件解決方案,沒有真正的缺點(diǎn)。沙盒/虛擬化組合是將物聯(lián)網(wǎng)設(shè)備轉(zhuǎn)變?yōu)橛麡I(yè)務(wù)所需的最后一個(gè)“塊”。
審核編輯:郭婷
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2913文章
44915瀏覽量
376242 -
虛擬化
+關(guān)注
關(guān)注
1文章
379瀏覽量
29847
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論