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