很久之前,我就已经看到过报道美军在F35之上通过Kubernetes来实现软件的快速部署和快速迭代,只不过并没有更进一步的详细描述和报道。这些天,我通过简单的搜索和总结,发现这件事情其实是臭鼬工厂和红帽合伙搞的事情,他们应该是开始批量使用配置实时内核的RHEL版本机载计算设备了。

旧闻三则


U-2联邦实验室实现Kubernetes飞行

源自:U-2 Federal Lab achieves flight with Kubernetes

发布于2020年10月7日
由空中作战司令部公共事务部
空中作战司令部公共事务部运营
加利福尼亚州比利空军基地

9月22日,U-2联邦实验室在比利空军基地分配给第9侦察联队的U-2“龙夫人”上成功利用了Kubernetes进行当地训练飞行。这代表了Kubernetes首次在国防部的主要武器系统中飞行。

Kubernetes是一个开源的容器编排系统,用于自动化计算机应用的部署、扩展和管理。它最初由谷歌设计,现在由云原生计算基金会维护。其以容器为中心的管理环境代表用户工作负载协调计算、网络和存储,并允许部署复杂的基于微服务的应用程序,实现完全自动化。

在国防部内,Kubernetes将允许军事武器系统汇集可用的机载计算能力,以满足高级系统和软件需求。

U-2飞行汇集了飞机上的四台单独的、飞行认证的计算机的能力,利用Kubernetes的优势运行高级机器学习算法,而不影响飞机的飞行或任务系统。“将U-2的传统计算机系统与现代Kubernetes软件成功结合,是空军现有武器系统上软件开发容器化的一个关键里程碑,”空军首席软件官尼古拉斯·夏兰说。

“我对U-2联邦实验室和我们的侦察镇飞行员感到无比自豪,他们使在U-2上飞行Kubernetes成为可能,”第9侦察联队指挥官希瑟·福克斯上校说。“这是一个里程碑式的成就,为我们快速实验铺平了道路,因为我们不断努力更快地带来未来,提高我们飞行员的战场意识。将Kubernetes集成到U-2上,利用了飞机的高空视线,并使其在竞争激烈的环境中更具生存能力。我们期待与国防部的其他平台合作,输出这一惊人的能力。”

U-2联邦实验室旨在将“战士、开发者和采购者的汇合”垂直整合在同一操作屋顶下。该实验室已经开发并获得国家标准化技术研究所的批准,建立了联邦政府的第20个实验室认证计划。它提倡“边缘开发”——在有界、安全的环境中,在操作系统上开发新软件集成的概念。“鉴于他们所展示的巨大价值,空中作战司令部正在基于U-2联邦实验室的构建,建立并认证整个企业中的这一流程,”空中作战司令部首席科学家约翰·马蒂亚斯博士说。“我们希望释放数字工程和敏捷软件开发的力量,抓住快速演变技术栈的机会;最终通过压缩将先进技术部署到战场上的时间,以与战士相关的速度,实现前所未有的能力交付。”

空军领导人此前曾表示,未来战斗的胜利将取决于服务充分利用前沿数字技术。在像U-2这样的主要武器系统上展示Kubernetes的使用,与数字空军倡议一致,并使飞行员能够在需要时和需要的地方获得实时数据。


国防部在 F-16 和战舰上实现了 DevSecOps

源自:With Kubernetes, the U.S. Department of Defense is enabling DevSecOps on F-16s and battleships

近来,美国国防部的大型武器系统软件交付可能需要 3 到 10 年的时间。美国空军首席软件官 Nicolas M. Chaillan 表示:“大多数团队都使用瀑布式开发,没有最小可行产品,没有增量交付,也没有来自最终用户的反馈循环。特别是在人工智能、机器学习和网络安全方面,每个人都意识到我们必须加快步伐。Chaillan 和国防部首席信息官、信息企业副首席信息官 Peter Ranks 创建了国防部企业 DevSecOps 参考设计,要求在整个国防部使用符合 CNCF 标准的 Kubernetes 集群和其他开源技术。

发布曾经需要长达 3 到 8 个月的时间,而现在只需一周即可完成。云飞地的运营授权 (ATO) 可在一周内获得,此外,“我们在平台堆栈上拥有持续的 ATO,”Chaillan 说道。“任何时候,只要软件要通过审核,就会自动获得认证。因此,您每天可以多次推送软件。”总而言之,“我们认为,有了这 37 个项目,计划的项目时间将节省 100 多年,”他补充道。美国空军首席软件官 Nicolas M. Chaillan 表示:“大多数团队都采用瀑布式开发,没有最小可行产品,没有增量交付,也没有来自最终用户的反馈循环。”此外,“网络安全大多是事后才想到的。”

2018 年夏天,Chaillan 被任命来扭转局面,他的解决方案很简单,但对国防部来说却是革命性的。他和国防部信息企业副首席信息官 Peter Ranks 共同创建了国防部企业 DevSecOps 参考设计,要求使用符合 CNCF 标准的 Kubernetes 集群和其他开源技术。Chaillan 说:“国防部企业 DevSecOps 参考设计定义了 DevSecOps 管道的门槛。只要团队符合该参考设计,他们就可以获得国防部范围内的持续 ATO(操作权限)。”

他说,Kubernetes 被选为“我们的抽象层,因此我们知道它的行为方式相同。”“对我们来说,它的价值在于抽象、编排、弹性和自我修复。”Envoy 和 Istio 提供了一个控制和数据平面,这“至关重要,这样我们就不会在不同环境之间产生偏差,因为我们有多个机密环境,”他补充道。

Chaillan 表示,该计划旨在“快速学习,快速失败,避免因同一原因而失败两次”。“特别是在人工智能、机器学习和网络安全方面,每个人都意识到我们必须加快步伐。”

为了推动采用,团队被选中使用云原生最佳实践构建最小可行产品 (MVP)。一些团队选择了简单的应用程序来证明这是可以做到的。但 Chaillan 采取了不同的方式:“我解决了武器系统问题,以便将军和高级管理人员能够关注,而这通常是你最终获得资金的地方。所以如果你让人们兴奋并证明你可以做到,那么你就可以证明这是可行的。”因此,在 2019 年秋季,位于犹他州希尔空军基地的 SoniKube 团队开始在 F-16 喷气式飞机上运行 Kubernetes。由 Jeff McCoy 领导的国防部 Platform One 团队成员加入该团队,教他们如何将 Kubernetes 安装在喷气式飞机的传统硬件上。“我们必须能够在两分钟内使用 Istio 在喷气式飞机上启动 Kubernetes,因为这是喷气式飞机出现问题时的必备条件,并且它必须能够在两分钟内重新启动,”Chaillan 说。“这是最大的挑战。”

在 45 天内,团队实现了这一目标,并能够在喷气式飞机上为空军采购、技术和后勤部助理部长 Will Roper 博士进行演示。“我们在 Istio 上运行了集群,然后推出了五六个微服务,”Chaillan 说。“许多喷气式飞机都使用较旧的编程语言运行,因此能够运行 Go、Python 和 Java 非常令人兴奋。”

目前共有 37 个团队致力于在 Kubernetes 上构建应用程序:“我们的团队在武器系统的各个方面都在进行这项工作,从太空系统到核系统再到喷气式飞机,”他说。

虽然其中一些项目是机密的,但其他项目已经能够分享其成果。例如,联合平台正在努力推动云端的网络攻防能力。Chaillan 说:“过去六个月,我们一直在使用 Kubernetes 来编排堆栈并容器化我们正在构建的工具。联合平台在交付容器的快速迭代方面非常成功。”

海军的 24 小时战斗编译计划是另一个例子:“Kubernetes 使他们能够在 [海上] 断开连接的情况下在船上推动生产,”Chaillan 说。Kessel Run 团队“在几周内就为不同类型的设备和 iPad 以及其他酷炫的边缘用例上的作战人员带来了价值。”

凭借这些成功案例,Chaillan 提倡在整个国防部范围内提供企业级产品。他们成立了两个团队:Cloud One,为开发团队提供云环境;Platform One,在 Kubernetes 集群上设置 DevSecOps 环境。团队可以从多种发行版中进行选择,例如 OpenShift、Tanzu、D2IQ 和 Rancher。

有了这些云原生技术和实践,国防部节省了大量时间。以前需要 3 到 8 个月才能完成的发布,现在只需一周即可完成。云飞地的 ATO 可以在一周内获得,而且“我们在平台堆栈上拥有持续的 ATO”,Chaillan 说。“只要软件通过测试和安全门,就会自动获得认证。因此,您可以每天多次推送软件。”

另一个好处是容器现在可以在整个国防部范围内进行认证。Chaillan 说:“我们不再需要每个团队进行认证,而是可以集中进行一次认证,而且认证可以一直延续到机密环境。”

总而言之,“我们认为通过这 37 个项目,可以节省 100 多年的计划时间,”他补充道。

此外,将 DevSecOps 引入所有环境(包括机密和非机密环境)“是一个非常大的推动因素”,Chaillan 说道。“他们可以在数据所在的位置运行所有机密级别,而这正是您需要数据的地方。因此,有了这种交钥匙工程,您就可以准备好环境,我们刚刚签订了 55 份云服务、人才和许可证合同。因此,如果像 F-16 这样的团队来找我,说‘我需要云计算、存储、Kubernetes 发行版、源代码存储库、用于 CI/CD 管道的一系列不同工具和五名 DevSecOps 工程师’,他们可以在 30 天内获得所有这些。”这个过程过去需要 3 到 6 个月。

Chaillan 的下一个目标是完成对国防部应用程序 10 万名员工的培训。这听起来可能令人望而生畏,但正如 Chaillan 指出的那样,“我们已经组建了一支从未使用过 Kubernetes 的团队,招募了一些人员并对他们进行了培训,将他们安置在基地外的一栋商业建筑中,并在 45 天内打造出了 F-16 MVP。这在以前可能需要一两年的时间。”


Lockheed Martin 实现开发流程的转型,加快交付速度

源自:Lockheed Martin transforms development processes, speeds delivery

作为一家全球性安防与航空航天公司,Lockheed Martin 需要对其所用的应用开发流程进行现代化改造,以便为美国空军的 F-22 猛禽战斗机提供新的功能。该公司选择红帽® 开放创新实验室来带领其完成敏捷转型,并帮助其在 F-22 上实施开源架构。凭借新的敏捷流程,Lockheed Martin 将其对未来冲刺迭代的预测能力提高了 40%,而且能提前 3 年提供新的通信功能。

为了在竞争中保持领先地位,Lockheed Martin 需要采用敏捷方法和 DevSecOps 实践来升级其开发流程。“拥有像 F-22 猛禽战斗机这样闻名于世的平台时,对手就会一直想办法对抗它,”Lockheed Martin F-16/F-22 产品开发副总裁 Michael Cawood 说道,“这意味着我们必须要不断增加新的功能,改进 F-22,而且还必须比以往更快。这就需要我们变革自己的组织结构和工作方式。”

Lockheed Martin 选择了红帽开放创新实验室来帮助他们从瀑布式开发转型为敏捷方法,同时理顺其嵌入式系统的纷繁关系。Lockheed Martin 与红帽携手合作,共同构建了一个开放式架构,以加快应用开发和交付速度。Cawood 表示:“通过与红帽开放创新实验室团队的合作,我们的一切都发生了改变,包括我们的工具链、我们的流程,最重要的还有我们的文化。我们的新文化根植于 DevSecOps 和敏捷方法,再加上基于红帽 OpenShift 容器平台的灵活平台,F-22 团队将继续努力,确保猛禽战斗机满足美国的国防需求。”

Lockheed Martin 的新流程和平台免除了耗时多日的设计审查工作。现在,面对每次的冲刺迭代,公司都展现了良好的能力成熟度。此外,Lockheed Martin 现在还提出了“最小可行产品”(MVP)的概念,旨在尽快向客户交付功能。F-22 猛禽战斗机团队已将其对未来冲刺迭代的预测能力提高了 40%,而且仅仅在项目启动 1 年后,Lockheed Martin 就能提前 3 年为 F-22 提供新的通信功能。“通过与红帽的合作,有朝一日我们一定能做到前一天开发新功能,第二天就试飞,随后即可交付给作战人员;就像我们在移动设备上接收更新那样。”Cawood 说道。

很高兴我们能够更快、更经济高效地为 F-22 机队提供新的功能。更令人欣喜的是我们看到了未来的发展前景,我们将继续改进我们的思维方式,并将这种转变扩展到 F-16 及其他 Lockheed Martin 产品上。

Michael Cawood

F-16/F-22 产品开发副总裁, 洛克希德马丁公司

背后的技术

洛马公司的臭鼬工厂提出了一个Enterprise Open System Architecture 复杂组织体开放式系统架构 E-OSA的体系架构,其目的是为了应对更大规模的计算机应用推广和计算机网络的发展需求。对于不同用途、不同功能的电子信息系统,用开放标准设计的计算机或软件体系结构,其目的是简化与添加、修改、删除和交换组件相关的工作。臭鼬工厂的OSA架构主要是目的是:

  1. 优化系统性能并降低装备成本;
  2. 通过技术及商业模式的创新使系统组件更容易升级;
  3. 使用标准接口,支持可操作性、可移植性和可变规模能力,同时系统组件不受供应商限制,可进行独立采购。

因此,OSA的核心不仅仅是将一套简单的标准或业务战略和技术体系结构的组合,还包含对各标准协同规则制定,以及应用程序集成操作系统的规则制定。主要包括以下一些子系统:

  1. OMS(OMS,Open Mission System):开放式任务系统;
  2. FACE(Future Airborne Capability Environment):未来机载能力环境;
  3. SOSA(Sensor Open System Architecture):传感器开放系统架构;
  4. HOST(Hardware Open System Technologies):硬件开放系统技术

前述所有应用的硬件基础都要依赖于下面这个臭鼬工厂的“爱因斯坦盒子”EMC²,也就是基于标准硬件结合商业系统而构建的计算系统。硬件部分是使用类似刀片服务器的4刀片商业硬件实现高可用,而系统部分则是直接采用红帽的RHEL企业级操作系统外加边缘计算系统Microshift(Openshift的精简版本),搭配开发环境使用标准版本的Openshift和DevOPS来实现敏捷开发、快速部署。

下图则是该项目的演进路线


参考:

  1. 美开放式系统架构浅析:基础介绍篇
  2. 美开放式系统架构浅析–OMS篇
  3. 红帽设备边缘
  4. Lockheed Martin, Red Hat Collaborate to Advance Artificial Intelligence for Military Missions
  5. Enterprise OSA