软件开发 | GitHub企业云+GitHub Actions+Arm64:汽车软件开发的云端“加速度”

汽车软件开发迁移到云端

我们正处于汽车嵌入式开发向云端迁移的转折点。

在这个软件“吞噬”了世界,且通过人工智能不断重新定义世界的时代,云不仅作为一个平台出现,而且成为软件工程的基础架构。随着人工智能对计算能力的需求不断增加,在边缘端和云端都推动了硅领域的空前变革,对敏捷、可扩展和持续优化的开发环境的需求从未像现在这样迫切。

作为全球开发者的家园,GitHub是构建下一代汽车和嵌入式云端开发环境的平台。

传统的嵌入式开发挑战

改善开发者的体验是GitHub的工作核心。GitHub一直致力于通过降低不必要的复杂性,来使编码尽可能顺畅。对于使用嵌入式系统的开发人员来说,传统的工作流程中存在很多障碍需要消除。从历史上看,软件开发一直非常依赖于硬件,开发人员需要维护与开发设备相连的测试硬件组合或内部测试场。由于很多内容都是专有的,因此没有多少替代方案。

近年来,一系列技术进步对该领域的基础架构产生了重大影响。尽管发生了这些变化,但许多传统方法和操作流程仍在使用中。主要的发展包括:采用更强大的多用途处理器、为底层软件堆栈(如边缘云原生架构的SOAFEE.io)建立开放标准,以及对开源资源的日益依赖,从而促进不同领域的重用。这些创新让开发人员有机会从根本上重新思考其开发方法,从而能够采取更高效、更灵活的策略。

随着这些技术趋势发展和基础变革的速度加快,团队发现,如果不花费大量成本来维护这些内部开发和测试环境,就越来越难以交付应用程序。

嵌入式和汽车开发中的虚拟化

虽然虚拟化已成为企业发展的基石,但其在嵌入式系统中的集成却进行得更为谨慎。嵌入式系统固有的复杂性——涵盖大量处理器、操作系统和专用软件——带来了在数据中心和IT网络等同质环境中不会遇到的独特挑战。嵌入式系统需要一种细致入微的虚拟化方法,而不仅仅是简单地在标准Intel架构上适应Windows和Linux等主流操作系统。

在嵌入式系统不断演变的背景下,2024年3月,Arm公司发布了一项重大发展成果——全新的汽车增强型(AE)处理器。这些前沿处理器旨在提升汽车行业的人工智能能力,并确保指令集架构(ISA)的兼容性。这一进步有望彻底改变应用程序的开发和部署方式,使开发者能够在云端创建软件,并无缝过渡到边缘端(如车辆),而无需进行大规模的重新配置或修改。这一飞跃将加快新应用程序的上市速度,缩小云开发环境与嵌入式系统细微世界之间的差距。

这一转变充分展示了处理器技术和虚拟化的发展如何相互融合,以应对嵌入式开发中的独特挑战,为各行各业打造更加集成和高效的系统铺平道路。开发者将能够在云端编写、构建和测试代码,然后在虚拟化环境中运行他们的应用程序,并使用与处理器目标相匹配的数字孪生系统,即使这些目标尚未交付硅片。

基于云的持续集成平台

持续集成(CI)作为敏捷方法的核心组成部分已有二十多年,可自动执行构建、测试和部署过程。这种自动化加速了反馈循环,能够及时验证软件是否满足预期要求。同时,它还降低了集成风险,并增强缺陷和安全漏洞的早期检测能力。尽管调查表明,许多嵌入式开发团队已经将CI作为一种实践,但管理跨多个硬件配置和部署目标的开发环境既昂贵又复杂。

在云环境中实施CI/CD,可以利用云计算为嵌入式工程团队带来诸多优势,显著提高他们在紧迫的上市时间内交付高质量产品的能力。

  • 增强可扩展性:基于云的CI使团队能够动态分配资源并优化计算支出。团队可以并行执行工作负载,以同时支持多个硬件和软件配置。开发人员还可以跨地域,甚至在供应链中跨越组织边界进行参与。
  • 降低复杂性:基于云的CI标准化可以减少环境设置和拆除时间,并提高一致性。工作流程可轻松实现跨团队共享。
  • 提高质量:当计算资源过于受限或CI环境管理不善时,团队可能会在开发过程中的局部领域进行局部优化。减少这种阻力,从而增加端到端的反馈回路,可以提高质量。

为了在设计和构建阶段提供基于云的嵌入式开发人员环境,并将其输入到运行时虚拟化和模拟目标中,GitHub需要更新基础架构。2023年10月,GitHub 宣布其托管的CI/CD工作流引擎GitHub Actions支持原生Arm64。支持该平台非常重要,因为Arm系列处理器设计对于嵌入式和汽车领域的许多应用至关重要。

这有望使嵌入式开发人员摆脱桌面的束缚。通过将工作转移到云端,开发团队能够将更多时间专注于编码,而不是基础架构管理。GitHub 最近还宣布了GPU托管运行器的公开测试版,这将使构建机器学习模型的团队能够进行完整的应用程序测试,包括GitHub Actions中的 ML(Machine Learning)组件。

结论

云技术、高级虚拟化和尖端处理器创新的融合代表了汽车软件开发的转型。为了进一步推动和支持整个行业的变革,GitHub最近加入了SOAFEE.io,并继续保持在车联网系统联盟 (COVESA)的成员身份,同时支持Microsoft对Eclipse软件定义汽车项目的承诺。

GitHub企业云以及Arm最新的AE处理器预示着一个新时代的到来:开发和测试将超越传统界限,并利用云的巨大资源实现更高效、可扩展和灵活的软件创建。这种向基于云的开发和虚拟化测试环境的模式转变,不仅解决了嵌入式系统设计的复杂性和局限性问题,还大大减少了与物理硬件依赖性相关的开销。通过使开发人员能够无缝地将应用程序从云端过渡到边缘端,而无需进行大量返工,汽车行业的创新和新技术的上市速度将大大加快。

GitHub在其CI/CD平台GitHub Actions上引入原生Arm64支持和GPU托管运行器的公开测试版,进一步强化了这一转变。这些进步确保嵌入式和汽车开发社区能够充分利用云的潜力,推动从本地、硬件受限的开发流程向更加敏捷、以云为中心的方法的转变。

基于此,开发人员可以更加专注于创新,减少对复杂的硬件管理的关注,从而推动汽车行业进入一个软件开发更加集成、动态且能够迅速响应技术和消费者需求的未来。这一转变不仅标志着汽车软件开发方式的飞跃,也反映了各行各业将云技术作为现代软件工程支柱的广泛趋势。

作者:Clay Nelson

了解有关GitHub企业云、GitHub托管运行器的更多信息,欢迎咨询Github中国授权合作伙伴——创实信息