CNCF案例:美国国防部借助K8S和DevSecOps加速F-16和战舰系统交付

尽管云 , 容器和devops技术已经非常流行 , 但是很多人对此还是持观望态度 , 认为这些只适合在开发和测试环境中使用 , 不适合正式的线上环境 。 那就是大错特错了 , 本文虫虫给大家介绍一个案例 , 美国国防部利用Kubernetes和DevSecOps加速F-16和战舰系统的开发和交付 。 这不是童话 , 美帝在F-16上装了K8S , 并能保证在2分钟内启动 。
概述
在最近的过去 , 对于大型武器系统 , 美国国防部内部的软件交付可能需要三到十年的时间 。
''主要是使用瀑布的团队 , 没有最低限度的可行产品 , 没有增量交付 , 也没有最终用户的反馈回路 , ''美国空军首席软件官NicolasM.Chaillan说 。
''特别是在人工智能 , 机器学习和网络安全方面 , 每个人都意识到我们必须加快行动速度 。 ''
解决方案
DoDCIO信息企业副首席信息官Chaillan和PeterRanks创建了DoDEnterpriseDevSecOps参考设计 , 其任务是在整个DoD中使用兼容CNCF的Kubernetes集群和其他开源技术 。
CNCF案例:美国国防部借助K8S和DevSecOps加速F-16和战舰系统交付
文章图片
影响力
曾经需要3到8个月的发布时间 , 现在可以在一周内完成发布 。
【CNCF案例:美国国防部借助K8S和DevSecOps加速F-16和战舰系统交付】Chaillan说 , 可以在一周之内获得云飞地的操作授权(ATO) 。
''我们在平台堆栈上拥有连续的ATO'' 。
''无论何时 , 它都会自动获得认证 。 因此 , 你一天可以多次推送软件 。 ''
''我们正在推广了37个程序 , 这将比计划程序的时间节省100多年 。 ''
在DevSecOps进入美国国防部之前 , 大型武器系统的软件交付可能需要三到十年的时间 。
''主要是使用瀑布的团队 , 没有最低限度的可行产品 , 没有增量产品交付 , 也没有最终用户的反馈和响应流程 , ''
美国空军首席软件官NicolasM.Chaillan说 。
''网络安全主要是事后的想法 。 ''
Chaillan2018年夏天入职解决目前的窘境 。 他的解决方案很简单 , 但是对部门来说是革命性的 。 他和DoD信息企业副首席信息官PeterRanks创建了DoDEnterpriseDevSecOps设计指南 , 用来引入符合CNCF的Kubernetes集群和其他开源技术 。
Chaillan说:''国防部企业DevSecOps设计指南定义了DevSecOps管道入口''
''只要团队遵守设计指南 , 他们就可以获得国防部范围的连续ATO(运营权限) 。 ''
CNCF案例:美国国防部借助K8S和DevSecOps加速F-16和战舰系统交付
文章图片
他说 , Kubernetes被选为''对我们来说是一个抽象层 , 因此我们知道它的行为将是相同的'' 。
''对我们而言 , 价值在于抽象 , 业务流程 , 弹性和自我修复 。 ''
他补充说 , Envoy和Istio提供了一个控制和数据平面 。
''这很关键 , 因为我们有多个分类环境 , 因此我们不能在环境之间漂移'' 。
Chaillan说 , 提出该倡议是为了''快速学习 , 快速失败 , 并保证不会因为相同的原因而失败两次'' 。
''特别是在人工智能 , 机器学习和网络安全方面 , 每个人都意识到我们必须加快行动速度 。 ''
为了推动部署采用 , 团队被选择使用云原生最佳实践来构建最低可行产品(MVP) 。 一些团队选择简单的应用程序来证明它可以完成 。
但是Chaillan采取了不同的方法:
''我处理了武器系统 , 因此总经理和高级管理人员会注意 , 这通常是最终获得资金的地方 。 因此 , 如果让人们兴奋并表明你可以做到 , 那么你可以证明那里有事情 。 ''
CNCF案例:美国国防部借助K8S和DevSecOps加速F-16和战舰系统交付
文章图片
因此 , 在2019年秋天 , 位于犹他州希尔空军基地的SoniKube团队着手让Kubernetes在F-16喷气机上运行 。
在F-16喷气机上运行Kubernetes
由杰夫·麦科伊(JeffMcCoy)领导的国防部''平台一号''(PlatformOne)团队的成员与该小组一起工作 , 教他们如何将Kubernetes应用于喷气机的旧硬件上 。
CNCF案例:美国国防部借助K8S和DevSecOps加速F-16和战舰系统交付
文章图片
Chaillan说:''我们必须能够在两分钟之内用Istio在喷气机上启动Kubernetes , 因为这是喷气机在出现问题时的必须条件 , 必须能够在两分钟内重新启动 。 ''
''这是最大的挑战 。 ''
在45天内 , 团队完成了这个目标 , 并能够为空军采购、技术和后勤助理部长WillRoper博士进行喷气机演示 。
Chaillan说:''我们在Istio上运行了集群 , 然后启动了五到六个微服务 。 ''''许多喷气机都使用较旧的编程语言运行 , 因此能够运行Go , Python和Java真是令人兴奋 。 ''
目前 , 共有37个团队正在Kubernetes之上构建应用程序:
''我们有团队在武器系统的各个方面 , 从太空系统到核系统再到喷气机 , ''他说 。
参考DevSecOps自定义了DevSecOps栈
''国防部企业参考DevSecOps设计自定义的了DevSecOps管道 。 只要团队遵守该参考设计 , 他们就可以获得国防部范围的连续ATO(操作权限) 。 ''—美国空军首席软件官NICOLASM.CHAILLAN
尽管其中一些程序已被分类 , 但其他程序却能够共享其结果 。 例如 , 联合平台正在努力将云计算的网络攻击和防御功能推向云端 。
Chaillan说:''在过去的六个月中 , 我们一直在使用Kubernetes来协调堆栈并将其构建的工具容器化 。 ''
''UnifiedPlatform在提供容器的快速迭代方面非常成功 。 ''
海军的''24小时战斗作战''计划是另一个例子 。
''Kubernetes使他们能够在海上断开连接的情况下推动舰上生产 , ''Chaillan说 。
KesselRun团队''将在几周内通过不同类型的设备和iPad以及其他轻量边缘用例为战士提供价值 。 ''
有了这些成功的故事 , Chaillan提倡在国防部中使用的企业级产品 。
创建了两个团队:用于将云环境带入开发团队的CloudOne和用于在Kubernetes集群上设置DevSecOps环境的PlatformOne 。
团队可以从一系列发行版本中进行选择 , 例如OpenShift , Tanzu , D2IQ和Rancher 。
有了这些云原生技术和实践 , 国防部节省了大量时间 。 曾经需要3到8个月的发布时间 , 现在可以在一周内完成发布 。 可以在一周内获得一个针对云飞地的ATO 。
''我们在平台堆栈上拥有一个连续的ATO'' 。
''任何时候软件通过测试和安全 , 该软件都会自动获得认证 。 因此 , 一天可以多次推送软件 。 ''
''我们已经组成了一支从未有过Kubernetes的团队 , 引进了一些人并对其进行了培训 , 将他们放到了商业大楼的基地外 , 并在45天内建造了F-16MVP 。 那大概需要一两年的时间 。 ''
统一ATO认证
另一个好处是 , 现在可以在整个DoD范围内对容器进行认证 。
Chaillan说:''我们可以不是一次由每个团队进行认证 , 而可以一次集中进行认证 , 并且可以一直到分类环境中进行 。 ''
他补充说:''我们正在考虑37个程序 , 这将比计划的程序时间节省100多年 。 ''
此外 , 将DevSecOps带到所有已分类和未分类的环境中 。
''都是非常重要的推动力'' 。
''他们可以在需要数据的地方运行所有分类级别 。 有了随处可得的交钥匙工程 , 并为环境做好了准备 , 我们刚刚获得了55份云服务 , 人才和许可合同 。 因此 , 如果像F-16这样的团队来说:''可以在30天内 , 完成对云计算 , 存储 , Kubernetes发行版 , 源代码存储库 , 用于CI/CD管道的许多不同工具以及DevSecOps工程师的需求 , 该过程过去通常需要3到6个月 。 ''
Chaillan的下一个目标是为所有从事DoD应用程序工作的100,000名员工提供培训 。
这听起来可能令人望而生畏 , 但正如Chaillan指出的那样 ,
''我们已经聘用了一个从未做过Kubernetes的团队 , 引进了一些人并对其进行了培训 , 将他们从基地移到了商业大楼中 , 并在45天内构建F-16MVP 。 那大概需要一两年的时间 。 ''


    推荐阅读