「行话」,是极狐 GitLab 近期推出的全新内容系列,探讨 Git 与 DevOps 在不同行业的实践场景与解决方案,希望能够为不同行业的软件开发者带来一些全新的思考和输入。
说行业,讲行话。
这一期,我们选择了「汽车行业」,讲「汽车行话」。
以下,enjoy。
从第一辆内燃机汽车出现到今天,已经过去了 100 多年,汽车行业也在 100 多年的发展演变中,逐渐形成了一套传统汽车行业的百年游戏规则。但是随着新技术的变革,汽车行业发生了巨大的变化,游戏规则在被打破,出现了新的玩法。这些破圈的玩家有特斯拉、蔚来、小鹏、理想等造车新势力,也有谷歌、百度、华为等技术赋能者。
不管是造车新势力还是技术赋能者,都在让汽车变得更加电动化(新势力的电动汽车)、智能化(自动驾驶或者辅助驾驶)、网联化(让汽车成为万物互联的一个重要节点已经落地场景)。而实现这一切的背后有一个重要的推动要素:软件。
软件在汽车行业中占比越来越大,根据亿欧智库发布的全球汽车软件与汽车电子 E/E 市场规模预测报告显示,汽车软件(包括功能、OS、中间件)从 2020 年到 2030 年都是一个增长的态势,增速能达到 9%。
数据来源:麦肯锡,亿欧智库
同样是亿欧智库发布的中国汽车软件市场规模预测及汽车软件占整车比例的报告显示,2020 年中国汽车软件的规模大概是 1.98 万亿人民币,但是到了 2030 年,整体规模会扩大接近一倍,约 3.44 万亿。同时汽车软件成本占整体的成本比例在持续上升,从 1970 年的 3% 到 2020 年的 40%+,而这一数据将在 2030 年达到惊人的 65%,也就是说整车的成本中,软件成本将占很大比例。
数据来源:亿欧智库
正因如此,各大汽车厂商都在汽车软件领域进行了大量的投入。造车新势力自不必说,都有自己的软件研发团队,甚至独立的公司。而传统车企也在积极进行转型,为了及早走上软件定义汽车的正确赛道,先后通过自己组建软件研发部门或者通过和其他公司合作来补强自己的软件研发能力,诸如 2016 年,吉利汽车成立了亿咖通科技,主要聚焦在汽车的智能化软件研发,比如智能座舱、智能驾驶、车联网等;2019 年大众汽车集团 CEO 提出了一个观点:“汽车将成为一个软件产品。为了实现这一点,大众汽车组建了专门的数字汽车部门,用来加强自身的软件能力;2020 年上汽成立了零束软件分公司,进行汽车软件的研发;长安、北汽等与华为进行合作等。”
汽车企业的数字化转型是所有车企找到企业发展“第二曲线”的重要方式,软件定义汽车是实现这一点的关键。软件定义汽车,为消费者带去全新的出行体验,同时找到新的商业变现模式,让企业能够持续竞争力。
滑至文末查看极狐 GitLab DevSecOps 安全解决方案!
汽车软件的研发经历了从 MBSE 到直接编程的演进。模块化编程 MBSE 在传统汽车的电子电器和软件功能的开发上,有比较大的优势,在 Autosar(CP)领域提供模块化编程工具的几家大公司,对自己开发的模块经过了长时间的测试和验证,可以认为其已经达到了高等级的功能安全需求,再加上使用模块可以最大程度保证代码的一致性,因此模块化的编程方式,在汽车行业一直比较受欢迎。
但随着汽车上的软件功能越来越复杂,特别是智能座舱软件功能的丰富,不可能无限增加 ECU 的数量,导致了 Autosar 架构不再能满足这些对于算力有着高要求、但对时延和安全性可以稍微放宽的状况。Adaptive autosar(AP)的出现即是为了解决这个问题。
但 AP 的出现也不过 5 年时间,标准及模块也远不如 CP 成熟(特斯拉的电子电器及软件架构并没有采用 Adaptive autosar 架构)。这也就意味着,如果要开发新一代的智能汽车,无论是否采用 AP 架构,都没有太多现成的成熟模块可用,而需要自己来做源代码的开发。目前汽车行业在不断向互联网行业学习,逐渐开始采用直接编程的模式。
汽车软件的构建和交付对于车企或者车企软件研发人员都充满着挑战。从 MBSE 到直接编程,车企从一个软件 “集成商” 转变为 “开发商” ,车企软件研发人员从一个 “组装测试者” 变成了 “开发主导者” 。这些挑战对于传统车企尤甚,即使是造车新势力没有这些“历史发展包袱”,在发展初期就建立自己专业的研发部门,招募更专业的研发人员,但是企业行业的特殊性(系统复杂、需要满足相关汽车行业标准等)还是让企业软件的构建和交付因为如下的问题导致构建交付慢、安全质量难保证。
企业行业有一些标准需要遵循,诸如 ASPICE,相应的软件必须在满足 ASPICE 标准的前提下才可以交付。ASPICE 对文档的要求很高,早期的 ASPICE 时间是通过线下文档来完成需求跟踪表、系统需求分析、系统架构设计、各类测试报告的维护管理,但是由于文档繁多,难以管理、频繁修改容易导致前后不一致、多人协同难等问题,文档从线下到了线上。线上文档让团队协同变得容易,但是却并不能够对于文档中的任务进行有效的追踪管理,只能通过再次创建新文档来完成,导致文档数量像滚雪球一样越来越大。
汽车软件的交付需要跨团队的协作,对于一些传统车企来讲,跨团队协作可能会因为“部门墙”而导致协作难、沟通慢,难以用自动化的手段来完成软件的构建与交付。
汽车软件会用多种工具来完成需求跟踪管理、软件研发、部署上线、监控运维等整个软件研发流程。每个阶段都会有一种或者多种工具来完成对应的工作。这种多工具链会带来以下问题:
每一个工具都需要安装、运维、安全升级等,这是不可忽略的工作量,如果是企业级的工具还需要额外付费购买,无形之中增加了运营成本。
每一个工具都有自己的对应的权限认证和管理系统,难以将所有工具的权限管理和认证统一起来,并且接入企业内部的安全体系。此外,如果使用了开源的工具,需要时刻跟踪项目的发展动态,在出现安全问题的时候需要及时进行补丁修复。
每一个工具都会有单独的数据产生,不同的数据结构、展示方式,难以将所有工具的数据都打通,进行有效整合,并将研发流程集成起来,让数据流动起来,为软件交付加速。
安全是汽车的生命线,更是汽车软件的基线。高质量、安全的汽车软件能够保证智能汽车在互联的场景下保证人、车、数据的安全。汽车软件的安全有多种安全防护手段,需要覆盖软件开发的整个生命周期,同时要做到安全问题的可追踪、及时修复。整体的安全防护设计到多种安全工具、繁杂的安全漏洞报告以及与研发流程的集成。这些安全问题都让很多企业望而却步,只用一些简单、单一的安全防护手段(比如只做静态扫描)来保障应用安全,更有甚者会直接“忽略”安全。
滑至文末查看极狐 GitLab DevSecOps 安全解决方案!
为了解决汽车软件的快速构建和高效交付,汽车行业引入了已经在互联网行业经过验证的软件交付方法:DevOps。DevOps 在 2009 年出现,其试图通过打破开发与运维之间的壁垒,让这两个团队通过通力协作来加速软件的研发,经过十余年的发展,DevOps 已经取得了长足的发展,越来越多的企业在拥抱、实践 DevOps。时至今日,DevOps 已经不仅仅是开发与运维之间的协作了,而应该是与软件开发相关的所有团队(需求、开发、运维、测试、安全等)之间的协作,通过协作来加速软件的交付,同时又不缺乏安全性。
在 DevOps 发展了十余年之后,DevOps 已经来到了平台化时代。正如 GitLab CEO sid 所说 “ DevOps 在经历了仓筒、自建以及碎片化时代后,来到了平台化时代” 和(中文版可以查看未来已来!DevOps 平台化时代,重新定义软件交付 )。同时,Gartner 也预测,到 2023 年将有 40% 的组织会从多点解决方案转向一体化 DevOps 平台,而在过去的 2020 年,这一比例仅仅为 10%。
一体化 DevOps 平台能够为用户屏蔽掉多种工具链的实现细节,以便让用户可以将更多的时间和精力聚焦在业务改进和优化上,而不是工具链的安全维护上。一体化 DevOps 平台还能够在不同阶段平滑的融入各种(静态代码扫描,动态应用程序安全测试等)安全功能,将安全能力和研发流程结合起来,让安全问题早发现,早解决,最后在交付出安全有保证的软件。
目前市面上最受欢迎的 DevOps 平台是 GitLab,它是全球第二大源代码托管平台,也是全球第一大的开源 DevOps 平台,在国内也有很多用户。根据信通院发布的《中国 DevOps 现状调查报告(2021 年)》显示,GitLab 在源代码管理、持续集成与持续交付、安全中的使用占比都名列前茅。
2021 年 3 月,极狐(GitLab)公司以 “中外合资 3.0” 模式在国内成立,拥有 GitLab 在国内独家且永久的技术授权及相关知识产权授权,独立提供极狐 GitLab 一体化 DevOps 平台发行版;作为一家独立运营的中国公司,极狐公司拥有本地自主研发权。
极狐 GitLab 一体化 DevOps 平台提供覆盖软件开发全生命周期的 DevOps 能力,可以有效解决汽车软件构建交付慢的问题。
极狐 GitLab 项目管理和版本控制功能,能够应对汽车软件文档管理难的问题。通过项目管理的 issue 功能记录文档修改的需求和背景,借助版本控制功能对于文档的修改历史进行记录,整体做到对于文档的任何变更都能做到有迹可查、有史可寻。
CI/CD 可以打破“部门墙”,用自动化的方式将软件构建与交付流程串起来,进而促进不同团队的协作。极狐 GitLab 开箱即用的 CI/CD 能力,能够快速完成源码的检查、构建、测试以及部署。免去手动执行的过程,节省大量时间,避免人工误操作带来的不良后果。同时 CI/CD 和研发流程能够形成闭环,任何一次代码变更都会触发对应的 CI/CD 流程,执行过程会在 MR 中进行展示,便于代码审核人员对于开发者提交的代码进行审核。如果执行过程有问题则会立即终止后续流程的执行,并将结果反馈给代码提交人员进行修复,能够避免有问题的代码合入主干分支而阻塞版本的正常发布。
极狐 GitLab 的 DevSecOps 功能也是开箱即用的,提供多种安全防护手段:软件组件分析(SCA)、静态应用程序安全测试(SAST)、敏感信息检测(Secret Detection)、容器镜像扫描(Image scnning)、动态应用程序安全测试(DAST)、安全合规(License 合规)以及模糊测试(Fuzzing testing)。从静态到动态的安全能力能够完成应用程序从源码到上线的安全防护。多种安全报告有效整合之后的统一展示提高了安全的透明性。
与 CI/CD 的结合能够完成安全的持续自动化,并且将安全结果反馈到研发流程中,方便代码提交者与代码审核者对安全漏洞进行追踪与修复
最终构建起完整的安全、快速的软件交付流程。
极狐 GitLab 一体化 DevOps 平台支持私有化部署和 SaaS 服务(JiHuLab.com)。目前,国内知名的智能汽车企业,及自动驾驶科技企业在成立之初,就选择了极狐 GitLab DevOps 产品技术来构建 DevOps 平台,包括蔚来汽车、理想汽车、Momenta、中智行、云骥智行、AutoX、轻舟智航等。通过服务这些汽车赛道中的客户,极狐 GitLab 积累了丰富的行业经验,并逐渐从产品技术提供者向行业解决方案提供者转变。
极狐 GitLab DevSecOps 安全解决方案传送门:https://gitlab.cn/demo