springcloud大型系统(从OpenCloudOS的演进之路)
来源:InfoQ
作者 | 付秋伟 编辑丨蔡芳芳
自 6 月 22 日在社区开放日上发布首个源社区(L1)项目及首个全量软件包(L3)版本后不久,在 2022 开放原⼦全球开源峰会 OpenCloudOS 分论坛上,OpenCloudOS 开源操作系统社区正式发布首个 Linux 源社区(L1)内核版本 OCKS 2207,适配主流服务器硬件设备。
OpenCloudOS 近期一连串的“组合拳”基本符合其早期公开的技术路线图,在此期间,我们也与多位 OpenCloudOS 社区负责人及核心参与者聊了聊 OpenCloudOS 的前世今生以及社区未来方向的探索,希望能从更多维度去重新思考国产开源操作系统从哪里来、又将往哪里去。
1. OpenCloudOS 的演进之路
从使用免费版的开源系统到购买商业版操作系统再到自研 TenCentOS Server 操作系统最后进化至集社区之力共建 OpenCloudOS 开源操作系统, OpenCloudOS 的演进之路也是腾讯自身操作系统的发展之路。
业务场景迭代催生操作系统自研的需求
腾讯云操作系统产品负责人蒋彪表示:“腾讯从最开始的第一款产品,比如 QQ 运行的时候就需要有自己的服务器,需要在 Linux 的操作系统上运行。这种操作系统的诉求从 2000 年左右就开始有了,整个过程中腾讯也是经历了最开始使用开源的操作系统,到使用商用的操作系统,再到自己去研发操作系统的过程。”
在操作系统层面,腾讯业务需求最旺盛的便是服务器操作系统,腾讯在全面上云之前,各种各样的业务都需要用自己的服务器跑在自己的 IDC 机房,而所有的服务器上面都需要操作系统。因此无论是从成本角度考虑,还是灵活、安全、可控等角度考虑,自研 TencentOS Server 服务器操作系统都是腾讯业务发展之路上的必然选择。
再到腾讯步入云时代之后,所有云上、云下的场景都需要操作系统,这些场景也由 TencentOS Server 服务器操作系统所覆盖,当然 TencentOS Server 也自然而然地开始“云化”。
可以说 TencentOS Server 蕴含了腾讯在操作系统领域超过 10 年的技术积累,并经过了腾讯内部海量业务的多年验证和打磨(在腾讯内部操作系统里占比超 99%,覆盖了腾讯所有的业务);同时,依托腾讯种类繁多的业务生态(社交、游戏、金融支付、AI、安全等),其稳定性、安全性、兼容性和性能等核心能力得以进一步磨炼。
随着 OpenCloudOS 社区的成立,腾讯也将 TencentOS Server 的内核代码贡献进了 OpenCloudOS 项目里。
面向云原生的下一代操作系统
在云原生浪潮席卷的行业大背景下,伴随着各种业务架构的快速迭代,业务的容器化、微服务化、Serverless 化,对底层的基础设施 (包括核心的 OS) 提出了新的挑战和要求,仅仅只是为上云场景做操作系统适配或优化已经无法满足新的业务需求。OpenCloudOS 也随之升级,针对云原生场景和需求,进行了深度的重构设计,全面拥抱云原生。
OpenCloudOS 社区 TOC 主席、腾讯云副总裁郭振宇表示:“OpenCloudOS 的定位是做下一代云原生的操作系统,不单单是传统服务器的操作系统,更多的是面向云时代、覆盖全场景的操作系统,这是我们的目标。”
当然除了腾讯自身的技术底座外,OpenCloudOS 社区还将纳入更多的操作系统领域的生态伙伴进来,共同开发与建设。
OpenCloudOS 社区理事长、腾讯云副总裁谢明在社区开放日上提到:“OpenCloudOS 社区聚集了多元的技术力量,腾讯将基于自身在操作系统技术方面的积累和能力,与合作伙伴一起全力投入 OpenCloudOS 的建设。”
截止目前,已有超过 60 家企业单位、高校及机构加入 OpenCloudOS 社区的共建,腾讯、英特尔、中兴、京东云、宝德、北京红旗、飞腾、浪潮、龙芯中科、OPPO、中科方德、兆芯、大禹智芯、清华大学、北京大学等都是社区重要成员。
2. 已经有其他国产开源社区了,为什么还要再成立一个?
从“参与开源项目”到“成立开源社区”的认知转变
在 TencentOS 开源之初,腾讯并没有考虑社区方案,当时团队的工作重心主要是一些开源项目。那个时间段也正是国内操作系统开源之风兴起之时,颇有你方唱罢我方登场之意,一时间“KPI 开源”等论调甚嚣尘上。
“的确当时行业里有很多关于 ‘KPI 开源’的声音,但我认为很多人将 ‘KPI 开源’跟‘表面开源’混为一谈了。‘KPI 开源’其实可以分为两类,一类是没有实际意义的贡献,比如为项目代码加空格、改注释等没有实际价值的 commits;但另一类并不一定是无价值的——它有良好的 KPI 目标驱动,且目标本身也有意义、有价值。”OpenCloudOS 社区秘书长、腾讯开源联盟主席单致豪表示。
OpenCloudOS 社区 TOC 副主席、中科方德软件有限公司高级副总裁龚文补充称:“对于‘KPI 开源’,我认为不必关注一个、两个具体的点。现在中国 Linux 产业的规模小,现在就是要让尽可能多的人参与进来,百花齐放、百家争鸣,这个池子的水越来越多了,就会有更好的技术和产品出来,所以不用纠结那些,只要开源了,它的趋势就是好的,我们就应该鼓励它。”
随着开源池子里的水越来越多,国家层面、公司战略层面对开源的重视程度越来越高,腾讯操作系统团队开始思考从公司角度出发是否应该承担更多的责任?仅仅是简单参与一些操作系统开源项目是否真的足够?
成立开源社区似乎是一条能够解决这个问题的路。
“全链路自主可控”的市场需求
光有成立社区的想法还不够,如果找不到差异化的优势,连内部都很难认可这一方案。毕竟 OpenCloudOS 社区成立之前,行业里已经出现了国产操作系统开源社区了,再做一个不就是重复造轮子?
蒋彪提到:“最开始提出创建社区这一想法的时候,大家的第一反应就是,为什么有其他社区以后,你还要搞?”
在对市面上已有的社区和产品进行分析之后他们发现,其他社区更专注于技术的协同、能力的分享,而在社区本身的输出上还有一定空白,没有一个社区能够真正给到中小企业安全可靠的操作系统产品。
腾讯操作系统研发负责人王佳提出:“当前中国可能更需要的是一个能够提供非常稳定、可用的操作系统基础设施的开源社区。我们更多考虑的不是头部的公司,而是中小型企业,对他们而言,想要的是有一个即拿即用的、符合标准的、供应可靠的操作系统产品。”
后来经过反复沟通、澄清,比如 OpenCloudOS 社区从 L1 到 L3 全链路自主可控的定位,跟其他社区的定位是不同的等等,最终赢得了团队成员以及生态伙伴的理解与认可。
在谈及“全链路自主可控”的时候,我们还与几位老师聊到了另外一个颇具争议点的话题“国产自研”。近年来随着国际形势剧变,我们在多个关键技术领域被“卡脖子”,“国产”这一话题也成为了强技术领域的核心议题之一,操作系统自然不例外,但是很多网友表示“基于 Linux 内核的操作系统只是换了个皮肤,谈不上国产”。
对此,蒋彪表示:“首先,从技术层面,国内的企业现在完全有能力从头写一个操作系统出来,但是如果没有配套的生态,这个操作系统也就失去了实际的意义;其次,从社区的角度来说,因为 Linux 开源生态里面数千个这样的项目,其实它并不属于任何一个国家,不能从观念上去排斥它,说它就不是国产的;最后从目的层面,国产自研其实主要就是为了实现自主可控,我们做 OpenCloudOS 社区其实就是希望能够从 L1 的级别去做独立的维护,从而能实现 L1 到 L3 的自主可控。而且维护的过程当中也会加入自己越来越多纯自研的项目,进而贡献到相应的 L0 社区里面去,随着时间的积累,实际上整个社区会变得越来越往 L0 的方向走,最终形成一个完全自主可控的东西,这会是一个循序渐进的过程。”
OpenCloudOS 社区 TOC 委员、中兴通讯操作系统业务负责人之一蒋学鑫提出:“国内操作系统研究起步较晚,通过社区开源模式,聚集国内力量共建操作系统生态是一个重要途径。”
几位 OpenCloudOS 社区核心参与成员也表示,万一出现极端情况,我们完全有能力自己把它维护起来,实现国内的内循环,这样我们的目标就达到了。当前阶段,自主可控才是国产操作系统的重中之重,L1-L3 的独立维护便能实现这一点,后面随着行业的发展,从 L1 到 L0 也将是水到渠成的事情。
大规模场景验证的先天优势
除了认知转变和市场需求外,还有原因,或者说是腾讯的自身优势——大规模商用场景。
前面提到中小型企业需要的是稳定可靠、即拿即用的操作系统,要实现上述需求,除了要满足供应链安全以外,还需要大规模商用环境的验证。以前 CentOS 为什么应用这么广?最核心的竞争力是在于它背靠红帽企业版这样一个商业版,给到了它大量的场景验证。
从这个角度来看,腾讯有着先天的优势。腾讯自身有着非常复杂的业务场景,ToB、ToC 几乎所有的业务基本上都有覆盖,能够提供大规模的验证场景。相比之下,常规的操作系统软件厂商在研发出系统后,大都只能通过自己的小范围测试来保证质量,很难有丰富的场景去做相应的验证、创新。
截至目前,OpenCloudOS 社区及衍生版本装机量累计超过 1000 万节点,覆盖了银行、保险、证券等 12 大行业,并经历了海量场景长时间的考验。
龚文指出:“因为我们是操作系统厂商,目前在社区主要做的工作之一是基于 OpenCloudOS 的版本,做一些场景验证。通过我们测试和验证,确实发现 OpenCloudOS 在内核里边加入的一些针对云计算环境的优化,比其他版本的效果要好很多。”
3. 接下来的主要目标是什么?
完善社区治理工作
为什么说是完善社区治理工作?因为从社区建立之初,这个挑战一直存在。
王佳表示:“这里挑战还是挺大的,基于社区的开发模式,我们也没有经历过。虽然我们之前有参与了很多社区项目,但更多是一些补丁的贡献,跟真正去参与社区的运营是不一样的。比如大家来自各个不同公司或者研究机构所带来的沟通问题,以及一些第三方开发者协同的问题等等,这一块挑战很大。从最开始开发的一些基础设施这一块,就跟之前很不一样,之前腾讯内部已经有很成熟的一套系统,现在切到社区,社区本身就是一个新的模式,再加上各个公司之间大家的习惯又不一样,大家在一起去协同开发,其实挑战真的很大的。”
单致豪补充道:“社区生态的扩大离不开人才。许多社区工作,如社区章程、贡献者协议等的从零到一搭建,都需要人的投入,包括理事会、技术委员会等也涉及到非常多的人。但成员的扩大也意味着社区治理难度的增大。自成立之初,OpenCloudOS 社区定位就是中立开放的开源社区,这意味着任何一个环节都需要考虑所有参与成员的感受,所以我们必须在沟通上投入更多,难度也会很高。”
对于当下及未来的社区治理,王佳持乐观态度。他认为当前整个社区处于加速磨合的阶段,通过各个兴趣小组 SIG 里的配合,慢慢会形成一套既有的团队配合模式;而且因为当前整体的工作没有可以照搬的形式,所以各个团队之间都是在摸索着前进,反而能够催生一些有趣的东西,因而大家的积极性都还挺高。
“其实在业界这方面的经验也是比较少的,就拿红帽主导的 Fedora 社区来讲,他们里面也是非常纯粹的开发模式。对于 OpenCloudOS 来讲,这就是一个全新的开始,我们也希望在里面形成我们觉得有特色、有价值的模式可以给后来很多开发者去共享。”王佳说道。
当前,OpenCloudOS 社区的章程、贡献指南、CLA、COC,包括组织架构理事会、TOC、SIG 组等已经在逐步完善中,但是这对于社区治理工作而言,还只是第一步。
探索社区可持续性
探索社区发展的可持续性同样也是 OpenCloudOS 接下来的重要目标。
知乎上有一个阅读量 40 万 的一个话题,叫“如何看待国内开源项目的不可持续性”,其中获赞最多的一个答案是“没有商业模式”。
对此,王佳称在社区的筹建过程中,可持续性是他们重点考虑的因素。一个社区不是一天、两天存在,或者一年、两年运作一下的事情,成立社区首先要考虑的便是可持续性,如何保持它持续的活力、生命力。
“拿一个项目或者一个社区来讲,如何可持续?最重要的一点是这个项目、社区输出的技术也好、产品也好,本身是有被需要的。商业投入只是一个辅助,如果这个东西其实不被需要的话,你投入再大,它也无法持续,这个项目也会无疾而终。”王佳补充道。
对于这个话题,蒋彪认为一方面基础软件这样的产品,是一个需要长期、持续、大量投入的产品,如果没有一定的商业模式做支撑,是很难有商业公司参与进去并获得回报的,没有回报,对于商业公司来说没办法投入这个事情。之所以目前国内头部的云厂商能做大规模投入,是因为基于自身庞大的业务诉求,大规模应用之后的收入规模能够覆盖掉 OS 相关的边际成本;另一方面,纯操作系统、纯基础软件这样的领域,如果真是要得到长期的发展,尤其是以开源的模式发展的话,它必须要有相应的商业支撑,因为只有商业版的支撑,才能保证社区版可靠、稳定的质量,这也是相辅相成的一个关系。
对于“没有商业模式”这一点,龚文认为所有的商业模式根本动力还是来自于需求、生态链的连接。而且只有在这个产业做大了,池子里边的水足够多了,才会逐步地形成一些模式,而这个模式的核心就是让生态里所有的参与者都能够有所得。
当前阶段,对于产业生态的搭建,我们更多看到的是大厂多去贡献,从而增加自身的品牌影响力,小厂多去参与,在参与过程中能够形成一些产业的生态链,并在这个生态链上找到自己的一些位置,以及探索出适合自己的一些模式。
“对于商业模式的探索或者说是产业生态的搭建,我认为比较难的有两点:一个是人,我们在国产的生态里边,参与的人还是少,厂商少,开发者少,高手更少。”
“另一个是怎么能够鼓励更多的社区发展起来,鼓励更多的操作系统厂商、基础软件厂商、应用厂商、驱动厂商来参与,这些可能需要产业内外部环境的成长和完善,要鼓励开放、合作,避免人为设置不合理门槛,避免恶性竞争。”龚文补充道。
同样,社区的持续性是伴随社区全生命周期的大事,而良性的商业模式的探索则是实现社区可持续的必由之路。
4. 对国产操作系统的未来展望
从采购现成产品到自研再到自主可控,内部需求和外部环境的变化正在加速国内操作系统的进化升级,下一个阶段,比如全真互联的时代到来,国产操作系统有没有弯道超车的可能呢?
技术更替的客观规律
单致豪表示:“机会很大,之前 Gartner 提出每三年就有新的技术出现,随着现在技术迭代的不断加快,应用场景的不断增多,以及‘下一代技术’如全真互联等场景发展的繁盛,我相信未来不同的地域、国家,会演进出更多的技术栈。”
王佳特别指出,一方面,由于 Linux 过于庞大、复杂,而在全真互联时代,很多实体的异构性是很大的,有的非常大,有的非常小,Linux 面对这种场景的时候是相当吃力的;另一方面,从趋势来看,目前在学术界、商业界很多技术都在往微型化方向去转,比如说内核,现在有相当多的团队在研究偏微内核的一些场景。
面对一些边缘的场景,哪怕是在上面放一个裁剪后的 Linux 系统,仍然过于庞大,甚至它的芯片平台,硬件的能力根本就不足以跑一个 Linux,那这个时候是否会有一些新的操作系统,从一开始就是为这些场景去设计的呢?只要技术会更替,那么就会有机会。
大规模多场景业务催生新技术
前面有提到大规模场景验证是腾讯的一大优势,同样放大一点来看,相比于国外,中国市场的场景规模同样赋予了技术上弯道超车的无限可能。
对此龚文表示:“为什么我们的 AI,还有互联网在一些领域都实现了弯道超车?是因为我们有足够大的市场规模,有足够丰富的场景,你把整个生态做起来过后,你就会发现,只要把中国的问题解决好了,需求满足了,完全可能实现弯道超车。”
OpenCloudOS 社区 TOC 委员、北京红旗软件技术总监李士勇认为,在自动驾驶、5G、人工智能这一类国内领先的领域,国产操作系统是有可能率先实现弯道超车的。
大禹智芯 CTO 王昕溥补充道:“要抓住一些新的技术,能够做到一些协同的突破,比如 5G 也好,AR/VR 也好,能够在软件和硬件上有所结合,这样才能实现整体技术的弯道超车,能够带动整个操作系统和软件的发展。”
当前在很多强专业的新兴领域,国内很多企业都走在了世界前列,比如说车载操作系统,业务上有需求,场景上能验证,在市场环境上是领先于国外的。国内众多的业务场景将进一步催生出更多的细分技术领域,而在这些细分领域,很可能我们将会是引领者而非跟随者。
采访嘉宾介绍:
郭振宇 OpenCloudOS 社区 TOC 主席、腾讯云副总裁
单致豪 OpenCloudOS 社区秘书长、腾讯开源联盟主席
蒋彪 OpenCloudOS TOC成员、腾讯云操作系统产品和研发负责人
王佳 OpenCloudOS TOC成员、腾讯操作系统研发负责人
蒋学鑫 OpenCloudOS 社区 TOC 委员、中兴通讯操作系统业务负责人之一
龚文 OpenCloudOS 社区 TOC 副主席、中科方德软件有限公司高级副总裁
李士勇 OpenCloudOS 社区 TOC 委员,北京红旗软件技术总监
王昕溥 大禹智芯 CTO
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com