云原生与SOAFEE,跟进自动驾驶领域最新研究

本文探讨了云原生技术,特别是如何通过微服务、容器化和DevOps实现应用程序的灵活性和可靠性。SOAFEE作为软件定义汽车的解决方案,旨在满足汽车行业的实时性和功能安全需求,但面临功能安全、实时性以及容器化等挑战。
摘要由CSDN通过智能技术生成

1. 云原生

1.1 什么是云原生

  • 云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论
  • 云原生(CloudNative)是一个组合词
    • Cloud:表示应用程序位于云中,而不是传统的数据中心
    • Native:表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿态运行,充分利用和发挥云平台的弹性+分布式优势

1.2 为什么要使用云原生

在这里插入图片描述

  • 云原生概括为4个要点:DevOps + 持续交付 + 微服务 + 容器
  • 核心思想:将应用程序打包为容器,并通过自动化来实现高度可伸缩和可靠性的现代化方法
  • 优势:
    • 提高灵活性和可维护性
      • 云原生架构采用了容器化技术和微服务架构
      • 微服务是一种新的体系结构风格,将软件系统实现为一个小型服务包,每个服务可部署在不同的平台上,并在自己的流程中运行,同时通过RESTFull API等轻量级机制进行通信使得应用程序模块化,可以独立部署和扩展
    • 提高可靠性和稳定性
      • 云原生技术允许应用程序根据负载变化自动调整资源,实现弹性伸缩,这意味着应用程序可以根据需求增加或减少计算、存储和网络资源,从而保证应用的性能和可靠性
    • 提高开发效率
      • 云原生架构可以帮助开发团队更快地迭代和交付新功能,减少开发周期
      • DevOps从每个项目开始就强调开发人员和运营团队之间的合作,通过使用云原生工具和流程,可以实现自动化的应用程序开发、测试和部署,从而加快软件交付速度,提高应用程序质量和稳定性
    • 提升用户体验
      • 云原生架构可以帮助应用程序实现弹性伸缩和高可靠性,从而提供更好的用户体验
      • 当应用程序能够根据负载进行自动调整和扩展时,用户不再需要面对因为系统负载过重而导致的延迟或故障。云原生的发展将促使应用程序更加注重用户体验,提供更稳定、可靠和高效的服务

1.3 云原生开发流程

  • 云原生开发方法:微服务 + 容器化技术 + 容器编排平台 + DevOps
  • 微服务:
    • 是一种软件架构风格,它将应用程序分解为一组小型、自治的服务单元。这些服务单元被称为微服务,它们可以独立部署、扩展和维护。每个微服务都运行在自己的进程中,并通过轻量级通信机制(如HTTP API)相互通信。
    • 微服务架构强调的是业务能力的分解和独立性,使得不同的服务可以使用不同的技术栈和开发语言。这种架构还提供了高度的灵活性和可维护性,因为它允许团队独立地关注和优化各自服务的性能和功能。
    • 特点:
      • 单一职责。一个微服务解决一个业务问题
      • 面向服务。将自己的业务能力封装并对外提供服务,一个微服务本身也可能使用到其它微服务的能力
      • 微服务目前主流框架:SpringCloud,分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体
  • 容器化:
    • 将软件代码与运行代码所需的操作系统 (OS) 库和依赖项打包在一起,创建一个可在任何基础架构上一致运行的轻量级可执行文件(即容器)。与虚拟机 (VM) 相比,容器具有更高的可移植性和资源效率,现已成为现代云原生应用的实际计算单元。
    • 特点:
      • 轻量级。它们共享机器的操作系统内核,从而消除了在每个应用中关联操作系统的开销
      • 可移植性。一次编写,随处运行。这种可移植性加速了开发进程,同时提供了其他显著优势,如故障隔离、易管理性、简化的安全性等
  • 两者结合:采用容器化的微服务方式,从头构建基于云的新应用,将复杂的应用分解成一系列易于管理的小型专用服务。现有的应用可以重新打包到容器(或容器化的微服务)中,进而更有效地使用计算资源
  • 容器编排:
    • 是一种能够自动管理容器的软件技术,旨在自动执行容器的配置、部署、网络、扩展、可用性以及生命周期管理
    • 工作原理:(如果在迭代敏捷或 DevOps 管道中,则是一个循环)
      • 大多数容器编排工具都支持声明性配置模型:开发人员编写一个配置文件(YAML 或 JSON,具体取决于工具),用于定义期望的配置状态
      • 编排工具安排将容器部署到主机,根据可用的 CPU 容量、内存或者配置文件中指定的其他需求或限制,选择最合适的主机。
      • 部署容器后,编排工具就会根据容器定义文件(通常是 Dockerfile)管理容器化应用的生命周期。
  • DevOps:
    • 是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠
    • 生命周期:
      • DevOps 的根本理念是“持续”,因此可以用无穷环来表示DevOps的生命周期
      • 总体分为六个阶段:
        • 计划
        • 构建
        • 持续集成和部署(或交付)
        • 监控
        • 运维
        • 持续反馈
    • DevOps贯穿了软件全生命周期,而不仅限于开发阶段
      在这里插入图片描述

2. SOAFEE

2.1 汽车领域发展趋势

  • 硬件:随着消费者对汽车的需求越来越多(比如联网功能、高品质人机界面功能、自动辅助驾驶功能,以及电力系统性能提升等),这些复杂的功能和服务已经没有办法由传统分散式ECU及MCU系统架构来完成,因此在硬件方面,集中式计算平台将会是未来的主流
  • 软件:随着实现这些复杂功能的软件越来越复杂,软件开发和维护的成本会变得越来越高。因此,要利用云原生技术去改进软件的开发、构建、管理,提高更新的效率
  • 产业:汽车硬件和软件都在变得越来越复杂。车厂和Tier1需要掌握更多技术才能满足市场的需求。车厂和Tier1在软件开发方面不断投入,甚至去主导 IC 设计。但车厂跟Tier1在硬件或软件方面的投入多有重合,如果有统一的软件定义汽车平台作为开发基础,将会提高投资效率,使产业链中的企业和用户受益

2.2 什么是软件定义汽车

  • Arm汽车和物联网事业部亚太区合作伙伴关系高级总监——邓志伟

    • 如果能由一个统一的软件定义汽车平台作为大家开发的基础,让大家在这个统一的平台上去进行差异化功能和服务的开发,将会使所有产业链中的企业和用户受益。这是汽车产业链的共同需求,也是Arm发布全新的软件架构SOAFEE的主要原因
  • 软件定义汽车(SDV):在软件定义汽车的模式下,汽车的硬件平台将逐渐成为模块化和通用化的,而以人工智能为核心的软件技术将决定整车的功能。这意味着,汽车的软件将深度参与到汽车的定义、开发、验证、销售、服务等过程中,从而改变和优化这些过程

    • 特点:
      • 软件不再是通过软件启动和控制一个特定的功能
      • 必须包含对底层硬件的抽象化,从而实现同样的软件在不同的硬件上都能顺畅运行
      • 还必须要具备不断升级和更新的能力,必须以云端技术作为开发和构建的基础
  • 软件定义汽车的前提条件:
    在这里插入图片描述
    在这里插入图片描述

  • 软件定义汽车的主要问题:从数据中心或从服务器来的云端技术无法直接应用于汽车产业。其中最为关键的就是,汽车对于功能安全(functional safety)以及实时性(real time)的要求无法得到满足。

2.3 什么是SOAFEE

  • SOAFEE:是一套新的软件架构和开源参考实现,既可满足汽车的实时和安全需求,又能充分利用基于云原生开发的优势

  • SOAFEE的目标:定义一个框架,支持车辆应用程序和功能的云原生开发和车辆边缘平台部署。该框架允许集成不同的中间件和应用软件栈,并专注于在汽车用例中构建面向服务的架构的基本元素

  • SOAFEE的特点:最大的特点是在container技术中加上混合关键编排器(Mixed Criticality Orchestrator),让整个云端的云原生技术的元素能够加上功能安全、以及实时性的特性。

  • 此外,SOAFEE还可以减少开发周期
    在这里插入图片描述

2.4 SOAFEE面临的开放性问题

  • 当前 SOAFEE 框架存在功能安全和实时问题。操作系统的实现几乎全部基于 Linux 这一非实时系统,因此在极端情况下,系统安全关键任务的实时性难以得到保障
  • 当前 SOAFEE 框架不支持细粒度的容器化。ISO 26262 等工业标准要求自动驾驶汽车必须在微架构级别上提供延迟和隔离保证,这要求 SOAFEE 必须能够做到中间件微服务级别的容器化。然而,现在的 SOAFEE 实现至多支持完整中间件的容器化
  • 当前 SOAFEE 框架中,云原生的仿真程度未经验证。在云原生的开发方式中,为保障软件部署后的安全运行,必须要求云端和边缘端的全方位对等。这种对等既包括操作上的指令集对等,又包括硬件资源的计算能力对等。目前 SOAFEE 主要使用亚马逊的 AWS 云计算平台进行云端的模拟,其仿真能力仍需验证。
  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值