作者 | Tom Krazit
策劃 | 星璇
出品 | 51CTO技術棧(微信號:blog51cto)
Kubernetes、Istio、knative 和內部開發的“強化”容器規范現在已成為整個軍隊的默認軟件開發平臺。
1.美國首席軟件官:軍隊不能落后于技術太多
隨著混合云戰略的發展,美國軍方當然正在采取獨特的方法。
根據美國首席軟件官 Nicholas Chaillan 在圣地亞哥 KubeCon 2019 上的演講,就像幾乎所有其他事情一樣,軍事組織越來越依賴軟件,他們正在轉向 Kubernetes 和 Istio 等一系列開源云工具來完成工作。這些工具部署在一些非常“有趣”的地方,從武器系統到戰斗機。是的,F-16 正在這些飛機內置的舊硬件上運行 Kubernetes。
“團隊的一個重點是證明這是可以做到的,”柴蘭說。他向空軍及其合作伙伴發起挑戰,要求在 45 天內在一架噴氣式飛機上安裝并運行 Kubernetes,雖然這聽起來很困難,但該團隊實現了目標,F-16 現在正在運行三個并發的 Kubernetes 集群,他說。
接下來,Chaillan 解釋了空軍(以及現在在他的指導下,國防部其他部門)如何在容器、Istio 和 Kubernetes上押下重注。對于整個軍隊的軟件團隊來說,它是一個靈活但通用的開發平臺,可以防止供應商鎖定。
Chaillan 說,大約 18 個月前,空軍開始這個項目之前,大多數軍事軟件團隊都在使用老式瀑布流程構建軟件,新代碼可能需要數年時間才能完全投入生產。即便如此,更新、測試甚至安全審查都嚴重依賴人力來完成商業部門早就決定應該自動化的任務。
在執行任務所需的技術方面,軍隊確實不能落后于主流太多。當競爭對手投資自己的軟件功能時,他們可以在戰場上獲得優勢。更新一些軍方最關鍵的應用程序所需的冰川過程的安全影響是顯而易見的。
“減少攻擊面并能夠減輕威脅對我們來說非常重要,”Chaillan 說。
2.美國國防部采用的企業 DevSecOps
Chaillan 和他的團隊決定采用開源軟件作為新開發平臺的基礎,他們將其稱為DoD Enterprise DevSecOps Initiative。該倡議指定了 Kubernetes、Istio、knative 和內部開發的規范的組合,用于“強化”容器,并具有嚴格的安全要求,作為整個軍隊的默認軟件開發平臺。
Chaillan 表示,不同部門或地區的軟件團隊對于如何使用自己掌握的工具有一定的自由裁量權,但一切都必須構建在空軍平臺一團隊提供的層上,并且有幾件事不允許團隊更改。說。有趣的是,鑒于圍繞國防部上個月授予微軟的 10 年期 JEDI 云合同的喧囂,整個堆棧被設計為在Amazon Web Services 的 GovCloud 或 Microsoft Azure上運行。
彼時,Chaillan 在演講結束后由云原生計算基金會主辦的新聞發布會上進一步闡述了這一點,并解釋說“我們不想陷入任何一件事。”出于這個原因,該團隊選擇使用 Kubernetes,并與 Istio 等其他項目一起為 DoD 堆棧的網絡層提供安全性:“我們希望確保 Istio 在整個堆棧中持續運行,”Chaillan 說。
當然,一路上也遇到了很多挑戰。Chaillan 說,Kubernetes 并不是為軍隊必須在許多情況下使用的斷開連接的環境而設計的,這些環境涉及不應該到達互聯網的數據。他暗示,國防部在解決項目的這一部分時將為 Kubernetes 維護人員提供很多建議,這可能有助于為 Kubernetes 在其他敏感操作環境中使用鋪平道路。
“我們非常習慣使用互聯網進行更新,并連接到互聯網,直接從互聯網獲取更新。他說,對我們來說,我們必須將整個堆棧帶在飛機或武器系統上,這些系統在設計上與互聯網斷開連接。
3.美國防部規模的開源堆棧
國防部的運作規模幾乎不同于所有商業運作;Chaillan 必須對 100,000 人進行 DevSecOps 原理培訓,更不用說新工具了。“文化轉變很有趣,”當時他在新聞發布會上說道,語氣似乎有些克制。
這一規模反映出美國國防部將把這個新的開發平臺用于許多普通和非機密的應用程序:超過 200 萬人為軍隊工作,其中大多數人都沒有駕駛運行 Kubernetes 的 F-16。
“這架飛機很有趣,但它只是我們正在做的其余工作的一小部分。我們有很多業務系統正在遷移到云原生環境,遷移到微服務,從一開始就構建起來,”Chaillan 說。
Chaillan 說,整個 DoD Enterprise DevSecOps Initiative 堆棧都是開源的,任何人都可以查看。他說,軍事機構在向開源社區發布更多工作方面正在“做得更好”,并指出“我們不會分叉(開源)軟件。”
參考鏈接:https://thenewstack.io/how-the-u-s-air-force-deployed-kubernetes-and-istio-on-an-f-16-in-45-days/