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停服之后的长期技术创新。在腾讯等科技企业用户的推动下,中国操作系统终将走上高质量发展之路。(文/宁川)