天天看點

OpenCloudOS 9.0釋出,騰訊闖入底層基礎軟體“深水區”

作者:雲科技時代雜志
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形成了巨大的挑戰。

OpenCloudOS 9.0釋出,騰訊闖入底層基礎軟體“深水區”

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企業版進一步優化,是代碼完全開源、生态全面開放的發行版本。

OpenCloudOS 9.0釋出,騰訊闖入底層基礎軟體“深水區”

其中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 9.0釋出,騰訊闖入底層基礎軟體“深水區”

基于這個基本思路,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是內建了廠商、生态和使用者為一體,由使用者發起和主導并提供豐富業務應用場景和大規模生産驗證環境的新型開源社群。

OpenCloudOS 9.0釋出,騰訊闖入底層基礎軟體“深水區”

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停服,而是騰訊作業系統經過了十年的築基,已經進入自主創新研發的階段。

OpenCloudOS 9.0釋出,騰訊闖入底層基礎軟體“深水區”

在騰訊發展初期,公司業務比較單一,伺服器數量也很少,選擇開源作業系統就可以滿足當時需求,也不需要花費額外成本,是以騰訊當時選擇了免費且相對穩定的開源軟體作為伺服器作業系統。

随着公司的不斷發展,業務數量和規模快速擴張,業務場景越來越複雜,伺服器數量急劇增長,開源作業系統的穩定性問題開始不斷爆發,當機問題頻現。而随着業務場景增加,業務開始對作業系統底層特性提出需求,需要作業系統研發層的支援。當時,騰訊沒有作業系統研發團隊,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停服之後的長期技術創新。在騰訊等科技企業使用者的推動下,中國作業系統終将走上高品質發展之路。(文/甯川)

繼續閱讀