核心观点与关键数据
市场对日益复杂系统和更短开发周期的需求,以及嵌入式工程师短缺的问题,推动了嵌入式系统开发团队采用敏捷方法。DevOps 和 CI/CD 实践正在迅速被企业软件开发领域采纳,并逐渐进入嵌入式领域。
DevOps 与传统方法的对比
传统嵌入式开发方法采用“瀑布”模式,开发、测试、安全和运维团队按顺序工作,速度较慢。而敏捷方法通过“Scrum”等方式快速发布,需要将运维和测试团队整合到开发过程中,形成 DevOps 模式。
DevOps 与 CI/CD 的关系
DevOps 的快速发展导致代码集成和分发需要自动化工具,从而催生了持续集成(CI)和持续部署(CD)。CI/CD 工具能够将代码直接放入生产应用,无需停止任何功能。
DevSecOps 的兴起
随着 DevOps 团队的工作量增加,安全问题凸显。为解决这一问题,DevSecOps 工作流应运而生,要求开发者在开发过程中融入安全实践。
DevOps 与 CI/CD 工作流
DevOps 和 CI/CD 的实践需要一系列相互依赖的工具,包括源代码管理、测试、监控、发布工程等。这些工具包括 Git、Jenkins、Elastic、ServiceNow、SonarCubee、PIP、Nexus、Terraform、AWS CodeDeploy 等。
推动嵌入式系统采用 DevOps 的因素
“胡萝卜”因素:采用 DevOps 可以更快地推出更好的产品,实现 DevSecOps,提高团队绩效和士气,提升产品质量。
“大棒”因素:嵌入式系统工程师短缺,尤其是具有安全许可的工程师,DevOps 可以帮助有限的团队生产更多软件。
DevSecOps 的主要障碍
文化:团队之间缺乏协调,需要培训新方法和工具。
安全:加速开发过程会增加攻击面,需要在整个开发过程中确保安全。
工具集:嵌入式系统开发仍以传统“瀑布”模式为主,需要支持 DevOps 和 CI/CD 的工具。
硬件:难以快速提供目标硬件,特别是昂贵或不可用的硬件。
Wind River 产品如何支持 DevOps 和 CI/CD
Wind River Linux 和 VxWorks:支持源代码创建、代码分析、构建和单元测试、代码库管理,并支持 CI/CD 管道工具。
Wind River Helix 虚拟化平台:允许单个计算系统运行多个操作系统和混合关键性应用,支持容器技术。
Wind River Studio 云平台:提供生产级 Kubernetes 解决方案,支持虚拟化和多种操作系统。
Wind River Simics:全系统模拟器,可以模拟各种硬件和操作系统,允许开发者为没有或尚未存在的硬件编码。
研究结论
DevOps 和 CI/CD 正成为嵌入式系统软件开发的趋势。Wind River 的软件和工具组合支持 DevOps 和 CI/CD 工作流,帮助嵌入式系统开发团队更快地推出高质量产品。