2020年3月5日 DevOps

嵌入式开发解决方案:敏捷开发的工具

由米歇尔Genard

mgenard-2

敏捷方法是成为一个要求在嵌入式系统开发中。期望组织支持快速开发和发布周期。虽然这听起来很简单,但许多团队都遇到了人员和组织方面的挑战他们必须克服这些困难,才能推行这些战略。探索Wind River组合如何实现DevOps和嵌入式系统开发的持续集成/持续开发(CI/CD)实践。

了解如何在组织中实现嵌入式DevOps。
免费电子书:在嵌入式系统中实现DevOps愿景

立即下载

嵌入式开发解决方案

调整企业文化

敏捷实现需要管理流程和公司文化的转变。使用传统开发方法的组织将需要确保所有团队都参与进来,以确保有效的过渡,这可能需要一些额外的支持。

风河专业服务

Wind River在嵌入式系统领域拥有比其他任何组织都多的敏捷开发经验。我们率先开发了我们自己的产品。我们的专业服务团队可以帮助您的组织通过最佳实践实现DevSecOps的飞跃,从而最有效地使用我们的尖端开发工具。

确保安全

确保跨快速应用程序开发周期的安全性是一个挑战。快速迭代打开更大的攻击表面区域;因此,组织必须找到内置了安全性的敏捷开发工具。

风河专业服务

风河专业服务把安全放在第一位。我们将广泛的安全专业知识与业界领先的软件和解决方案相结合,提供一种创新的方法。我们首先进行全面的安全评估,以确定如何在整个开发过程中确保安全性。

我们的专业服务团队通过评估来确定如何帮助您:

设计:在编写任何代码之前,确定并识别潜在的问题。

实现:在测试前检查和优化软件配置和设置。

测试:在编写代码之后,但在它部署到现场之前,提出改进建议。

部署后:确定设备部署后不需要改变平台的持续改进机会。一些安全增强可以通过组织措施和相应的控制来完成。

风河专业服务团队在加强嵌入式设备的安全性方面拥有数十年的经验,以保护它们免受网络安全威胁。

现代化的工具集

CI/CD仍然在嵌入式系统世界中得到实现,许多组织仍然依赖于传统的瀑布方法。为了驱动这个转换,所有的Wind River产品都支持实现敏捷方法所需的工作流程。

我们现在在自己的版本中使用DevOps和CI/CD

Wind River产品现在启用了完整的DevOps-CI/CD工作流程。为了使我们的客户获得成功,我们从我们自己的开发-测试-发布过程开始。(我们当然认为使用我们为他人倡导的流程是正确的。)今天,产品如风河系统公司Linux,VxWorks,螺旋平台都是使用我们自己的DevOps环境生成的。我们已经了解了很多关于这些方法在嵌入式系统上下文中的独特需求。我们对这个过程的深入了解导致了一个有效的DevOps-CI/CD堆栈,如下图所示。

Wind River产品如何在嵌入式系统中实现DevOps和CI/CD

如上图所示,形成DevOps和CI/CD环境的过程使得风河产品提供了工作流所需的DevOps和CI/CD功能。此外,Wind River投资组合支持许多针对每个功能的行业标准工具。

风河Linux和VxWorks

风河商业支持的Linux操作系统和附带的开发测试工具集使快速嵌入式开发从原型到生产。VxWorks该系统被认为是业界领先的实时操作系统(RTOS),提供了类似的功能。它们都支持DevOps工作流开发阶段的标准功能。这包括源代码创建、代码分析、构建和单元测试,以及存储库管理。如果我们的客户有他们自己喜欢的工具,Linux和VxWorks支持诸如Jive, Git和Jenkins这样的工具,允许额外的功能。

风河系统公司Linux还支持CI/CD流水线工具,如OSTree,这是一种针对基于linux的操作系统的升级系统,有助于部署的功能更新。它执行执行CI/CD所需的那种完整文件系统树的原子升级,例如,在汽车移动时更换轮胎。

在运行时,风河Linux和VxWorks都具有使它们成为嵌入式领域DevOps和CI/CD的理想选择的品质。这包括使用容器技术,通过嵌入式系统DevOps实现快速应用程序和微服务开发和部署的能力。

风河商业支持的Linux和VxWorks RTOS包括了工程师们需要的快速嵌入式开发工具。

从操作系统中抽象应用程序代码

将应用程序代码从底层操作系统和硬件堆栈中抽象出来是使DevOps-CI/CD工作的一个基本因素。在DevOps-CI/CD中,经常会对应用程序代码进行更改。如果新构建存在问题,可以迅速将其从生产中轮换出来并进行修复。操作系统层就不那么宽容了,尤其是在实际的生产环境中发生更改时。由于这个原因,VxWorks支持工业标准的抽象框架。这在嵌入式系统中尤其重要,因为嵌入式系统必须符合严格控制的行业标准。如果没有这种支持,对实时嵌入式系统进行DevOps几乎是不可能的。VxWorks支持包括:

机器人操作系统(ROS2):用于创建机器人应用程序的软件库和工具

自适应汽车开放系统架构(AUTOSAR):汽车实体的全球开发伙伴关系,为汽车电子控制单元(ECUs)创建开放和标准化的软件架构

开放集团的未来机载能力环境(FACETM)技术标准:航空电子设备的开放实时标准,使关键安全的计算操作更加健壮、可互操作、便携和安全

风河螺旋虚拟化平台和风河云平台

使用DevOps-CI/CD工作流的嵌入式系统开发人员可以将他们的代码部署到螺旋平台云平台。Helix平台使边缘设备上的单一计算系统能够运行多个操作系统和混合临界应用程序。这种方法在嵌入式系统制造商中正变得越来越流行,他们希望实现抽象,在不重新安装操作系统的情况下更新硬件上的应用程序。

云平台是一个生产级Kubernetes解决方案。它旨在通过解决与大规模部署和管理分布式边缘网络相关的运营问题,使5G成为可能。Kubernetes的支持使得嵌入式系统DevOps团队能够在单个容器上执行CI/CD。云平台还支持虚拟化以及一系列操作系统,包括Linux、VxWorks等。

Wind River Helix虚拟化平台和云平台为团队提供了一种无需中断应用程序功能就可以部署代码的简单方法。

测试和监控

随着DevOps-CI/CD工作流将代码发布到生产环境中,无论是Helix平台还是云平台,Wind River工具都提供了测试和监控代码的基本功能。Wind River WASP是一个经过验证的用于代码进入生产环境的测试框架。WindShare管理软件交付,而Wind River Panorama管理软件发布程序。此外,Wind River还支持许多此类功能的行业标准工具,包括用于静态分析的Coverity、用于安全漏洞扫描的Nessus和用于健壮性测试的Achilles。

消除硬件障碍

团队需要访问目标硬件,以跟上快速开发的需求。在持续迭代的情况下,这种硬件通常很昂贵,可用性有限,甚至还不存在。团队能够使用先进的模拟工具消除这一障碍。

风河系统公司西米奇

风河系统公司西米奇,一个完整的系统模拟器,解决了这个问题。Simics的高级软件可以复制多种硬件和操作系统的功能。它还可以为一系列外围设备、板子和网络建模。这项技术允许开发人员和QA团队为他们没有或甚至可能不存在的硬件进行编码。例如,模拟电路可以基于被提议的电路或电路板的“胶带”来模拟硬件功能。

Simics使开发人员、QA和运维团队能够对大型互联系统建模。例如,它们可以展示一个软件如何在多种设备、架构和操作系统的组合上运行。一旦您的开发人员在Simics中创建了一个系统模型,您就可以模拟许多不同的操作场景,例如确定性的bug重新创建。

这些功能与内置协作工具相结合,可以极大地加速开发、QA和Ops流程。开发团队和QA团队不需要花时间建立物理开发实验室,而运维团队可以提前了解硬件部署的工作方式。结果是更容易支持的高质量代码——因为它已经在许多不同的潜在配置中测试过了。

Wind River Simics允许你模拟任何东西,从芯片上最简单的操作系统到最复杂的互连系统。

使用敏捷开发工具实现CI/CD

Wind River系统工具组合使DevOps和CI/CD在嵌入式系统领域成为可能。Wind River Linux、VxWorks RTOS、Helix平台和云平台为开发人员、QA团队和IT Ops提供了便利DevOps的功能。它们要么提供工作流所需的特性,要么支持行业标准的工具。Simics通过其硬件和复杂的系统模拟,加快了进程,同时使DevOps适用于各种硬件。准备好优化您的嵌入式开发过程了吗?

要了解这些解决方案如何帮助应对与CI/CD相关的挑战,请下载我们的电子书:

在嵌入式系统中实现DevOps愿景

立即下载

以前的TSN和风河实时操作
下一个风河四步程序保护基于linux的系统