嵌入式软件开发为什么需要DevOps?

DevOps提出至今已逾十年,作为热门概念,DevOps近年来频频出现于各大技术社区和媒体文章中,备受行业大咖追捧。作为新一代持续集成/持续开发(CI/CD)的方法论,DevOps正被快速引入嵌入式软件开发领域中。

为什么嵌入式软件开发对DevOps的接受度越来越高?其根本原因就在于,目前暂时没有比DevOps更能显著降低成本、提升效率的方法了。

谷歌的DevOps研究和评估(DevOps Research and Assessment,DORA)团队于9月29日发布了《2022年DevOps促进状态报告》,从吞吐量(代码变更的准备时间和部署频率的综合)、稳定性(恢复服务的时间和变更失败率的综合)和运营业绩(可靠性)三个维度对受访者进行了聚类分析,结果显示,未使用DevOps的受访者很少能在半年内将软件投入生产,即便成功投产,也有16%-30%的失败率。

失败意味着什么?根据IT软件质量联盟(Consortium for IT Software Quality,CISQ)的调查显示,2020年全美劣质软件成本消耗高达2.1万亿美元,每个失败项目造成了约5000万美元的经济损失。

嵌入式软件开发&DevOps

对于嵌入式软件开发来说,应用DevOps并非易事。与传统软件领域的DevOps不同的是,嵌入式软件开发的DevOps严重依赖硬件,软硬件存在紧耦合的情况。随着嵌入式系统复杂程度的直线飙升,硬件成为了掣肘嵌入式软件开发领域DevOps实施的瓶颈,不仅增加了部署的成本与实践,还有降低开发质量的可能。对硬件进行模拟仿真成为了最佳解决方案。

天目全数字实时仿真软件SkyEye,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模,可模拟复杂嵌入式系统硬件。

嵌入式软件开发为什么需要DevOps?_第1张图片

▲ SkyEye 界面图

基于SkyEye搭建的嵌入式系统虚拟化运行环境,工程师可不受物理硬件限制,随时访问目标系统,快速搭建虚拟硬件模型并提前进行开发、测试和验证工作,实现高效率、高质量的软件交付。

基于SkyEye的DevOps痛点及应对方法

研发周期瓶颈

选择对硬件进行仿真模拟是尽快完成开发、缩短研发周期的有效方法,但工业软件需要选择满足苛刻设计要求的最佳仿真平台。SkyEye可进行硬件行为级仿真,是为工业软件量身定制的仿真平台。

仿真的准确与快速

仿真的准确性与速度似鱼与熊掌,往往不可兼得,对于航空、航天、轨交等安全关键领域而言,准确性通常更为重要。基于DevOps搭建的流水线,仿真程度越是准确,开发团队对代码的信心就越高,软件发布的准备也会更为完备。

如需开发基于特定SoC芯片的嵌入式软件,在无法获得芯片实物的情况下,就可以考虑应用SkyEye。SkyEye支持主流的嵌入式硬件平台,可运行国内外主流的操作系统,对国产生态的支持尤为出色。通过利用基于LLVM的动态二进制翻译技术,SkyEye可使虚拟处理器在典型的桌面计算机上运行速度达到2000MIPS以上。

准确性与速度可通过SkyEye实现兼顾。

无限制的无损测试

基于SkyEye搭建的嵌入式系统虚拟化运行环境,工程师可不受物理硬件限制,在不损坏实验室、不破坏实际设备的情况下对虚拟设备进行反复的压力测试、真空测试等——涉及安全关键的嵌入式硬件往往伴随着高昂的硬件制作成本。

开发团队可应用SkyEye随时访问目标系统,并基于此进行无穷无尽的场景组合测试,从而加快产品测试速度,更大幅降低DevOps应用成本。

与第三方语言或者模型集成

仿真平台如无法与第三方语言或模型集成,DevOps实际的可行性就要大打折扣。SkyEye目前已实现与SystemC集成进行时序仿真,可与MATLAB/Simulink集成进行多领域协同仿真,DevOps实施的便捷性得到了有效保障。

嵌入式软件开发为什么需要DevOps?_第2张图片

▲ SkyEye与MATLAB连接图

对嵌入式软件开发领域而言,使用SkyEye对硬件进行高精度的仿真模拟,能够有效规避应用DevOps时原有硬件问题带来的风险,大大提高开发效率、降低开发成本。

你可能感兴趣的:(仿真平台,DevOps,DevOps)