以敏捷方式開發衛星軟體的可行性探討:以Umbra為例

作者: 李啟榮 發佈時間:2021-10-21
產業分類: 智慧製造
文章分類: 新創團隊
文章標籤: DevOps
瀏覽人數:131

 

近年來隨著民用衛星的蓬勃發展,例如SpaceX,可藉由發射衛星來建立衛星網路,來打破地球上的地理藩籬;又由於民用衛星的需求增長,衛星軟體的開發也愈來愈普及,衛星軟體需要藉由導入敏捷方法,可在衛星與地面站有限的連線時間內,有效提升衛星軟體的安全性、改善衛星功能與效能。

 

衛星軟體的運作和維護方式

衛星需要藉由地面安裝和上傳的軟體來控制、診斷及維護,而且衛星具有同步軌道特性,衛星和地面控制站需要在特定時間點建立連線,才能進行衛星電波的上傳和下載,將檔案上傳到衛星上進行更新和維護。

另外,衛星的架構有別於地面伺服器,衛星軟體的DevOps不光是軟體的內部開發和測試,而且還要在衛星上實際驗證,失敗所帶來的風險和停機衝擊,勢必會比地面伺服器還可觀;衛星軟體開發維運除了傳統DevOps的開發維運兩團隊外,還要加入衛星監控的團隊並與之協調,才能將軟體藉由衛星團隊上傳到衛星上,並由衛星團隊進行監控與診斷。

 

Umbra的敏捷衛星軟體開發維運方法

以2015於美國加州成立的新創公司Umbra為例,該公司著重在衛星軟體的開發,尤其「合成孔徑雷達」電波成像技術;為了從衛星上下載衛星照片,並從地面站控制、診斷和維護人造衛星,Umbra的團隊於今年八月開始探討DevOps應用在衛星領域的可行性。

Umbra團隊指出,將軟體上傳到衛星與上傳到K8S等伺服器容器有所不同,衛星軟體的Debug也比地面伺服器更具有挑戰性;因此,衛星軟體的DevOps得要比地面伺服器更需要進行更完整、更萬無一失的測試,進行更高強度的把關和驗證,才能在衛星與地面站建立聯繫時,準確地將衛星軟體的更新套件上傳到衛星上穩定運作。

 

 

 

資料來源: (Brown, 2021)

圖1:Umbra在衛星軟體敏捷實務的分析

 

 

小結

由於衛星的架構和部署型態跟地面伺服器有所差異,因此在衛星軟體導入DevOps模式時,得考量衛星軟體在部署時的物理特性和運作模式,使得開發維運團隊更需要借助衛星團隊,並與之頻繁協調協作。另因應SpaceX等衛星網路和5G趨勢,衛星軟體的技術門檻也逐漸從NASA專業級,向下延伸的民間用途,讓DevOps團隊能接觸更多衛星軟體的開發、維護和監控作業,讓軟體開發生命週期(SDLC)從地面伺服器延伸到衛星上,帶動DevOps的技術升級。

 

 

參考來源:

 

參考資料

  1. Brown, C. (2021, August 17). Deploying to Space through the Cloud: Lessons in DevOps for Satellite Operations at Umbra Space. Retrieved from Umbra Space: https://www.youtube.com/watch?v=7fvTilivdmc 
  2. (2020, November 28). 9.0 Flight Software. Retrieved from NASA: https://www.nasa.gov/smallsat-institute/sst-soa-2020/flight-software