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