• 龙蜥社区首推“分层分类”顶设 发展以云为终态的开源产业创新生态


    简介: 如何保持原生社区的先进性?

    在刚刚结束的 2022 开放原子全球开源峰会 OpenAnolis 分论坛上,龙蜥社区技术委员会主席杨勇做了《OpenAnolis 社区技术发展报告》的主题演讲,分享龙蜥社区如何从 0 到 1 实现原生社区布局,以及发展以云为终态的开源产业创新生态。

    全文整理如下:

    640.png

    (图/龙蜥社区技术委员会主席 杨勇)

     

    一、发展回望:从 0 到 1 实现原生社区布局

     

    2021 年 5 月,龙蜥社区发布首个 Linux 发行版 Anolis OS 8.2,通过不断迭代产品去满足社区用户的需求,正式拉开投身开源操作系统的序幕。至此,龙蜥社区做了大量产品迭代和社区运营工作,围绕用户需求解决 CentOS 停服客户的问题,采用新发行版,选用新技术路线,基于社区平台,所有的产业和合作单位共同分工,产品矩阵初步形成。源于 CentOS 替代和用户云化的强劲需求,短短一年,130 多万装机量、100 万下载量、40+SIG 组、120+maintainer……种种数据表明,龙蜥社区实现了从 0 到 1 的跨越式发展,从做产品到做社区,完成了原生社区布局,迎来爆发式成长。

    640 (1).png

    整个基础设施当前是“3+3”的布局,支撑着社区可持续性的发展规划。

    • 众创:研发过程社区协同,自动化提升效能。社区生态合作伙伴的研发体系、代码托管、BUG 报告、测试、产品工程体系等每个环节上实现协同,在效能和自动化上支持更多的社区场景,在供应链合规上有上千个组件,在知识产权合规上有大量的自动化工程。
    • 众测:T-One 一站式质量协作平台开启社区协作。质量保障上,通过社区的 T-One 实现了社区众测和众创。
    • 合规:安全可信构建、供应链安全保障、三方机构测评。过去一年社区在开源合规上有着非常大的进步,面对很多第三方评测机构的合作,社区的标准得到进一步提升。

     

    正是因为“3+3”体系,龙蜥社区现在月均 5000+PR,保持了持续的活跃度,成为国内非常活跃的开源社区。值得一提的是,龙蜥社区组建了极具特色的芯片生态,最快最全支持了国内和国际主流芯片,比如社区对 Intel SPR 的支持是国内最全的、对于 ARMv9 最全功能规模验证,对于龙芯、海光 CSV 机密容器在开源社区首发支持、对 RSIC-V 在 Anolis OS 8.6 新特性的首发。

    640 (2).png

    当前,龙蜥社区有六大技术方向:一云多芯、云原生、软硬协同、编程语言、安全、高性能,每个方向上都有可以透出到国际社区国际标准的成果产生。简单举个例子,在容器存储这方面,龙蜥社区在 CNCF 社区通过 Linux 项目支持了一个新型的只读存储标准叫 NydusRAFS v6 ,在 Linux 上游内核主线 5.19 集成了 FScache 这个特性。通过这两个事情我们把容器的存储镜像分发标准确立下来,我们坚信再过三五年国内整个这方面的分发生态就会用龙蜥社区的技术来实现,而这个过程中我们也得到了很多互联网公司直接到 Linux 上游社区声援,从这个特性上我们看到了社区众创众测的力量。

     

    另外一个很好的例子就是在软硬协同方面,我们在阿里云龙蜥产品线上支持了一个 virtio 新规范,通过这个规范我们把 AF_XDP(Linux的标准协议)在 DPU 场景下跑通了,这个在过去是有问题的。我们又通过在 virtio 虚拟化网络接口标准提出修改意见,正式把我们的特性放到标准 1.2 里面。所以接下来我们看到一些国际的 DPU 厂商在 Linux 社区在讨论 1.2 标准支持的一些情况。通过这个例子,可以看到龙蜥社区的影响力,一旦新的 virtio 标准被采用,这个标准对虚拟化、DPU 产业都是有影响的。

     

    640 (3).png

    关于开源操作系统竞争力如何评价的观点多到没有标准答。那么,在开源操作系统中如何体现技术引领能力呢?答案在于,我们能不能在国际社区开展上游的创新,能不能通过我们的开源事实标准去影响产业。即便龙蜥社区在中游发行版层,难道操作系统的竞争力就是这一层体现的吗?也不是,我们非常清楚如果今天龙蜥社区做成了跟 Debian、Fedora 一样的社区,那么我们就止步于此了吗,那肯定不能。所以这个社区要实现的能力就是图中的上下游三层,每一层都要有使命和目标,分别是国际社区合作构建标准、持续技术创新和完善社区产品、支撑下游商业模式,这是我们认为的一个领先的开源操作系统应该打造的原生社区能力。龙蜥社区正是通过上下游三层的协同有了更好的可持续发展模式。

     

    当前,龙蜥社区已经通过打造 Anolis OS 8 以及 Anolis OS 23 形成一个完整布局,Anolis OS 23 可以快速吸收上游的创新,并且往上推上游的创新,LTS 版本可以用各种各样的商业模式赋能给产业,所以这是一个非常好的基础,也是一个很好的起点。

     

    二、规划升级:以云计算为终态的开源创新生态

     

    操作系统产业作为跟计算产业最紧密关联的产业,我们相信计算产业的未来必然关联着操作系统产业的未来,所以技术规划上操作系统的技术规划必须考虑计算产业的变迁。我们看到近十年来中国云计算产业的发展非常迅速,芯片的定制、整机重新设计、软硬结合考量、DPU 等,云厂商都在投入 Linux 操作系统,包括 AWS、甚至微软。与此同时,我们看到编程语言、编程模式在云计算的模式下也发生了比较快的演进。

    640 (4).png

    我们认为今天操作系统的整个技术规划要面向未来去考虑。首先,龙蜥社区给用户提供一个好用的可用的 Linux 发行版来支撑现在的算力,更要考虑在云计算发展驱使下未来用户怎么管理数据中心,怎么做好一体化管理。今天的用户已经出现了在虚拟机、裸金属、物理机里面统一多云管理,包括编程语言和云原生的编程模式,这都是操作系统社区应该考虑的课题。龙蜥开源操作系统社区将以云计算为终态,发展开源创新生态,为社区伙伴和开发者提供共建云上标准机会,与用户一起面对未来挑战。

    640 (5).png

    那么,我们如何衡量一个开源技术社区的进步呢?实际上,开源技术社区的进步很难像管理一家公司一样,用 KPI 来驱动。所以我们认为最佳的衡量手段就是当下是否把事情做对了,是不是在一个正反馈里面。在新的一年规划里,龙蜥社区将从开发者、用户和客户的三方面去思考这个问题。由于操作系统是一个存量的成熟的产品品类,所以过去一年龙蜥社区首要任务是深耕产品,满足客户和用户的需求,围绕需求建立社区价值,近一步放大开发者价值,致力于建设一个极具创新活力的社区。跟大家分享一个小故事,最近我在一个业界技术交流群里看到有人反馈说使用龙蜥的体验非常好,然后我就加了这位同学好友进一步交流,了解得知这位同学不但是龙蜥社区的交流群中的活跃开发者,还是拥有着产品需求的种子用户。由此我认为通过研发可靠好用的社区产品,让用户成为我们的产品经理,然后从用户需求中探索社区发展方向,可以进一步支撑起客户侧的商业技术合作,“技术生态”、“产品生态”和“商业生态”组成龙蜥社区不断转动前进的“飞轮”,给品牌和社区带来更多的竞争力。

    640 (6).png

    新的一年,龙蜥社区也将在产品矩阵上实施新的发力重点。社区目前主打的是 Anolis OS,是一个经典的操作系统 Linux 发行版,融入了云上创新技术、社区软硬件协同生态、商业操作系统等,Anolis OS 的路线图支撑着社区整体的发展规划,拥有举轻若重的地位。因此,我们承诺每两年发布一个社区的 Anolis OS 主版本,每四年从发布的主版本里面选出 LTS 版本去做长期稳定支持。大家可以看到 Anolis OS 23 是Anolis OS 8 下一个版本,Anolis OS 25 是一个 LTS,从图中大家可以清晰的了解龙蜥社区和产品的发展节奏。今天,Anolis OS 23 的运行版本已经发布在龙蜥社区,欢迎大家下载试用(下载链接见文末)。

    640 (7).png

    纵观 Anolis OS 的产品研发路线,实际上背后有一个顶层设计的思考,我们称为“分层分类系统架构”,基于分层分类的系统架构指导 Anolis OS 8 版本的选型。我们可以看到,尽管 Linux 开源操作系统是所谓的“集市开发”,但是我们从做商业产品和社区研发分工的角度,根据分层分类理论体系来看,其实可以有一个很好的技术架构和产业分工的合作体现在里面的。由于产业分工和技术竞争力的不同,不同厂商会有不同的技术布局。我们看到像龙芯提出的 “2+3+3+2”的技术重点投入,中间的两个“3”分别是面向应用的高级编程语言,和面向硬件优化的语言。这里不同的芯片厂商的技术布局点就很不相同。我们看到某芯片厂商在重点领域里面,会区分出几种语言和内核的领域不同的投入重点,定义由原厂还是生态伙伴来做,以及内核由谁来做。总而言之,云厂商、芯片厂商、硬件厂商、操作系统厂商等,大家在操作系统的研发投入会有一些重叠部分,但是研发重点是非常互补的,这是龙蜥社区丰富生态的基础。基于分层分类系统架构,龙蜥社区后续的整体研发会这个基础上拉更多的产业伙伴进来,也会明确大家的合作方式。

    640 (33).png

    Anolis OS 23 正是分层分类系统架构的最佳实践。其实操作系统的选型是一个非常大的话题和工程,从整体系统的构建、原创技术的研发、行业标准的打造,整体工程通过 SIG 来承接,形成一套比较完善的布局。就 Anolis OS 23 来说,我认为有四大重点:

    第一:基于国际上游选型研发,巩固原生社区定位和 SIG 组共享出来,保持社区技术路线中立。

    第二:基于分层分类理论,实现模块化系统架构,我们希望通过社区 SIG 的重新治理,实现社区产业分工。

    第三:全面支持下一代数据中心芯片,在技术上我们希望实现 Anolis OS 23 面向未来的布局,产品化迭代节奏实现业内领先。

    第四:引领业内下一代云原声软件栈实践和实施标准,比如容器存储、CIPU、商密等。云原生是最有活力的一支力量,龙蜥社区下一步将引入云原生软件栈,实践未来的技术标准。

    640 (34).png

    基于以上理论和实践,我们从整个社区技术规划和运营层面上提出“1+3+N”的发展指导方向,其中,“1”是“基于分层分类的原生社区能力建设”,是最重要的基础。基于分层分类的社区协同和技术架构,面向云的未来发展指导社区规划,打造自主独立演进的技术路线。“3”是“技术”、“产品”、“商业”,社区技术委员会将支撑这三方面的工作。“N”是龙蜥社区的 SIG 矩阵,是最落地的部分,SIG 是以技术、产品、商业的目标去落地,打造竞争力的差异化能力。图中 SIG 的颜色代表了对应社区在技术、产品和商业的原生能力。

    640 (35).png

    最后,想与大家分享一下龙蜥社区的整体技术规划:

    第一:在社区的原生能力建设上,我们将基于分层分类理论实现社区工程能力建设,赋能社区上下游原生安全能力,打造易于使用的基础设施,联合伙伴以兼容性标准建设发行版。

    第二:在关键领域和技术方向上,借助云原生SIG把一些代表云计算未来的技术通过社区输出;公开安全可靠的社区CVE管理平台,包括CVE查询和社区修复方案;加大对编程语言的投入,计划组建编程语言 SIG,实现降本增效和标准制定;软硬协同将迎来创新变化,基于xPU和下一代芯片推动社区新规范制定;只读存储是一个具有广泛需求的技术标准,我们希望把只读存储的标准放到云边端运作规划,让更多的社区受益。

    第三:在产品上做好关键生态和关键场景,尤其是在 CentOS 迁移过程中做好软硬件的兼容性。例如,作为社区新布局,我们已经在社区技术委员增补了主流的服务器厂商代表。

    第四:在可持续发展模式上,我们通过社区监管机构和第三方评测机构长期密集的合作,实现衍生版本合规和过硬质量保障,所以龙蜥社区的上千个开源组件确确实实能对下游和企业定制版起到支撑作用,将运维能力、创新技术赋能给客户和联合研发。未来,龙蜥社区将基于该体系实现长足繁荣的发展。

     

    小龙温馨提醒:龙蜥社区会陆续推出2022年开放原子开源峰会相关技术回顾文及视频回放,还请持续关注龙蜥社区公众号【OpenAnolis龙蜥】不迷路,第一时间获取相关演讲咨询!

     

    Anolis OS 23 poC 版本下载地址: https://openanolis.cn/download

     

    —— 完 ——

    加入龙蜥社群

    加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

    公众号&小龙交流群.png

    关于龙蜥社区

    龙蜥社区(OpenAnolis)是由企业单位、事业单位、社会团体、个人等在共建、共治、共享的基础上组成的非营利性开源社区。龙蜥社区成立于 2020 年 9 月,旨在构建一个开放、平等、协作、创新的 Linux 上游发行版社区及创新平台。

    龙蜥社区成立的短期目标是开发龙蜥操作系统(Anolis OS)作为 CentOS 停服后的应对方案,构建一个兼容国际 Linux 主流厂商的社区发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。

     

    目前,Anolis OS 8.6 已发布,更多龙蜥自研特性,支持 X86_64 、RISC-V、Arm64、LoongArch 架构,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。

    欢迎下载: https://openanolis.cn/download 

    加入我们,一起打造面向未来的开源操作系统!

     https://openanolis.cn

    原文链接:https://click.aliyun.com/m/1000355366/
    本文为阿里云原创内容,未经允许不得转载。
  • 相关阅读:
    2020.4.26 resources
    Visual Studio M_PI定义
    12.3 ROS Costmap2D代价地图源码解读_1
    Delphi GDI对象之剪切区域
    用GDI+DrawImage画上去的图片会变大
    简单的GDI+双缓冲的分析与实现
    双缓冲绘图
    C++中的成员对象
    鼠标在某个控件上按下,然后离开后弹起,如何捕获这个鼠标弹起事件
    CStatic的透明背景方法
  • 原文地址:https://www.cnblogs.com/yunqishequ/p/16628812.html
Copyright © 2020-2023  润新知