華爲開源的道和術

從 2019 年華爲全面提出軟件開源戰略以後,一年多時間華爲開源多點開花。開源這項事業不是一項短期工程,卻能爲世界帶來深遠的影響。華爲爲什麼要做開源?華爲開源項目背後的故事是什麼?開源與商業之間有什麼糾葛和聯繫?帶着這些問題,InfoQ 在 2020 華爲全聯接大會上採訪了華爲雲與計算開源業務總經理、開放原子開源基金會TOC(技術監督委員會)主席堵俊平。

軟硬件的鉅變,唯有開源能直面

在過去的十多年裏,軟件開發的各個領域發生了巨大的變化。

  • 雲計算從虛擬機到容器再到雲原生,十年時間已經迎來送往了多個時代;
  • 數據庫從關係型到 NoSQL 再到 NewSQL,商業型數據庫、開源數據庫互相印證一路前行;
  • 運維們也從“人肉運維”到 DevOps、AIOps,引發了行業性的被替代危機。
  • 即便是在相對穩定的軟件架構領域,以十年爲單位去回顧信息產業的發展歷史,也能發現每個時代都有各自的計算機架構模式。

“全面雲計算”時代的到來,計算機硬件的性能提升速度已經趕不上軟件所需的算力極致。隨着 5G 的又一次時代降臨,終端接入設備呈現了超百倍的增長,直接帶來的就是超過 80% 的非結構數據的增加,數據的存儲傳輸計算分析應用都對雲、邊緣、大數據、AI 等創新場景帶來了全新的挑戰。

從全面雲計算到 5G 設備的普及,我們可以認爲大前提是全球算力分佈的一個變化。從 60 年代大型機的集中式算力到互聯網時代的分佈式算力,再到當前 5G 時代的多算力,本質上都是算力資源的分配方式。全面雲計算時代其實是雲、邊、端一體化的時代,而 5G 設備的通信能力在其中必不可少,讓創新場景成爲可能。

整體上來說,過去幾十年間從底層的算力分配到上層的應用都在快速發展,軟件尤其是基礎軟件也要去適應這種潮流趨勢。從華爲的角度看,在這個時代潮流中既有機遇也有挑戰。一方面華爲在網絡通信領域的技術積累非常豐厚,另一方面如何利用這種優勢去聯接開發者共同打造創新的行業生態是接下來要探索的問題。華爲選擇了以開源的方式去聯接合作夥伴和千萬開發者,共同探索行業破局之道。

2019 年,華爲全面提出了軟件開源的戰略,而其中開源的重心則落在了基礎軟件層面。華爲不是這個商業模式的創新者,Intel、Nvidia、ARM 的成功不約而同地都構築在強大的硬件能力和繁榮的軟件生態之上,開源也是他們繁榮軟件生態的重要實現手段之一。一年時間,華爲開源做到了多點開花,但這背後卻遠非旦夕之功。

三個“open”和一大戰略

在 7 月召開的線上開源峯會與嵌入式 Linux 大會上,Linus 談到了爲開源操作系統尋找未來維護者時的種種挑戰。這次討論很快就涉及到了一個令人不安的問題:在目前這一代維護者逐漸老去之後,Linux 項目將走向何處?面對 Linus 等這批五零後、六零後項目管理者,Hohndel 提到:“我們這個社區終歸要考慮代際變更的問題。到那時,我們該怎麼辦?”

這次線上的討論沒有得出結論,但堵俊平在採訪中卻給出了一個數據:

今年8月 Linux kernel 5.8 版本發佈,華爲在內核代碼貢獻上全球排名第二。

華爲軟件全面開源的戰略始於一年前,但這個內核代碼貢獻量的排名卻源於過去十多年的貢獻積累。

開發者們可能發現華爲最近一段時間密集性地發佈、開源了一些突破性的技術,但這其實是得益於過去十年,華爲分佈在全世界各個研究所的數千工程師持續不斷的研發投入。除了前面提到的 Linux 內核,華爲內核工程師 ARM 64 架構、內核缺陷發現、容器核心功能 Cgroup 等項目上都有持續貢獻,擁有超過 20 位的 Linux 內核 maintainer,這不是簡單地砸錢就可以取得的成績和社區的認可。

在此之前,華爲也有一些 Apache 的項目比如 Service Comb,在雲原生領域的 KubeEdge 等開源項目在試水,在這個過程中華爲上下也凝聚了一個共識:

硬件開放,軟件開源應該成爲全公司的戰略。如果要把生態做好,就一定要用開源開放的方式。硬件再強大,軟件再優秀,如果構建不起良好的生態,沒有開發者、合作伙伴的共建,是很難走得下去的。

堵俊平向筆者介紹了華爲過去一年來的三大開源項目,分別是去年 12 月開源的 Linux 發行版 openEuler 和今年 6 月底開源的企業級數據庫 openGauss、數據虛擬化引擎 openLooKeng。這三個“open”分別承擔了數據驅動創新的三個場景:openEuler 協調不同架構之間數據的流動;openGauss 高效地存儲、管理和運維數據庫;openLooKeng 成爲連接各種不同數據源的虛擬化引擎分析工具。

openEuler:全場景協同的統一操作系統

軟件行業相伴相生的兩條定律:摩爾定律和安迪·比爾定律揭示了創新的來源——硬件提供算力,軟件釋放算力,而操作系統則是介於硬件層和應用層之間的一種根科技,協同調度。隨着硬件向多樣性計算和新介質發展,應用場景向泛雲化、邊緣、AI 發展,對現有操作系統在算力釋放、數據安全、智能運維、開發體驗、場景協同等方面提出新的挑戰,也帶來了新的機遇。

x86、ARM、RISC-V 這些主流架構都有其各自的場景和生命力,尤其是在雲邊端協同一體化的現在,很難有一種架構可以做到全場景協同統一。我們目前處在一個多樣化算力的時代,操作系統如何去更好地適應底層硬件情況是一個高頻的問題。openEuler 願意去做這樣的兼容,向下區兼容硬件,向上更好地支撐軟件。

openEuler 是一個兼容多算力的操作系統,它不是一個傳統意義上的操作系統的概念。我們更願意稱其爲 openEuler 社區,我們的合作伙伴和社區成員構建了很多 SIG 組(興趣小組),每個 SIG 組可能都面向不同的場景,雲、邊、端、AI、IOT 等等,甚至不乏一些跨場景的創新。所以這些主流架構的支持,其實並不僅僅來源於華爲,這其中還有更多來自社區的創新與創造。openEuler 開源以後的開發工作都是華爲與社區共同參與,未來的發展除了華爲本身的貢獻,還要依靠社區的力量,一起把開源的生態做好,用開源的方式去滿足更多或主流、或長尾的需求。

openGauss:企業級開源數據庫

在數據庫場景下,以 MySQL, PgSQL 爲代表的開源數據庫已經成爲主流選擇,但企業級用戶對企業關鍵數據、核心業務的承載體,有着性能,安全和運維的更高要求。

2019 年 5 月,華爲發佈了企業級數據庫 GaussDB,2019 年 9 月,華爲宣佈將開源 GaussDB,開源後將其命名爲 openGauss。2020 年 6 月 30 日,openGauss 正式面世,數據庫源代碼對外開放。

  • 6 月 30 日發佈第一個開源版本,聚焦 openGauss 與鯤鵬協同性能優化。基於 2 路鯤鵬服務器,性能可以達到 150 萬 tpmc ,相對業界主流產品有 50% 性能超越;
  • 12 月底將發佈多引擎融合版本,通過 HTAP 行列混合存儲、MOT 內存存儲、PITR 在線備份以及即時恢復等三個創新技術,打造支持事務型和分析型混合負載的融合數據庫引擎。以 MOT 技術爲例,通過把數據表分析內存化,經過實測,性能提升到 250 萬 tpmc;
  • AI-Native 也是一個重要的數據庫特性,目前 openGauss 已經支持 AI 參數調優,SQL 性能預測等功能,12 月底還會加入智能索引推薦,智能負載預測等功能。明年 openGauss 將會推出推薦系統、監督學習等 DB4AI 的高級特性。

openLooKeng:大數據虛擬化引擎

華爲在大數據領域的耕耘也有很長時間,我們觀察到了大數據領域的一個痛點就是開源的平臺有很多,比如 Hadoop、Spark,HBase,Key-Value 等等不同的平臺、引擎、存儲。這些不同的數據引擎其實又成爲了另一種數據孤島,openLooKeng 可以跨不同的大數據引擎做統一的數據虛擬化的查詢、數據湖的分析,可以解決實際上的一些痛點。

openLooKeng 具備三個重要的能力:

  1. 跨源關聯分析:通過開放數據連接框架支持異構的數據源接入,從而實現跨多個數據源的碰撞和關聯查詢,真正實現了對數據源的採集變連接,減少傳統 ETL 操作,實現數據 0 搬遷,釋放多源數據的碰撞潛力。當前的 openLooKeng 支持接入 hadoop 體系生態的數據源,比如 Hive,HBase 等,同時也支持 NoSQL 和 RDBMS 等數據庫的接入。
  2. 跨域協同計算:作爲支持跨域協同計算的開源大數據引擎,openLooKeng 實現了高效的跨域跨 DC 的數據查詢,讓應用在廣域網的部署下擁有局域網的體驗。
  3. 高性能:openLooKeng 目前在北向通過統一 SQL 提供查詢入口,同時在引擎內核層通過跨源索引、動態過濾、算子下推等關鍵技術,支持海量數據複雜場景的高性能需求,最終實現了從 ms—s 級的交互式查詢能力。

不到一年時間,三個“open”社區迎來了蓬勃發展,近一百家企業組織機構加入了社區貢獻者的行業。其中 openEuler 社區有超過 2000 的貢獻者,僅僅開放了三個月的 openGauss 和 openLooKeng 社區,也都迎來了 500 和 200 的貢獻者。而這些貢獻者裏面,非華爲的貢獻者已經超過了 70%。

開源、商業與技術未來

雲計算髮展至今,顛覆了業界傳統的商業模式。以云爲依託,探索一條軟硬結合的破局之道,這是當前各大巨頭雲廠商的發力支點。華爲在過去兩年間在硬件、軟件的產品發佈以及二者的協同、調優方面做了很多的工作。背後的邏輯很簡單,只做硬件,你就沒有生態。只做軟件,你就失去了基石。

雲是一個肉眼可見的發展趨勢,在其之下很多創新都會發生。雲上支撐的業務已經遠超我們所能想象,在這種創新的大前提下,單純只做硬件或軟件的創新可能都不夠,軟硬件的結合創新是背後的驅動力所在。雲的好處一是降低成本,二是加速開發部署速度,在此基礎上必然不斷帶來新的需求,包括調度、打包、分發等,對軟硬件配合的能力要求更高,倒逼雲廠商探索新的模式。

在雲邊端的協同方面,你會發現在這三個不同的場景下的硬件架構可能都不一樣,在 openEuler 出來之前我們缺乏一個統一的操作系統能夠把三者結合起來,這種跨平臺、跨算力的操作系統業界幾乎還沒有。這也是華爲努力推動開放開源的 openEuler 社區發展的原因所在。

開源的魅力,在於聯接各方力量,重新分配資源以取得更大創新。

很多人覺得開源是一種商業模式,但在我看來,開源是一種資源組織模式,它更類似於一種生產關係。在開源以前,很多創新都是由單一的企業來進行,但在開源以後卻是由整個社區裏的企業、開發者來一起實現創新,這是開源的魅力和強大所在。另一方面,不管是對企業還是個人,對開源抱有一定的目的性都無可厚非。企業的本質就是自給自足,商業盈利,如果說哪家企業說自己主要出發點不是爲了商業回報,這顯然不符合商業邏輯。

一個好的開源項目如果有好的商業模式,可以吸納更多的資源進來,社區中的企業或者開發者如果找到更好的商業模式,本身也能爲其帶來助力作用。從組織的角度是不是一定要去做開源,利用開源去達成商業化,需要看組織是不是想要構建一個大的生態,以此來輔助商業目標的達成。從華爲的角度看,選擇開源這條路,是因爲我們認爲團結儘可能廣泛的開發者和合作夥伴一起能實現我們的目標和願景。

所以從我的角度看,開源和商業是一個正交的關係。你可以站在開源角度看商業,也可以站在商業角度看開源。

對於國內的開源環境,堵俊平認爲開發者們應該對於國內企業的開源更加寬容,開源本身是一個勇敢者的遊戲,中國開源的現狀有其歷史包袱,也有一些侷限性。但把時間跨度拉長,我們可以發現這個局面的轉變是向好的。

我們在開源社區的建設中也發現,目前國內開源貢獻者中來自高校的學生羣體越來越多。我覺得學生羣體做開源有幾個好處,第一學生時間相對比較充裕,第二學生包容性更高,第三學生在參與開源社區的建設以後,在未來的工作中將爲國內的各大企業帶來開源的火種。

受訪者介紹

堵俊平,現爲華爲雲與計算開源業務(OSDT)總經理,開放原子開源基金會 TOC(技術監督委員會)主席,Apache 軟件基金會 Member, Apache Hadoop PMC & Committer 以及 Apache NuttX, YuniKorn 等項目導師。

加入華爲前,歷任騰訊開源聯盟主席 / 數據平臺部總監,Hotonworks Hadoop 核心團隊(美國)負責人等角色,積累了在雲計算,大數據以及開源領域長期的研發、管理和業務經驗,具有廣闊的技術視野和業界影響力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章