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