OpenCloudOS 9.0发布,腾讯闯入底层基础软件“深水区”

3月22日,腾讯发布了2022第四季度及全年业绩,ToB业务成为腾讯的核心引擎。与此同时,ToB的腾讯在近年来持续加码自研投入,提升底层技术实力,2022年研发投入达到614亿元,2018年至今在研发上的投入已经超过2056亿元。随着ToB业务的全面发展,腾讯对外的技术输出也从数字工具向底层基础软件纵深推进。

对于ToB业务来说,拥有庞大的技术生态是成功的关键,特别是要掌握服务器操作系统、数据库等企业IT基础软件的底层技术,才能在ToB的道路上行稳致远。3月底,腾讯发布了ToB技术产品领域的两大关键里程碑:TDSQL数据库成功打榜TPC-C,拿下了全球数据库性能第一;OpenCloudOS 9.0发布,加码CentOS停服后的国产服务器操作系统市场。

从数据库到操作系统,腾讯正全面发力底层基础软件,加速闯关ToB深水区。

刷新开源社区,攻关操作系统

服务器操作系统是企业IT的基石,而开源Linux操作系统一向是服务器操作系统的重头。在开源Linux服务器操作系统中,CentOS的市场占比超过50%。可想而知,当红帽公司宣布将于2021年底停服CentOS 8、2024年6月底停服CentOS 7,对于国内企业IT形成了巨大的挑战。

2021年12月,OpenCloudOS开源社区成立,腾讯将十余年技术积累悉数投入,成为OpenCloudOS的主要发起者和核心技术贡献者。众所周知,国内目前有三大OS开源社区:成立于2019年底的华为系的OpenEuler、成立于2020年9月的阿里系的OpenAnolis以及OpenCloudOS。OpenCloudOS继承了腾讯一贯的产品力,体现了极强的产品化优势。

首先,OpenCloudOS继承了腾讯TencentOS Server的云原生技术力。TencentOS Server 从 2010 年启动研发,蕴含了腾讯在操作系统领域超过10年的技术积累,经过了腾讯内部海量业务的多年验证和打磨,基本覆盖了腾讯所有的业务,同时依托腾讯社交、游戏、金融支付、AI、安全等业务生态,进一步打磨稳定性、安全性、兼容性和性能等核心能力。

作为云原生操作系统,TencentOS Server在容器和虚拟化的支持方面,提供增强的资源隔离和数据安全特性支持,在整机资源分配方面提供高水平的弹性调度能力,强力支撑各大容器/算力平台。在容器场景下,腾讯大量核心业务几乎已经全部云原生化,例如微信所有的逻辑业务全部容器化,针对微信业务特点进行了系列优化,顺利保障了每年春节的红包高峰。

更为重要的是,源于腾讯一贯的融入开源产品社区的思想,TencentOS Server与CentOS 7、CentOS 8的生态全面兼容,在 CentOS 上开发的应用程序可直接在 TencentOS Server 上运行。腾讯云为每个 TencentOS Server 大版本提供超过5年的维护和更新,包括定期更新镜像、新功能和优化引入、及时的安全漏洞修复、Bug修复等。

其次,从适配大规模、标准化的云计算环境到适配小规模、复杂异构的企业IT环境,操作系统必须走开源道路,联合开源社区的力量才能完成大规模的异构的不同版本的企业级软硬件适配工作。实际上,不论是Windows操作系统,还是VMware虚拟化软件或是Oracle数据库,一个最为重要的产品化工作,就是最大程度上适配不同地区、不同厂商、不同版本的软件和硬件,兼容性是操作系统最重要的产品力体现。

中国企业要打通企业服务器操作系统这个产品平台,必须依靠社区的共同力量。为此,腾讯不仅发起了OpenCloudOS开源社区,还清晰提出了完整成熟的操作系统研发模式:涵盖L1(上游发行版)、L2(企业版)、L3(社区稳定版)、L4(基于社区稳定版优化改造的发行版)。

L1基于Linux内核及核心组件构建,是国内最上游的“源社区”版本;L2企业版基于L1源社区版本加固,提供企业级的技术支持及服务,可用于真实业务场景,是稳定可靠的发行版本;L3社区版基于L2企业版进一步优化,是代码完全开源、生态全面开放的发行版本。

其中L1上游源社区版本的研发投入巨大,需要多方协同开发,为此OpenCloudOS社区快速成立了安全、云原生、基础设施、架构体系/内核、测试等10余个SIG主题工作组/群,100多个SIG工作组,已经有包括 OS 厂商、芯片厂商、整机厂商、行业用户、云厂商、数据库厂商、存储厂商、中间件厂商等在内的 600 多家合作伙伴加入。

OpenCloudOS定位为全链路自研的服务器操作系统,实现了从自主可控源社区(L1)、商业版(L2)、到社区稳定版(L3)的全链路覆盖,为国内企业提供上游版本,以及满足企业级稳定性需求的软件供应版本,保障软件供应链安全。

基于以上基本的产品化思路,在短短一年的时间内,腾讯迅速组织起了开源社区,提出了完成的开源社区研发模式,并于2023年3月正式推出了首个L3版本:OpenCloudOS 9.0。

历时一年研发的OpenCloudOS 9.0

2023年3月31日,开源社区OpenCloudOS正式发布首个全自研社区9.0版本(以下简称“OC9.0”)。OC9.0可以说是国内操作系统的里程碑,是国内首个L3级别稳定可靠可用、可直接用于生产环境的自主可控版本。腾讯操作系统研发负责人王佳在OC9.0发布活动上介绍,OC9.0的研发历时超过一年,已经在腾讯的生产环境中经过了验证。

在2021年12月OpenCloudOS开源社区成立的时候,就预计在2023年发布OpenCloudOS 9.0,也就是构建L1源社区并发布L1版本,然后在L1版本的基础上构建商用版本L2,再经过实际生产环境的大规模应用验证后,最终输出稳定的企业级L3版本——基于头部厂商的海量应用场景验证,保障版本的稳定性,满足企业级生产需求。

基于这个基本思路,OpenCloudOS开源社区于2022年7月发布了L1源社区内核版本OCKS2207,并于2023年1月发布了完整的L1源社区版本OCS 2301即OpenCloudOS Stream,作为全自研L1上游版本。OpenCloudOS Stream由社区中的腾讯、中兴、方德、红旗等社区伙伴主力研发,完成了超过1800个软件包的开发。腾讯基于OCS 2301,发布了TencentOS Server 4版本,并在腾讯生产环境中进行了验证;而其它社区伙伴,也在各自的实际生产环境中进行了验证,最终输出了OC9.0。

OC9.0与众不同的地方在于,它不仅仅是OpenCloudOS社区独立研发的版本,而且是由社区伙伴亲自验证过的版本。王佳强调,这种研发模式在操作系统领域非常少见。一般情况下,操作系统厂商会提供生产版本,但自己并不会大规模使用,所以自研自用是OpenCloudOS的鲜明特色之一。换句话说,OpenCloudOS是集成了厂商、生态和用户为一体,由用户发起和主导并提供丰富业务应用场景和大规模生产验证环境的新型开源社区。

OC9.0使用国际上游社区最新内核 Kernel 6.1,提供多体系架构和新硬件支持,多核性能优化,混部隔离特性增强,同时MGLRU、Mapple Tree 等特性提升内存管理效率,具备完善的 Cgroup V2 支持、多架构热补丁支持,并提供细致化的调优与系统适配。除了高性能、安全稳定、支持多硬件平台的特性外,OC9.0还为云原生、大数据、人工智能等领域的开发者和用户提供更好的基础环境和服务能力。

相比于国内的L1社区,国际上游Linux内核社区可以视为L0社区。过去,国内厂商基于L0社区的路线,要经过很长的时间才能推出国内自己的L3版本,这时L0社区的“新”版本往往已经过去了很长时间。国内厂商由于没有掌握在自己手里的技术路线,就只能等待L0社区的发布。而OC9.0的出现,填补了这一空白,让国内用户可以近距离、快速、高效体验新特性、新能力。

例如,最新的Linux Kernel 6.1内核稳定版于2022年11月正式发布,而OpenCloudOS社区在三个月后就迅速发布了基于Kernel 6.1的OC9.0。而相对于2022年初发布的OC8.5(与CentOS完全兼容、源于L0社区),OC9.0在MariaDB高并发情况下的数据库读写性能最大提升超过50%,在体现IO性能方面的NVME随机读写能力也有超过26%的显著提升等等。

在OC9.0的基础上,红旗发布了企业版本——红旗OpenCloudLiunx 8.5;中兴新支点贡献了NDE桌面系统,全力支撑OpenCloudOS桌面体系;九州云通过OpenCloudOS构建了开放、灵活、高效的云系统环境,实现业务创新和价值提升。

其中,由于桌面环境在Linux体系中的稀缺性,中兴新支点将自研的桌面系统开源,尤为值得关注。新支点超凡桌面环境(EX-NDE)是由新支点操作系统团队以及OpenCloud开源社区共同打造的操作系统桌面环境开源项目,该桌面环境包括桌面模式、服务器模式和平板模式,在桌面模式开发的生态,可以直接应用在服务器和平板模式中,通过构建同一套应用生态而不需要管理多个分支。

十年筑基腾讯操作系统

腾讯于2021年底发起组建OpenCloudOS社区以及在一年后火速推出OC9.0并不完全是因为CentOS停服,而是腾讯操作系统经过了十年的筑基,已经进入自主创新研发的阶段。

在腾讯发展初期,公司业务比较单一,服务器数量也很少,选择开源操作系统就可以满足当时需求,也不需要花费额外成本,因此腾讯当时选择了免费且相对稳定的开源软件作为服务器操作系统。

随着公司的不断发展,业务数量和规模快速扩张,业务场景越来越复杂,服务器数量急剧增长,开源操作系统的稳定性问题开始不断爆发,宕机问题频现。而随着业务场景增加,业务开始对操作系统底层特性提出需求,需要操作系统研发层的支持。当时,腾讯没有操作系统研发团队,2006年通过引入商业操作系统SuSE Linux,借助Novell的统一技术支持,解决了当时的一些困难。

在引入OS厂商技术支持几年之后,腾讯公司操作系统支持又面临了新的挑战:公司业务迅猛发展,运营了成百上千个自研业务,并有第三方业务的接入,服务器数量也随之飞速增加。快速发展的业务导致业务场景更加复杂,在操作系统平台的稳定性、性能和底层特性支持方面提出了更高的要求,这也与商业操作系统间逐渐产生了矛盾,包括:生产环境下的故障无法及时有效沟通和解决、无法改动商业Linux内核代码、服务器数量激增导致OS厂商费用高涨等等。

2009年,腾讯公司组建了操作系统团队,专门负责服务器操作系统的研发与运营支持工作。最开始,腾讯还是在SuSE商业发行版的基础上开发linux内核定制版,命名为tlinux。随着业务需求的进一步增长,腾讯开始研发tlinux发行版,相继发布了tlinux1、tlinux2。在公司开源协同战略推进和产业互联网需求爆发的前提下,腾讯于2019年底对tlinux进行了品牌升级,命名为TencentOS Server,并对外正式开源,TencentOS Server3版本也随后发布。

十年间,从2010年tlinux第一个版本到2020年第三个版本的发布,腾讯研发的操作系统的安装量从0增长到了2020年200万台的级别,有效保障了腾讯海量业务的稳定高效运行。2019年底,腾讯对外开源了操作系统产品,并将研发成果进行了开源。2021年,腾讯从发行版定制转变为发行版自主研发,不再基于开源Linux发行版,而是基于upstream开源社区,从头开始构建TencentOS Server Stream版本,并基于Stream版本研发了TencentOS Server商业版本和OpenCloudOS社区版本。

整体来说:OpenCloudOS社区和OpenCloudOS 9.0发布是中国操作系统的里程碑之一,也是腾讯深耕底层软硬件技术的关键节点之一。腾讯自有的社交、游戏、金融支付、云等丰富业务生态以及超大规模自研产品体量作为OpenCloudOS的生产验证环境,是OpenCloudOS研发的特色,也为企业用户采用OpenCloudOS各种版本提供了极大的信心。OpenCloudOS社区不仅是应对CentOS停服的应急措施,更着眼在CentOS停服之后的长期技术创新。在腾讯等科技企业用户的推动下,中国操作系统终将走上高质量发展之路。(文/宁川)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mockito单测之道

Mockito单测之道 去年写过一篇《TestNG单元测试实战》文章,严格来讲算集成测试。 没看的小伙伴可直接看本篇即可,本质是单元测试框架不同,写法不一样。 单测定义 单元测试定义: 对软件中最小可测单元进行验证,可理解…

【数据结构】链表练习题(2)

链表练习题1.相交链表(LeetCode160)2.环形链表(LeetCode141)3.环形链表Ⅱ(LeetCode142)1.相交链表(LeetCode160) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。题目数据 保…

spring注解的使用

Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。 Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发…

你看这个spring的aop它又大又宽

aop🚓AOP 分类AspectJ | 高级但是难用Spring AOP | 易用但仅支持方法aop 原理明月几时有,把酒问青天。——唐代李白《将进酒》 AOP 分类 在 Spring Boot 中,AOP 的实现主要有以下几种: 基于 AspectJ 的 AOP:这是一种基…

数据结构——红黑树

目录 概念 性质 结点的定义 插入 调整 当p是g的左孩子时 当p为g的右孩子时 插入完整代码 红黑树的检测 红黑树完整代码(包括测试数据) 概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色&…

如何有效备考PMP?

随着PMP证书含金量直线上升!现在PMP证书就跟黄金一样,即保值又升值。 今天小编应势出一篇关于如何高效备考PMP的方法,在备考生快过来看看吧! 1、准备好所需要的教材,视频,试题内容 备考备考,你…

蓝桥杯刷题冲刺 | 倒计时5天

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.方格迷宫2.字符串删减1.方格迷宫 题目 链接: 4943. 方格迷宫 - AcWing题库 给定一…

Sam Altman专访:GPT-4没太让我惊讶,ChatGPT则让我喜出望外

导读ChatGPT、GPT-4 无疑是 2023 年年初人工智能界最大的「爆款」。3 月 26 日,OpenAI CEO、ChatGPT 之父 Sam Altman 接受了著名学者与科技播客、麻省理工大学研究员 Lex Fridman 的专访,Sam 分享了从OpenAI内部视角如何看待ChatGPT和GPT-4的里程碑式意…

分享:数据库存储与索引技术(三)LSM树实现案例

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 本文来自OceanBase社区分享,仅限交流探讨。原作者马伟,长期从事互联网广告检索系统的研发,对数据库,编译器等领域也有浓厚兴趣。 文章目录1. MemTab…

2.2.2 第2遍:程序细节

这段话主要解释了C程序中#include指令和头文件的作用。头文件包含了编译器所需的信息,例如函数名、常量、以及如何使用它们等。在C程序中,头文件通常用于包含库函数,例如stdio.h文件中包含了输入和输出函数(如printf()&#xff09…

LCHub:ChatGPT4和低代码来临,程序员面临下岗?

一个网友吐槽道: “ 建站出来了,你们说程序员会失业。 低代码出来了,你们说程序员会失业。 Copilot出来了,你们说程序员会失业。 Chatgpt出来了,你们说程序员会失业 虽然这只是网友的吐槽,但却引起了小编的好奇。为何程序员那么容易被新技术取代?今天小编打算跟大家…

Waline在Butterfly主题中的应用

LeanCloud 设置 (数据库) 国内版的LeanCloud需要绑定域名,所以我们直接选择国外版的LeanCloud 登陆注册 注册:点击这里进行跳转注册成功后进入控制台,选择 创建应用 。 创建完成后进入应用,下拉找到 设置 , 会有 AppID 、AppK…

ASO优化之应用商店关键词的实现

投放正确的合适的关键词,能够确保我们的应用获得更高的相关性和知名度。如果我们已经完成研究并想要竞争目标关键词,就需要在商品详情中去实施投放它们。 要在 Google Play Store 中投放——我们要打开 Google Play 控制台并点击“主要应用详情”选项卡…

基于模型预测控制(MPC)的微电网调度优化的研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

VMware创建和使用虚拟网络

文章目录如何打开虚拟网络编辑器让虚拟机使用有线、无线网卡1. 点击“添加网络”2. 虚拟机使用电脑自带无线网卡3. 虚拟机使用电脑自带有线网卡重置虚拟网络在使用虚拟机的过程中,有时会需要让虚拟机使用物理机的网络设备直接与外部连接,例如让虚拟机通过…

Win11启用IE方法

呉師傅 Win11是微软目前的最新系统,尽管该系统非常不错,但是还是有很多不一样的地方,有的用户发现Win11没有了IE浏览器,那么Win11没有IE浏览器怎么办呢,有的旧网页需要IE浏览器才能进入,下面就给大家提供一…

怎么把两个音频合成一个

在创作音乐、制作视频等领域,经常需要将音频文件进行合并处理,但对于没有专业工具和知识的朋友来说,音频合并可能是一项复杂的任务。本篇文章就要为大家介绍合并音频的方法,让大家能够快速地将音频文件合并成需要的部分&#xff0…

leaflet: 地图上叠加日夜区域(126)

第126个 点击查看专栏目录 本示例的目的是介绍如何在vue+leaflet中显示日夜交替叠加区域。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共68行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

ChatGPT能胜任高级程序员吗?

与开发人员信任的其他软件开发工具不同,AI工具在训练、构建、托管和使用方式等方面都存在一些独特的风险。 自2022年底ChatGPT发布以来,互联网上便充斥着对其几乎相同比例的支持和怀疑的论调。不管你是否喜欢它,AI正在逐步进入你的开发组织。…

【设计模式】Bridge Design pattern 桥接模式

1.桥接模式要解决的问题 多个维度的变化引起的继承组合指数级增长 例子 一个物体有不同形状和不同颜色,如何用类来表示它们,这里包含了两个变化维度,一个是物体的形状,一个是颜色 继承的方式 如果使用继承的方式,此…