導讀:2018至2019年,在那風起“云”涌的日子里,傳統(tǒng)IT企業(yè)和云服務提供商紛紛盯上了開源這塊富饒的土地。
極客網(wǎng)·極客觀察(朱飛)2018至2019年,在那風起“云”涌的日子里,傳統(tǒng)IT企業(yè)和云服務提供商紛紛盯上了開源這塊富饒的土地。繼微軟75億美元收購素有“開發(fā)者神器”之稱的GitHub后,藍色巨人IBM斥資340億美元拿下開源界“一哥”Red Hat,阿里巴巴也以9000萬歐元攬得Flink背后的創(chuàng)業(yè)新星Data Artisans (后更名為Ververica),代表中國企業(yè)參與全球化開源開發(fā)者生態(tài)的布局與角逐。
短短數(shù)年后,這些當年多多少少都曾被詬病“商業(yè)公司破壞開源生態(tài)”的收購案,如今恰恰證明商業(yè)巨頭介入對于開源生態(tài)的持續(xù)繁榮是何等重要。種種跡象表明,在時代變革的浪潮下,迅速發(fā)展的公有云廠商不僅不是開源的“攔路虎”,反而還能促進開源軟件生態(tài)快速成長,正在成為開源的引領者。
僅2022年我們看到,Github 新增了2050萬開發(fā)人員,總數(shù)達到 9400萬,同比大增27%。Flink的Github Star數(shù)和貢獻者人數(shù)也在以同比超30%的速度增長,如今Star數(shù)已超2萬個,擁有上千名貢獻者 (contributors),有超過20萬開發(fā)者關注、超過100家國內(nèi)外知名公司參與代碼貢獻,月下載量峰值突破1400萬次,已連續(xù)兩年蟬聯(lián)Apache基金會財年報告最活躍項目。
這些事實無疑再次印證了開源軟件領域那些“金玉良言”——開源與商業(yè)并不矛盾:開源項目背后的商業(yè)公司,往往是推動開源項目生態(tài)繁榮的關鍵;開源項目后面的商業(yè)公司若不在,開源項目本身必然走向衰落或滅亡。
單以Flink這一開源項目從“技術領先”到“生態(tài)領先”的蛻變之旅來看,這種“鐵律”到云時代不僅沒有失效,反而得到了發(fā)揚光大。阿里的深度介入,為這個誕生于歐洲的項目注入了來自中國的雄厚的技術、人才和應用生態(tài),推動Flink全球化社區(qū)快速演進,支撐各行各業(yè)規(guī)模商用,一路狂飚成為全球大數(shù)據(jù)實時計算業(yè)界的事實標準!
生于歐洲爆發(fā)于中國,中國開發(fā)者推動Flink狂飆
Flink最早誕生于德國柏林工業(yè)大學大數(shù)據(jù)研究項目Stratosphere。2014年,Stratosphere項目組核心成員孵化出Flink,將Flink定位為主攻流處理計算 (Streaming) 的大數(shù)據(jù)引擎;同年,將Flink捐贈給Apache軟件基金會。2015年,F(xiàn)link成為Apache頂級項目。
在Flink橫空出世之前,上一代流式計算引擎的名字叫Storm。Flink取而代之的關鍵在于它是一款有狀態(tài)的流計算,而Storm沒有。換句話說,除了低延遲、高吞吐的流計算能力,F(xiàn)link還能夠?qū)⒘饔嬎闩c狀態(tài)存儲進行有機融合,從而在框架層支持整個流計算狀態(tài)的精準數(shù)據(jù)一致性。正因為如此,F(xiàn)link很快擊敗Storm,受到開發(fā)者青睞,迅速成為Apache頂級項目。
不過,F(xiàn)link真正的爆發(fā)始于2019年。彼時,F(xiàn)link技術路線最早的擁躉之一——阿里收購了Flink背后的公司,成為Flink社區(qū)最大的推動者;同年,阿里將內(nèi)部自研并演進多時的Flink分支Blink開源,一舉為Flink貢獻超百萬行代碼。特別是Stream SQL的注入,使得Flink社區(qū)也有了一套非常易用的Stream SQL,開發(fā)者們無需再寫高難度的Java代碼,大幅降低了開發(fā)門檻。
自那以后阿里在核心技術、人才培養(yǎng)、社區(qū)運營以及應用落地等維度持續(xù)發(fā)力,中國開發(fā)者大量涌入,推動Flink全球化生態(tài)實現(xiàn)爆發(fā)式增長。數(shù)據(jù)顯示,F(xiàn)link迄今已有超過20萬開發(fā)者關注、超過100家國內(nèi)外知名公司參與代碼貢獻,月度下載量峰值已突破1400萬次,形成了龐大的用戶和開發(fā)者生態(tài)。其中2022年阿里、騰訊、字節(jié)跳動等中國企業(yè)貢獻了超過一半的代碼;Flink社區(qū)在Github上產(chǎn)生的Pull Request有45%來自于中國開發(fā)者,表明中國開發(fā)者已經(jīng)成為Flink全球化社區(qū)的中堅力量。
在中國開發(fā)者力量的大力驅(qū)動下,F(xiàn)link從2020年開始已成為全球范圍內(nèi)大數(shù)據(jù)實時計算業(yè)界的事實標準。如今只要想到實時流計算,基本上都會選擇Apache Flink。其應用也從早期的互聯(lián)網(wǎng)行業(yè)逐步擴展到政務、金融、制造、零售、交通出行、傳媒、游戲、科技等更多行業(yè)。短短數(shù)年間,F(xiàn)link完成了一個開源項目從技術領先到生態(tài)領先的蛻變之旅!
從使用者到主導者,阿里引領Flink社區(qū)快速演進
眾所周知,開源社區(qū)是開源生態(tài)發(fā)展壯大的根基。中國不缺開發(fā)者,但長期以來在開源軟件領域的形象是世界開源大國,而不是開源強國,其中最顯著的標志是缺乏擁有主導權的開源社區(qū),無法定義和掌控核心項目的走向。近些年在政策及市場需求的驅(qū)動下,領先企業(yè)紛紛邁出了構建具有主導權的開源社區(qū)的步伐。阿里之于Flink社區(qū),正是其中的典型。
熟悉阿里業(yè)務的都知道,大數(shù)據(jù)實時計算可謂是阿里最顯著的標簽之一。比如每年雙11我們看到天貓交易大屏幕上顯示的那些跳動的實時成交數(shù)字,就是實時流計算的結(jié)果。那些瞬息變化的數(shù)字,需要匯總各個地方的海量報表、數(shù)據(jù)庫等數(shù)據(jù),在毫秒級別的時間延遲內(nèi)進行計算,并將計算結(jié)果匯總為單一的視圖呈現(xiàn)。此外諸如實時廣告、推薦、欺詐檢測、服務質(zhì)量監(jiān)控等等,背后都有實時流計算的身影。
所以早在2015年阿里就開始調(diào)研Flink,并于2016年在雙11搜索推薦場景中首次使用,隨后利用Flink實現(xiàn)了搜索推薦和在線學習全鏈路實時化。2017年,F(xiàn)link成為阿里集團內(nèi)實時計算的標準解決方案。
2018年,阿里將Flink上云,開啟阿里云上基于Flink的商業(yè)化產(chǎn)品供給,以更好地為中小企業(yè)服務。同年,阿里將Flink的標桿大會Flink Forward引入中國并連續(xù)舉辦,讓廣大中國開發(fā)者與這個大數(shù)據(jù)領域的頂級技術大會零距離接觸,加速了Flink社區(qū)在中國的滲透。
然后是關鍵的2019年,阿里收購Flink背后的公司,并開源自己在Flink技術路線上潛心打造的Blink回饋社區(qū),以超百萬行代碼的貢獻在Runtime、SQL、PyFlink、ML等多個維度大幅提升了Flink的表現(xiàn),隨后開始主導推進Flink的版本發(fā)布,攜手中國開發(fā)者力量開啟全球化社區(qū)建設之旅。同年阿里云推出全球統(tǒng)一的Flink企業(yè)版平臺Ververica Platform,持續(xù)在開源產(chǎn)品化方面發(fā)力。
2020年,阿里將“壓箱底”的Blink內(nèi)核也合并到Flink內(nèi)核中,同時發(fā)起Apache Flink中文社區(qū),全面支持開源社區(qū)的全球化發(fā)展。當年雙11,F(xiàn)link包攬了阿里集團內(nèi)部所有的全鏈路實時化解決方案,規(guī)模達到百萬級CPU Core,實時數(shù)據(jù)處理峰值創(chuàng)下40億條記錄/秒的新紀錄。自那時起,隨著阿里云的產(chǎn)品和內(nèi)部服務都基于開源的Flink內(nèi)核來實現(xiàn),AWS、Cloudera等云計算和大數(shù)據(jù)廠商均將Flink內(nèi)置為標準的云產(chǎn)品,F(xiàn)link成為事實上的全球?qū)崟r計算標準!
數(shù)據(jù)顯示,截至目前阿里與Ververica共同主導了211個FLIP,貢獻了Flink 70%以上的核心改進;累計培養(yǎng)了近70位Flink核心貢獻者 (含項目管理委員會PMC成員和活躍貢獻者committer),占比超70%;連續(xù)舉辦了4屆FFA大會 (Flink Forward Asia)及各種開發(fā)者活動,大力推廣Flink生態(tài);通過阿里云上的Flink云產(chǎn)品和Flink企業(yè)版平臺Ververica Platform,推動了Flink在各行各業(yè)的規(guī)模落地……可以說在方方面面都發(fā)揮了關鍵推手的作用。
至此,阿里從使用開源、貢獻開源到主導開源,蹚出了一條構建具有主導權的開源社區(qū)的成功路徑,向世界證明了中國的技術、人才和應用生態(tài)不僅可以和世界開源社區(qū)接軌,而且還能引領全球化開源社區(qū)的快速演進、蓬勃發(fā)展。
向“流式數(shù)倉”演進,加速“流批一體”時代到來
當然必須意識到,開源世界的技術更迭是無比迅捷的。從Hadoop、Hive到Storm再到Spark、Flink,從批處理到流計算再到“流批一體”,技術架構與市場需求總是在做雙向選擇,稍不留神就有可能被“后浪”拍死在沙灘上??傮w來看,如今無論是批處理還是流計算出生的技術架構,都在將流批一體作為努力方向,力爭以一套引擎同時滿足實時和離線計算需求。
有鑒于此,阿里在2019年將Blink代碼貢獻給Flink后,便著手從1.9版本開始主導推動Flink流批一體融合,包括在API層面實現(xiàn)SQL與DataStream的流批統(tǒng)一,用戶只需寫一份代碼即可運行在流模式或是批模式;在架構層面實現(xiàn)一個作業(yè)同時處理有限數(shù)據(jù)集和無限數(shù)據(jù)集,并且同時對接流式存儲和批式存儲,一套代碼處理兩套數(shù)據(jù)源;在運行層面做到一套調(diào)度框架同時適用于流和批的作業(yè)……
在阿里巴巴開源委員會副主席、阿里云開源大數(shù)據(jù)平臺負責人、Flink中文社區(qū)發(fā)起人王峰看來,下一階段Flink社區(qū)新的機會點是繼續(xù)提升一體化的體驗,解決存儲層割裂的問題,來實現(xiàn)一套實時數(shù)據(jù)鏈路。通過Flink流批一體的SQL和流批一體的存儲,構建一套真正一體化體驗的流式數(shù)倉 (Streaming Warehouse)。
而實現(xiàn)流式數(shù)倉的關鍵在于打造生產(chǎn)可用的流批一體存儲,同時支持高效的流讀、流寫、批讀、批寫,讓數(shù)倉的數(shù)據(jù)流動起來。為此阿里在2022年發(fā)起Flink Table Store (現(xiàn)已更名為Paimon)項目,旨在實現(xiàn)流批一體的存儲能力,推動Flink從流式計算走向流式數(shù)倉,使得用戶在整個全鏈路的開發(fā)過程中都可以擁有全增量一體化的開發(fā)體驗,以及統(tǒng)一的數(shù)據(jù)存儲和管理體系,實現(xiàn)“終極”的流批一體。
毋庸諱言,以流式數(shù)倉為代表的流批一體時代一旦到來,將不僅意味著業(yè)務開發(fā)效率和計算性能的進步,也會讓計算集群的資源利用率得到進一步提升。畢竟,批和流一套引擎,運行在一套資源底座上,不僅會節(jié)省開發(fā)和運維成本,同時也會大幅節(jié)省計算所耗的資源成本——這在算力昂貴的數(shù)智經(jīng)濟時代別提有多重要。阿里引領下的Flink社區(qū)以此為演進目標,足見背后的雄心壯志。
小結(jié):
“中國開發(fā)群體走向哪里,哪里就有可能成為制高點?!敝袊茖W院院士王懷民在2022開放原子開源峰會上指出,“中國開發(fā)者在世界開源領域所扮演的角色,正在從項目主要參與者演變?yōu)橐恍┚哂写硇缘拈_源項目的發(fā)起者和主導者?!睆腇link這個阿里代表性的開源實踐案例看,這一論斷正在被現(xiàn)實驗證,崛起的中國開發(fā)者推動了Flink的狂飆,正在全球開源舞臺扮演更重要的角色!
深究這一切發(fā)生的底層邏輯,正如開篇所說,商業(yè)巨頭主導是推動開源項目生態(tài)繁榮的關鍵。當云與開源在新的計算時代互相吸引,浪潮之巔的云巨頭有能力也有責任構建具有主導權的開源社區(qū),將先進的開源技術以更低的門檻推向更廣闊的市場。事實也表明,領先的云廠商正在成為開源的引領者,以云+開源構筑數(shù)字世界的根基,支撐各行各業(yè)開發(fā)者擁抱云與開源,加速邁向數(shù)智未來。