5 月 27 日至 28 日,2023 全球开源技术峰会(Global Open-source Technology Conference,GOTC)在上海张江科学会堂隆重举行。华为携多个议题亮相峰会,在众多业界精英和技术爱好者面前展示其在人工智能、AI 编程、eBPF、Rust、开源安全、大前端、云原生、汽车等领域的最新成果和研究进展。
峰会主论坛之上,华为首席开源联络官 、CNCF 基金会董事 、开源安全委员会副主席任旭东提出观点:大型科技企业成为开源的主力军,开源的马太效应正在进一步增强。如何驾驭开源,将会是未来开发者、公司之间最大的差别的主要因素。
在华为,开源是战略和业务驱动的结果。一方面,华为持续开源创新,践行可持续开源,推动开源生态繁荣,另一方面,华为开源使能产业升级,推动智能世界加速到来。
华为的开源实践,已有十多年的时间,是最早把 Linux 基金会带到国内的企业之一。之后,华为又陆续加入了Apache 软件基金会、Eclipse 基金会等25家国际主流开源基金会。可以说,华为是最早的积极融入国际化社区的一家企业。华为在2008年已成立开源能力中心,逐步建立了开源可信社区体系,鼓励公司开发者为上游社区积极贡献代码。在公司内部,为了更好地扩大代码共享和分享机制,华为持续开展内部开源能力的建设。近几年,华为基于在 ICT 行业几十年的积累,聚焦基础软件开源,并加大对上游社区的回馈和建设。
本次峰会之上,多位来自华为的技术专家,开源项目、社区负责人介绍了华为在具体开源项目上所做的努力与成果。
云原生未来
华为云云原生团队开源技术专家、Google Open Source Peer Bonus 获得者徐中虎畅谈了 Istio 新模式 Ambient Mesh 的相关特性与未来发展。
Istio 新模式 Ambient Mesh 是与 Sidecar 完全不同的新模式。自 2017 年 istio 开源以来,Sidecar 一直被视为零入侵代理的革命性创新。然而,五年过去了,用户发现有许多副作用很难通过 Sidecar 解决。除了 Sidecar 之外,Istio 社区前不久宣布了另一种数据平面模式 Ambient Mesh,它旨在简化操作、更广泛的应用程序兼容性和降低基础架构成本。
徐中虎将对 Ambient 模式进行了整体介绍,并与 Sidecar 模式进行比较,事实上二者在安全方面几乎一样安全。徐中虎表示,Ambient 现在还存在一些问题,Ambient 2023 年年底 GA,届时会重点补齐标准 Istio API 的功能 GAP。而采用 Ambient Mesh 的时间或许在更远的 2024 年。
华为云高级软件工程师、Volcano 社区 member 汪洋介绍了一种基于 Volcano 的轻量级编排引擎 JobFlow。工作流编排引擎广泛应用于高性能计算、AI、生物医药、图片处理、美颜、游戏 AGI、科学计算等场景,帮助用户简洁化管理多个任务的并行与依赖关系,大幅度提升整体计算效率。
现下,云原生批量计算面临着作业管理、领域框架支持、调度和性能等方面的挑战,Volcano 虽然提供了优秀的基于作业的任务编排功能,但缺乏作业编排能力。
JobFlow 恰恰是一种轻量化的任务流编排引擎,专注于云原生批量计算平台 Volcano 的作业编排,为 Volcano 提供多样化作业依赖类型。目前,JobFlow 已经可以应用在多个场景中,如 AI 模型训练推理一体化、多任务的复杂依赖场景等等。
华为云高级工程师,KubeEdge 社区 Member 赵然博士介绍了一款云原生边缘智能设备管理框架:KubeEdge DMI。来自上海道客网络科技有限公司研发工程师、KubeEdge 社区 Member 刘琛林与赵然共同完成此次分享。
KubeEdge 是基于 Kubernetes 构建的云原生边缘计算开源平台,已成为 CNCF 的孵化项目。KubeEdge 支持复杂边云网络环境下的云边应用协同,并提供边缘设备管理框架 (DMI),以云原生数字孪生模型的形式支持多种协议的边缘设备管理。
在 DMI 框架设计下,设备不再是单纯的数据源,而是被抽象为微服务,以云原生的方式为设备数据消费者提供数据服务。DMI 框架下的设备数据访问支持多种场景,非常灵活。DMI 框架可以为基于 KubeEdge 的边缘智能设备云原生化管理提供有力支持。
华为云高级软件工程师,Sermant 社区 Committer 李来分享了云原生微服务治理技术朝无代理架构的演进之路,以及华为的相关实践。李来认为,云原生的归纳,业界从来没有停止过演进。但是总体来讲,微服务和容器化基本上是两个永恒不变的话题。
李来重点讲述了微服务架构的演进,对各个架构的局限性和优势进行剖析,并引出当前以及未来演进的云原生无代理微服务架构形态和代表性开源项目 Sermant。Sermant 是基于 JavaAgent 无代理的服务网格技术。其利用 JavaAgent 为宿主应用程序提供增强的服务治理功能,以解决大规模微服务体系结构中的服务治理问题。
Sermant 的愿景还包括构建插件开发生态系统,以帮助开发人员更容易地开发服务治理功能,同时不干扰业务代码。
openGemini 社区运营总监向宇分享了 openGemini 高性能背后的核心技术设计。随着物联网技术在各行业快速发展,大数据存储和分析正逐渐成为各行业的新业态,传统数据库已无法满足业务对海量遥测数据存储和分析的性能要求,一种具备高并发、高吞吐、低成本和低时延的时序数据库正受到越来越多企业的关注。openGemini 是一款开源的国产时序数据库,它具备卓越的性能。
openGemini 兼容 InfluxDB、Prometheus 生态 API,具有高性能、高扩展、存储-分析一体化、运维成本低、高数据压缩率等 5 大优势。可应用在运维监控方面,实时监控,洞察所有系统运行状态。在物联网方面,openGemini 具有高性能、分布式、部署灵活等特性,支持亿级时间线管理和纳秒级时间精度,可满足工业物联网领域中海量数据存储、高吞吐量数据读写的需求。
大模型方案与应用
华为资深开源工程师何芦微带来了昇思大模型的实践分享。
人工智能发展到今天,已经从”大炼模型“逐步迈向”炼大模型“。相比传统针对特定应用场景需求进行训练的模型,大模型泛化能力强,不再局限于单一特定场景,也因此它需要更大更广数据量的”投喂“,需要更强的算力训练,这些都需要巨量的成本,绝大部分开发者基本无法承担,如何降低大模型的训练和应用门槛成了新的难题。
而昇思 MindSpore 社区打造的一站式大模型平台,带来一站式的易用体验。何芦微介绍,昇思上承应用下接芯片,承担了人工智能操作系统的关键角色。它集模型选型、在线推理、在线训练为一体,支持大模型的在线体验及微调,让开发者零距离接触紫东·太初以文生文,悟空画画以文生图,Luojia 遥感检测等大模型应用。同时,昇思大模型平台还坚持打造大模型开源生态,使能垂直行业,赋能百万开发者。
华为云 Dev AI Lab Leader、智能化研发算法技术专家马宇驰博士详细介绍了华为代码大模型的方案与应用。OpenAI 的报告显示,未来 47-56% 的工作内容将受 LLM 冲击,其中编程受冲击最大。而随着大模型技术和 Copilot 的逐步普及,AI 平台能力将会越来越强。
华为云 CodeArts Snap 智能编程助手沉淀了华为自主研发的代码大模型和软件分析技术,赋能开发者高效、可信开发,支持主流编程语言和 IDE 生态。CodeArts Snap 可实现 FastAPI 调用实现 MongoDB 数据库查询,数据读取与流水线构建,脚本运行上传 OBS。
未来,马宇驰认为新时代软件研发由三个关键角色即可组成未来完整的软件研发全栈团队:产品专家、架构专家、OA 专家,大量软件研发工作将协同 AI 完成,极速开发迭代,智能高效测试,无人化运维管理。
大前端新趋势
华为终端软件部应用开发框架首席架构师、华为 Web 技术 C-TMG 主任余枝强分享了关于万物智联下的应用框架 ArkUI 的思考和探索。
应用框架是操作系统连接开发者生态,实现用户体验的关键基础设施。其中,开发效率和运行体验是永恒的诉求,业界也在持续不断的发展和演进。余枝强重点围绕移动应用框架,梳理其关键发展脉络,并分析其背后的技术演进思路以及目前的局限;同时,进一步结合万物智联的新场景和新生态,围绕相应的应用框架的设计和演进。
ArkUI 是鸿蒙生态的原生开发框架。ArkUI 设计是在 TS 的基础上演进出可对标原声体验的声明式开发框架,而 ArkUI 生态可分层对接架构、具备跨 OS 平台能力。
华为公共开发部 CTO 办公室前端架构师陈超涛介绍了一款 DOM 级别精准更新的类 React 前端框架 Horizon。使用传统 Hooks 容易出现过期闭包,导致 useEffect 使用到的数据不是最新数据等痛点,因此需要响应式框架来解决问题。Horizon 沿用了虚拟 DOM,提供与 React 一致的 API 特性,做到无缝兼容相关生态。 同时也提供了另外一套细粒度的响应式 API,基于不同的渲染方式,使页面能够获得更好的性能表现。
此外,在配套设施上, Horizon 配备应用开发最常用 4 款组件,浏览器调试工具,以及编译器优化插件。陈超涛还介绍了 Horizon 的寓意,Horizon 为地平线,寓意我国的软件像太阳一样从地平线冉冉升起!
华为 Web 前端开发专家莫春辉带来企业级前端开源组件库 OpenTiny 的相关分享。OpenTiny是一套跨端跨框架的企业级组件库解决方案,提供华为沉淀多年的前端应用开发基础设施;不仅提供 Vue 组件库,还提供 Angular 组件库、主题配置系统、脚手架 CLI 工具等;OpenTiny 还与华为工业软件云产品部门合作,挖掘生态伙伴,打造企业用户案例,开展社区运营。
莫春辉还重点介绍了 OpenTiny 的 Vue 版本组件库 TinyVue,TinyVue 具备三大核心竞争力:第一个是配置式,既支持传统组件库的声明标签式用法,也支持属性配置式用法。第二个是提供 150 多个组件的功能特性,覆盖了华为内部 IT 超过 90% 领域的应用场景,目前有超过 3000 个华为内部用户。另外具备跨端跨主题的能力,支持一套代码同时适配 PC 端和移动端,并且实现业界首创一个组件库同时支持 Vue2 和 Vue3 版本。
开源生态与产业
华为 开源管理中心工程师、LF CHAOSS Board 王晔晖带来了 OSS-Compass 模型解读与新功能发布的相关分享。
王晔晖介绍,OSS-Compass 的愿景和使命是通过构建可持续演进的开源生态评估体系和通用平台;为围绕开源生态可持续发展制定的各种决策,提供深入、持续和可靠的数据洞察,形成共识。王晔晖带来了一些新功能,包括评估模型、洞察报告订阅系统、开发者里程模型和 Compass lab 等。
报告订阅系统可方便用户及时获取管理或关心社区的评估报告;开发者里程模型则帮助用户了解开源社区中不同环节的体验和晋升渠道是否通畅,以及软件版本迭代和运营活动对开发者的影响;最后,Compass Lab 能够帮助社区决策者定制适用于其社区的评估看板,更好地了解社区健康状况。
华为开源安全咨询独立顾问王智共同带来“防微杜渐,构筑企业开源安全防御体系”专题演讲。
全球化 4.0 时代,开源蓬勃发展,也成为企业技术创新的有效手段。但开源软件供应链收到广泛的安全威胁。华为在拥抱开源基础上,也积极投入资源进行开源安全工具及治理。华为针对软件供应链安全的分析和实践,包括基于 SBOM 的实践,如 CI/CD 构建自动生成,合规和漏洞分析等,以及其他安全防护措施。
王智还分享了 5 个具体的开源安全工具链关键技术,包括实现“重复可构建”,供应链安全得到极大保障;实现“恶意软件扫描”,有效遏制恶意攻击场景;“SBOM服务”从源代码溯源保障安全;漏洞排查与感知服务,提升软件安全防护水平;数字签名,提供软件制品一致性安全保障。未来,华为将打造可信开源安全体系,构建开源安全产业生态。
除却开源社区生态评估与开源安全建设外,开源技术在各产业中的落地实践也尤为重要。
华为云云原生开源负责人王泽锋分享了 KubeEdge 车云协同平台创新实践。
随着智能化与网联化的迅速发展,汽车应用与云端的联系日趋紧密,借助云原生技术,电子架构可从单车架构快速发展为车云协同架构。KubeEdge 即 Kube+Edge,顾名思义就是依托 K8s 的容器编排能力和调度能力,实现云边协同、计算下沉、海量设备的平滑接入。
KubeEdge 通过云原生与汽车应用的结合,实现车云协同平台的创新架构,构建满足汽车行业需求的云原生技术生态。
华为智能车基础软件技术专家丁天虹分享了基于 Linux 的汽车系统的安全。
Linux 在车载系统中被广泛使用,特别是在电动汽车中,可以很好地处理信息娱乐系统,例如智能座舱的 IVI,然而信息娱乐系统只是整个汽车软件系统的一部分,车载研发工程师会质疑 Linux 在关键系统(例如数字仪表盘、ADAS 和自动驾驶)上的功能安全表现,考虑到 Linux 拥有丰富的 AI、图形和中间件生态系统,许多公司(包括华为)正在尝试找到一种新的使用方式,使 Linux 能够同时满足安全和生态系统要求。
丁天虹还提出了一些 Linux 安全解决方案建设建议,比如一个简单的规则——不进行重大的更改就不可能使 Linux 合格;需要更多思考的问题——操作系统内核并不是人工智能辅助驾驶软件的首要任务;以及改变维度应该遵从安全是一个系统属性的原则……
eBPF 与 Rust 技术实践
华为高级软件工程师郑振宇分享了eBPF 与私密计算的生态结合及落地实践。郑振宇介绍,云原生时代,将业务运行在云平台上意味着要信任各类供应商,这带来了新的安全挑战。而机密计算正是由机密计算联盟 (CCC) 定义的一个行业术语:通过在基于硬件的受信任执行环境 (TEE) 中执行计算来保护使用中的数据。eBPF 作为一种跨平台技术,可以运行沙盒程序来扩展特权系统组件”,如在 TEE 环境中,代码是特权系统组件;在设计时场景中,设计一个扩展程序,将其部署到现有的保密虚拟机/容器/进程/库中;在运行时场景中,可根据管理员输入即时创建一个扩展程序,以在现有的保密虚拟机/容器/进程/库中运行。
二者结合,便可有效提升安全性。郑振宇以 openEuler 为例,openEuler 作为一个高性能、高安全、易运维数字基础设施开源操作系统,提供了机密计算框架 secGear,实现软硬件协同,提升安全优势。此外,结合 eBPF 技术,openEuler 也在将内核能力、硬件加速能力服务化、集市化,惠及更多的社区用户。
华为 Rust 开源技术专家李原分享了 Rust 并行编译的挑战与突破。编译效率缓慢问题是 Rust 语言逐渐走向规模开发的道路中,必须面临的挑战。如今 Rust 的单线程编译效率优化已面临瓶颈,并行编译则成为了突破瓶颈的关键技术。但并行编译技术也面临着挑战,包括消减共享数据结构效率损失、并行环境内存分配器的设计、缓存系统访问热点效率瓶颈。当然,面对这些问题,业内也已经有了一些应对方案,如使用多线程内存分配器、线程分而治之来应对并行环境内存分配器方面的问题。
未来,李原认为,Rust 并行编译的未来会从四个方面展开,包括抹平共享数据结构造成的性能差距,多线程环境下的编译器度量方案,针对并行环境的编译器测试,深化编译器并行化。
经过在开源领域多年的积累与实践,华为逐渐形成了自己的开源理念和价值主张,其核心是:深耕基础软件、持续开源创新、积极开源回馈、践行可持续开源、使能产业升级、共培开源文化。
未来,华为也将持续深耕开源领域。通过持续贡献,携手伙伴,共建世界级开源社区,加速软件创新和共享生态繁荣。