物聯(lián)網(wǎng)軟件開發(fā)的有哪些基本實踐?
物聯(lián)網(wǎng)不再是一個新生的夢想。全球物聯(lián)網(wǎng)市場規(guī)模在2021年增長22.4%,達(dá)到1579億美元,預(yù)計到2030年收入將達(dá)到44210億美元。此外,預(yù)計全球物聯(lián)網(wǎng)設(shè)備的數(shù)量將從2020年的97億臺增加到2030年的超過290億臺,增長將近兩倍。
英特爾公司等全球性品牌此前對其業(yè)務(wù)進(jìn)行了重大改變,以專注于物聯(lián)網(wǎng)的開發(fā),隨著越來越多的設(shè)備聯(lián)網(wǎng),自主配置、管理和監(jiān)控的界限將繼續(xù)模糊。
拋開市場炒作不談,最近出現(xiàn)的最重要的對話之一與物聯(lián)網(wǎng)的戰(zhàn)術(shù)元素有關(guān)。企業(yè)在開發(fā)過程中需要解決哪些問題才能使其成為成功的技術(shù)轉(zhuǎn)變?
如果沒有精確的實施和執(zhí)行,物聯(lián)網(wǎng)可能會變成一場噩夢。設(shè)備變得越來越智能,可以相互交流并消除不可靠的人為因素,從而提高質(zhì)量和生產(chǎn)力。
擁抱并成功管理物聯(lián)網(wǎng)帶來的所有技術(shù)復(fù)雜性是其成功的最重要步驟。
然而,物聯(lián)網(wǎng)產(chǎn)品和服務(wù)只會和它們背后的軟件一樣好。這不會造成一系列新問題——軟件已經(jīng)無處不在。與其相反,物聯(lián)網(wǎng)的日益普及只是放大了具有問題的軟件的潛在影響,這就是麻煩的開始。
一、物聯(lián)網(wǎng)發(fā)展的障礙
首先,大量的物聯(lián)網(wǎng)活動來自制造業(yè)、政府(智慧城市)和消費品等行業(yè),這些行業(yè)的一些組織缺乏整合這種動態(tài)軟件能力的能力。再加上對工程師,尤其是具有聯(lián)網(wǎng)設(shè)備開發(fā)知識的工程師的需求量很大的問題。
另一個問題是,一旦建立了物聯(lián)網(wǎng)能力,企業(yè)就必須弄清楚如何管理軟件。這導(dǎo)致了三重問題。即使是傳統(tǒng)的嵌入式軟件開發(fā)人員也沒有趕上開發(fā)聯(lián)網(wǎng)應(yīng)用程序所需的所有實踐。當(dāng)前軟件行業(yè)的其余部分將如何管理?
其次,嵌入式軟件組件必須與其他面向互聯(lián)網(wǎng)的組件安全交互。盡管應(yīng)用程序可以在安全子網(wǎng)上運行,但訪問將僅限于同一子網(wǎng)的用戶。
這可能適用于某些商業(yè)模式,但對于任何想要訪問全球互聯(lián)網(wǎng)的人來說,這不是一個可行的解決方案。
因此,開發(fā)人員必須了解這些連接的組件將如何交互,以確保安全性、可靠性和效率。這是IT中的常見問題,但最近出現(xiàn)在設(shè)備軟件開發(fā)中。
第三,物聯(lián)網(wǎng)使開發(fā)人員面臨的問題和能力在很大程度上已經(jīng)在傳統(tǒng)計算中廣為人知,但在互聯(lián)世界中應(yīng)對它們的方法仍然是相對未知的領(lǐng)域。例如,企業(yè)和Web開發(fā)人員非常熟悉針對本地和遠(yuǎn)程攻擊的強大安全性的需求。
輸入驗證作為第一道防線的概念在當(dāng)今的連接系統(tǒng)中被廣泛接受。然而,物聯(lián)網(wǎng)的發(fā)展擴大了這些問題的范圍。嵌入式、設(shè)備和移動開發(fā)人員需要開始考慮安全挑戰(zhàn),例如開發(fā)過程中的輸入驗證。
二、安全性和產(chǎn)品質(zhì)量如何?
物聯(lián)網(wǎng)中最大的擔(dān)憂之一是安全性,軟件工程師如何解決它將發(fā)揮更深層次的作用。隨著設(shè)備相互交互,企業(yè)需要能夠安全地處理海量數(shù)據(jù)。
已經(jīng)有許多以智能設(shè)備為目標(biāo)的數(shù)據(jù)泄露事件,例如歐司朗公司發(fā)現(xiàn)在其物聯(lián)網(wǎng)燈泡中存在漏洞,這可能使網(wǎng)絡(luò)攻擊者能夠訪問用戶的網(wǎng)絡(luò)和與之連接的設(shè)備。
安全需要在設(shè)計階段開始時解決,根據(jù)需要進(jìn)行需求權(quán)衡,而不是僅僅簡單地添加。這與軟件的健壯性高度相關(guān)。預(yù)先設(shè)計和構(gòu)建強大的軟件可能需要更多時間,但從長遠(yuǎn)來看,安全軟件更可靠且更易于維護(hù)。
CAST公司的一項研究表明,三分之一的安全問題也是穩(wěn)健性問題,這一發(fā)現(xiàn)與客戶的現(xiàn)場經(jīng)驗中得到了證實。
盡管軟件開發(fā)人員的意圖是良好的,但企業(yè)管理層總是在尋找捷徑。
在物聯(lián)網(wǎng)生態(tài)系統(tǒng)中,率先上市是一個巨大的競爭驅(qū)動力,因此這可能意味著為了發(fā)布速度而犧牲安全性、質(zhì)量和可靠性。編寫不佳的軟件仍然是當(dāng)今最大的安全問題之一。
為了滿足需求、避免陷阱并在不斷增長的物聯(lián)網(wǎng)市場中取得成功,企業(yè)需要采用四種重要的物聯(lián)網(wǎng)軟件開發(fā)實踐。
(1)回顧
適當(dāng)?shù)拇a審查和重復(fù)測試需要成為優(yōu)先事項。制造商必須將這一信息傳達(dá)給軟件工程團(tuán)隊,并要求采取更嚴(yán)格的軟件質(zhì)量措施。
物聯(lián)網(wǎng)應(yīng)用程序的高度復(fù)雜性使軟件容易出現(xiàn)安全漏洞和軟件質(zhì)量故障。應(yīng)用程序、傳感器和硬件設(shè)備之間的一次不良事務(wù)就可能導(dǎo)致整個系統(tǒng)故障。企業(yè)承受不了這樣的代價。
(2)評估
在互聯(lián)世界中進(jìn)行持續(xù)部署是一切如常的事情。更新會不停地發(fā)生,并且通常一天會推送多次。
與物聯(lián)網(wǎng)設(shè)備交互的軟件的質(zhì)量保證負(fù)擔(dān)比以往任何時候都大。如果軟件沒有得到持續(xù)監(jiān)控和代碼評估,幾乎肯定會失敗。
(3)責(zé)任
管理層必須對質(zhì)量保證負(fù)責(zé)。任何沒有一套分析來跟蹤其軟件風(fēng)險(無論是可靠性、安全性還是性能)的制造商都會疏忽其對客戶和其他利益相關(guān)者的責(zé)任。
管理層需要以身作則并傳達(dá)軟件質(zhì)量和安全之間的直接聯(lián)系。這也符合他們的最大利益,因為由糟糕的編碼或系統(tǒng)架構(gòu)決策引起的安全漏洞可能是糾正成本最高的一些。
(4)宣傳
除了測量和分析之外,還需要進(jìn)行文化轉(zhuǎn)變以包括教育。開發(fā)人員和管理層共同需要在社區(qū)中傳播有關(guān)標(biāo)準(zhǔn)的信息。
2015年,對象管理企業(yè)(OMG)批準(zhǔn)了由IT軟件質(zhì)量聯(lián)盟(CISQ)提出的一套全球標(biāo)準(zhǔn),以幫助企業(yè)量化和實現(xiàn)軟件質(zhì)量的特定目標(biāo)。從那時起,在為制造商和IT部門創(chuàng)建計劃以始終如一地衡量其軟件質(zhì)量方面取得了重大進(jìn)展。
令人關(guān)注的消費者應(yīng)用程序(預(yù)測性咖啡機、自動駕駛汽車等)和網(wǎng)絡(luò)攻擊(例如從冰箱發(fā)起的DDoS攻擊)成為頭條新聞,但更深層次的商業(yè)價值開始出現(xiàn)。
麥肯錫公司的一份報告指出,成熟的物聯(lián)網(wǎng)系統(tǒng)將收集有關(guān)產(chǎn)品如何實際發(fā)揮作用以及如何使用它們的數(shù)據(jù),而不是依賴于客戶關(guān)注群體,從而消除產(chǎn)品開發(fā)中的猜測。
這無疑會改變游戲規(guī)則,要求開發(fā)團(tuán)隊降低他們設(shè)計的軟件的風(fēng)險。而了解安全架構(gòu)基礎(chǔ)的重要性。并堅持開發(fā)人員遵守行業(yè)標(biāo)準(zhǔn)將是第一道防線。