一種新趨勢正在全球嵌入式軟體開發者之間悄然發生:小至家庭辦公室,大至集團公司的尖端科研實驗室,開發者們正在嘗試新的改變——將“DevOps”實踐到嵌入式軟體開發中,

一些巧合促成了此次革新:同時期內云原生計算正在興起,物聯網設備和邊緣技術正爆炸式發展,每時每刻都有數以億計的嵌入式設備在全球各地不斷地接入互聯網,用一個新的方法去設計、測驗、部署和維護這些設備的需求迫在眉睫,在此基礎上,云原生計算引入了持續集成(Continuous integration,CI)和持續交付(Continuous delivery,CD)等方法來實作軟體自動化的構建,
上述一系列的巧合在嵌入式軟體領域引起了DevOps革命,不僅改變了嵌入式設備以往功能單一且孤立的屬性,也改變了嵌入式軟體修改性差、復用性低的現狀,
發展是條漫漫長路:新思想的實踐需要建立在安全的基礎上
嵌入式軟體開發者在專案構建的最初階段,往往面臨著巨大的困難:他們將不得不從頭構建一套包含內核、分發版等軟體的平臺來開發新程式,不僅如此,后續的開發程序中,軟體的每次改動都需要進行重新構建、測驗和發布,為應對上述問題,傳統的解決方式為:使用一個特定的版本控制基礎架構團隊、CI(Continuous Integration,持續集成)團隊、QA(Quality Assurance,質量保證)團隊——使三個團隊同步作業,步調一致,以滿足軟體開發計劃,
這種開發方式雖然能在一定程度上解決問題,但有著費時費力、成本昂貴等缺點,并不適用于當今的互聯網、物聯網和邊緣設備,以消費品制造商(例如家用電器)為例,制造商并不具備頻繁更新版本的充足資源,常規的消費品大類下,除了電腦和手機,消費者也不習慣頻繁地更新設備,靜態部署嵌入式軟體的方式已不再適用于新型應用興起與激增的當下,
除了開發方式外,安全問題也不容忽視,隨著數以億計的設備開始全時段接入互聯網,對于在網路上有數百萬個節點的公司來說,安全漏洞成為他們更大的關注點,公司需要持續監控所有的節點和設備,時刻維護并確保其24小時處于安全狀態,
DevOps:嵌入式軟體開發的革命
2008年多倫多敏捷會議,Patrick Debois初次介紹了“DevOps”一詞,他被稱為“DevOps教父”,DevOps的出現改變了云原生應用的部署方式,使軟體可以被高效地頻繁更新和部署,實作應用程式的不斷升級,

▲Patrick Debois
當下的嵌入式設備已經開始應用DevOps完成嵌入式軟體的自動化構建,對嵌入式軟體生態而言,DevOps的引入為原先需要手動完成構建的公司提供了一個簡化作業流的平臺——可以使用一系列工具集或者平臺來實作版本控制、持續交付和持續集成,既提升了作業效率,也方便對產品進行創新與拓展,
以航空業為例,60年前的飛機百分百都由航空公司自行制造,而其核心技術相差無幾,低復用率帶來了巨額損耗;技術不斷革新的如今,僅波音公司和空客公司就幾乎制造了全世界航空公司的所有飛機,當然,各家航空公司仍可基于獨特的飛行體驗、品牌化等需求定制自己的飛機,可核心技術的差異化設計依然難以實作,
引入DevOps的概念后,嵌入式軟體開發者便可聚焦于定制產品,而不用在無差別無意義的基礎構建上耗時耗力,這是嵌入式軟體領域文化觀念上的轉變:直接在采購的、現成的機身基礎上進行定制與創新,DevOps模型中還有分布式進行開發實踐的觀點,不同團隊不同角色的成員可以在世界各地進行無縫協作,
2020年新型冠狀病毒肆虐全球的背景下,DevOps的需求迅速增加,分布式開發的方式不僅沒有消失,反而在技術開發中使用得更加普遍,盡管許多嵌入式軟體開發人員仍在以上世紀的方式進行作業,但DevOps的普及只是時間問題,是不可阻擋的趨勢,使用DevOps實踐方法和平臺,企業可以借助易用性強、復用性高的工具來實作云開發,減少軟體構建的復雜流程,以便開發人員更聚焦于其應用程式的價值提升,
參考文獻
參考鏈接:https://devops.com/how-devops-is-revolutionizing-embedded-development/
原文鏈接
https://mp.weixin.qq.com/s/mnL-PdffnwSxdw_JdMUwLg
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/507171.html
標籤:其他
