操作系统是核心基础软件,其重要性已是业界共识。但对相关厂商及个人用户来说,当前供应链的潜在风险已不容小觑,业界主流的操作系统软件 centos 停止维护,使得大量用户陷于潜在安全风险中。随着开源的理念逐渐深入人心,中国企业也正从开源的使用者向开源的贡献者、乃至推动者转变。在此背景下,腾讯联合操作系统、云平台、软硬件厂商与开发者,共同倡议发起操作系统开源社区 OpenCloudOS。
OpenCloudOS 自研的技术细节有哪些?针对云原生做了哪些模块?未来规划又有哪些?为了探讨这些问题的答案,CSDN 联合腾讯云、OpenCloudOS 社区开展“OpenCloudOS 社区操作系统英雄汇”第四期直播,对话腾讯操作系统团队总监,研发负责人,OpenCloudOS 社区技术监督委员会委员王佳,畅谈 OpenCloudOS 的技术布局与未来规划。
“为什么成立 OpenCloudOS 社区?”
2021 年 12 月,OpenCloudOS 开源社区成立,腾讯将十余年技术积累悉数投入,成为 OpenCloudOS 的主要发起者和核心技术贡献者。王佳表示,尽管 OpenCloudOS 社区成立的时间不长,但仍然经历了很多困难、面临着诸多挑战。
在社区成立的第一阶段,最大的问题是“为什么要成立这个社区”。腾讯的操作系统团队经过调查研究发现,市场上大部分社区的生态系统缺口较大,仅提供单一的下游产品,而无法提供从上游到下游的完整服务,因此,腾讯决定打造一个中立、开放、安全、稳定、易用和高性能的 linux 服务器操作系统,满足用户对“全链路自主可控”的需求。
在确定基本的目标方向后,第二阶段,腾讯团队开始研发 OpenCloudOS8 版本。王佳告诉我们,其实 OC8 并不在一开始的规划范围内,当时由于 CentOS 即将停服,用户对于开源操作系统的需求量很大,因此团队决定拿出一个应急解决方案——对标CentOS8研发出OC8版本。
第三阶段,到 2023 年 3 月,OpenCloudOS 正式发布首个全自研社区 9.0 版本,OC 9 使用上游社区最新内核 Kernel 6.1,提供多体系架构和新硬件支持,完全从 Upstream 社区构建和维护所有的软件包,不依赖其他厂商和下游社区,并在操作系统发行版的全链路均实现自主可控。
王佳认为,在团队决定开始做这个项目之后,腾讯内部操作系统团队的工作和社区就开始逐渐融合,除去腾讯自身的特定需求必须专业团队完成之外,大部分都已经投入到社区开发中去,开发的环境、编译方向也迅速向社区迁移,这也是 OpenCloudOS 发展至今的重要因素。
L0-L3 全链路自研:OpenCloudOS 的技术细节
OpenCloudOS 定位为全链路自研的服务器操作系统,除上游社区(L0)外,实现了从自主可控源社区(L1)、商业版(L2)、到社区稳定版(L3)的全链路覆盖。
王佳表示,在研发的过程中,L1 其实是最困难的,团队也“踩了很多坑”。通俗来讲,L1 版本是操作系统的上游版本,它需要确保组件包的稳定性和兼容性,因此需要大量持续投入,OpenCloudOS 社区最开始的一两千个软件包就做了几个月的时间。王佳指出,构建一个发行版其实仅限于软件包的处理过程,但商业版本从一开始就要构建一整套环境,关键是有竞争力的版本需要创新,还要考虑可靠的因素,涉及到软件包的选型、构建的方案、工具效率等。
L2 企业版是基于 L1 的加固版本,提供企业级的技术支持及服务,可用于真实业务场景。王佳透露,L2 的验证过程需要足够多的业务场景,其中关键点就在于要有更多的用户使用,寻找其中的漏洞或不足;L3 社区版基于 L2 企业版进一步优化,是代码完全开源、生态全面开放的发行版本,该版本更考虑技术层面的重心,考虑如何满足更多的定制化需求,并提升产品的兼容性。
王佳重点提到,与其他云原生 OS 的最大不同,是投入研发 L1 版本,解决操作系统源头供应问题之后,OpenCloudOS 还希望让更多用户用起来。例如针对更多的中小企业、研究机构和广大开发者,为他们在 CentOS 停服后提供一个更优的选择。今年所推出的 OC9 就是 OpenCloudOS 社区成员联合研发、基于 OpenCloudOS Stream23(独立演进的首个 L1 源社区项目)的首个 L3 全自研版本,更加高效经济、独立开放。只有用户量足够广阔,也许才是一个操作系统的根本价值所在,也是社区和操作系统健康发展的前提。
在分享中王佳感慨道,“尽管在自研路途上困难重重,但整体来讲还是超出了预期,去年 OpenCloudOS 发布 L1 版本时软件包还不到 2000 个,今年发布 L3 版本时就已经翻倍了,希望大家能够一起努力,协同共建,为国产开源操作系统贡献更多的力量。”
从云的全栈覆盖到云的边缘覆盖
近年来,云原生技术的概念持续升温,正发展成为技术行业关注的重点。云原生以它的强大优势引发了一场 IT 基础设施的变革,操作系统也正朝“云原生”演进。
王佳认为,传统的操作系统在最初的设计中主要关注服务器,考虑支持云的物理机、物理服务器等一些硬件环境,而如今的云原生主要考虑管理虚拟资源,应该考虑有不同的定义,不仅是驱动上的问题,管理资源的模式、方法也会有所不同,并且用户对资源的效率、质量、成本的要求都不一样。
为什么叫 OpenCloudOS?其实就已经表达了社区对云原生的价值观。王佳表示,“我们把这些资源效率、能效、相关特性的研发当做很重点的事情,原因就在于我们认为云上需要操作系统的这些核心能力, 操作系统在资源管理者角色上应该发挥它应有的力量。”如果不能给云本身的价值去添彩,去增加云本身的价值,那么云原生就只是形式上的、表面上的东西。
王佳指出,云的形态一直在变化,云呈现给用户的资源、形态也一直在变化,OpenCloudOS 在构建中也会考虑云是否会更集中,尝试将资源池化,更弹性分配、更高效的共享,这样会比原来的环境密度更高,不仅在数据层面,边缘层面也都会发生变化。如今,算力正在向边缘延伸,业界也发展出一些新的计算形态,这也是未来要去覆盖的层面。在开放原子基金会的联合工会上,OpenCloudOS 就已经发布了云原生边缘版本,力争做到“从云的全栈覆盖”到“云的边缘覆盖”。
结语
如今,人们对于开源处于不同的认知阶段,特别是涉及到核心的利益问题,例如红帽停止更新 CentOS 的举动一度被视为“背叛开源”。而 OpenCloudOS 开源社区的最终目的是希望能够解决用户需求,“我们希望更多是去解决用户对自主可控系统的需求,能不能直接用的问题。”
面向未来发展,王佳表示,社区将继续坚持多元化的技术输入、长期主义的技术路线,始终以用户需求为核心,助力国产操作系统在开源共建中壮大成长。CSDN 也将持续关注操作系统领域发展状况及相关热点话题,为大家分享最新的行业洞察与知识干货。