阿里為什么要拿下Flink?新思路、新布局

如果這不是因?yàn)榘⒗镄履晗M(fèi)的第一個(gè)大單,更多人知道Flink或許還會(huì)晚一點(diǎn)。據(jù)歐洲外媒Deutsche Startups報(bào)道,阿里巴巴集團(tuán)以1.033億美元(9000萬(wàn)歐元)的價(jià)格收購(gòu)了總部位于柏林的初創(chuàng)公司Data Artisans。此消息之后得到了多家媒體從阿里處的證實(shí)。

由于Data Artisans擁有著一種代表當(dāng)今大數(shù)據(jù)流處理引擎的前沿技術(shù),讓阿里這一收購(gòu)舉動(dòng)引起了相關(guān)業(yè)界不小的反響。尤其是,在阿里集團(tuán)剛剛進(jìn)行一次大規(guī)模組織架構(gòu)調(diào)整后,需要依靠更加智能化的云計(jì)算技術(shù)融合到阿里系更為多元化的發(fā)展格局中,收購(gòu)Data Artisans不失為面向新戰(zhàn)略的一次有力布局。

阿里的Flink血液

不熟悉的Data Artisans的讀者,會(huì)很容易錯(cuò)過(guò)那些因標(biāo)題為“阿里巴巴收購(gòu)德國(guó)數(shù)據(jù)公司”這種平淡表述下的很多信息。即使那約1億美元的收購(gòu)額表述,在有著近4000多億美元體量的的阿里賣(mài)賣(mài)賣(mài)的歷程中,對(duì)比之前收購(gòu)餓了么的95億美元、36.7億美元拿下優(yōu)酷土豆等等,也實(shí)在是難入法眼。

但其實(shí),Data Artisans手里握著一項(xiàng)當(dāng)今大數(shù)據(jù)流處理引擎為數(shù)不多的前沿技術(shù),叫做Flink。Flink核心是一個(gè)流式的數(shù)據(jù)流執(zhí)行引擎,其針對(duì)數(shù)據(jù)流的分布式計(jì)算提供了數(shù)據(jù)分布、數(shù)據(jù)通信以及容錯(cuò)機(jī)制等功能。企業(yè)依托Flink技術(shù)體系建立的大數(shù)據(jù)流處理引擎解決方案,可以更合理更快速地獲得計(jì)算結(jié)果投入到企業(yè)決策。Data Artisans在2015年初將Flink貢獻(xiàn)給Apache社區(qū)并成為該社區(qū)的頂級(jí)項(xiàng)目,Data Artisans此后持有多個(gè)并行流的data Artisans Platform成為Flink的商業(yè)版本。

據(jù)Data Artisans官網(wǎng)介紹,其dA平臺(tái)由Apache Flink和dA Application Manager組成,“包括與容器編排、持續(xù)集成/持續(xù)交付(CI/CD)、日志記錄、度量指標(biāo)和狀態(tài)存儲(chǔ)整合的隨時(shí)可用的功能,為公司客戶提供了單一視圖,以便了解所有的數(shù)據(jù)流處理應(yīng)用。”其客戶包括阿里巴巴、荷蘭國(guó)際集團(tuán)(ING)、Netflix、優(yōu)步、Lyft、、eBay、yelp、華為和Capital One等。

在Data Artisans的客戶名單里我們輕而易舉的發(fā)現(xiàn)了阿里,其中他每年雙十一時(shí)讓我們?cè)诎⒗锟偛慷⒅哪莻€(gè)大屏幕上顯示實(shí)時(shí)成交數(shù)字,其背后就是依賴Flink技術(shù)。那塊屏幕顯示的數(shù)字,需要通過(guò)巨大的網(wǎng)絡(luò)流量匯總各個(gè)地方的報(bào)表、數(shù)據(jù)庫(kù)等的數(shù)據(jù),并需要在毫秒級(jí)別的時(shí)間延遲之內(nèi)進(jìn)行計(jì)算,并將計(jì)算結(jié)果匯總為單一的視圖,即我們可以通過(guò)一塊屏幕觀察到的結(jié)果,這樣的技術(shù)實(shí)現(xiàn)正是大數(shù)據(jù)流處理引擎技術(shù)在當(dāng)今成為AI時(shí)代頂梁柱的核心原因。

如果說(shuō)Flink建立的技術(shù)體系對(duì)AI時(shí)代是強(qiáng)需求,對(duì)阿里就是核心需求。為此,阿里在Flink引入內(nèi)部團(tuán)隊(duì)后打造了Blink。據(jù)透露,目前阿里巴巴所有的業(yè)務(wù),包括阿里巴巴所有子公司都采用了基于Flink搭建的實(shí)時(shí)計(jì)算平臺(tái)。另外,阿里巴巴集團(tuán)副總裁周靖人之前宣布,阿里巴巴內(nèi)部 Flink 版本 Blink 將于 2019 年 1 月正式開(kāi)源,這就意味著阿里未來(lái)將會(huì)主要以Blink的身份來(lái)投入Flink 的社區(qū)貢獻(xiàn)了。

阿里巴巴集團(tuán)副總裁周靖人

可以說(shuō),一路下來(lái),對(duì)Flink的投入,阿里已經(jīng)證明了自己在大數(shù)據(jù)計(jì)算領(lǐng)域的戰(zhàn)略眼光。

首先,阿里較早地看到了業(yè)務(wù)發(fā)展需要在大數(shù)據(jù)時(shí)代里需求解決方案。有著十年服務(wù)中國(guó)企業(yè)云計(jì)算從業(yè)歷史的阿里,已經(jīng)在第一線看到了大數(shù)據(jù)量爆發(fā)帶給企業(yè)的業(yè)務(wù)壓力,需要有高吞吐、低延遲的大數(shù)據(jù)計(jì)算解決方案服務(wù)自己的大規(guī)模數(shù)據(jù)業(yè)務(wù)場(chǎng)景。早在2004的時(shí)候,谷歌自己就放棄了自己創(chuàng)立的大數(shù)據(jù)離線計(jì)算鼻祖,PB規(guī)模數(shù)據(jù)同時(shí)計(jì)算是MapReduce難以逾越的瓶頸。此后Spark發(fā)展至今,用批處理方式將大數(shù)據(jù)計(jì)算帶入分鐘級(jí)的反應(yīng)延遲。如今,流式主導(dǎo)的分布式計(jì)算正在主導(dǎo)大數(shù)據(jù)計(jì)算引擎將企業(yè)帶入近乎實(shí)時(shí)數(shù)據(jù)環(huán)境。為此,阿里巴巴計(jì)算平臺(tái)事業(yè)部資深技術(shù)專家莫問(wèn)在云棲大會(huì)上指出,2014年Flink憑借高吞吐、低延遲等其它高級(jí)功能而在開(kāi)源大數(shù)據(jù)引擎界展露頭角,在2015年則將Flink引入團(tuán)隊(duì)研發(fā),期望將來(lái)可服務(wù)于自己的超大規(guī)模數(shù)據(jù)業(yè)務(wù)場(chǎng)景。

第二,阿里認(rèn)識(shí)到Flink的開(kāi)源技術(shù)基因與自己業(yè)務(wù)融合的落地空間。作為Apache的頂級(jí)大數(shù)據(jù)流式計(jì)算引擎,F(xiàn)link并不孤獨(dú)。這兩年谷歌支持的Beam、DataTorrent支持Apache Apex都成了開(kāi)源在這領(lǐng)域里的佼佼者。同時(shí),來(lái)自twitter的Storm、LinkedIn的Samza也憑借獨(dú)特的優(yōu)勢(shì)各領(lǐng)風(fēng)騷。對(duì)此,阿里看到了其可以在Flink上發(fā)展的“非共識(shí)”空間,莫問(wèn)認(rèn)為用戶需要有一套統(tǒng)一的大數(shù)據(jù)引擎技術(shù),只需要根據(jù)自己的業(yè)務(wù)邏輯開(kāi)發(fā)一套代碼,在各種不同的場(chǎng)景下,不管是全量數(shù)據(jù)還是增量數(shù)據(jù),亦或者實(shí)時(shí)處理,一套方案即可全部支持。“這就是阿里選擇Flink的背景和初衷。”莫問(wèn)表示。

第三,將Flink引入阿里全線業(yè)務(wù),從而用場(chǎng)景優(yōu)勢(shì)拓展了Flink技術(shù)棧前進(jìn)空間。Flink最高成就顯然是以其在阿里的應(yīng)用為布局的。關(guān)于Flink在阿里巴巴的大規(guī)模應(yīng)用,莫問(wèn)披露,F(xiàn)link最初上線阿里巴巴只有數(shù)百臺(tái)服務(wù)器,目前規(guī)模已達(dá)上萬(wàn)臺(tái),此等規(guī)模在全球范圍內(nèi)也是屈指可數(shù);基于Flink,內(nèi)部積累起來(lái)的狀態(tài)數(shù)據(jù)已經(jīng)是PB級(jí)別規(guī)模;如今每天在Flink的計(jì)算平臺(tái)上,處理的數(shù)據(jù)已經(jīng)超過(guò)萬(wàn)億條;在峰值期間可以承擔(dān)每秒超過(guò)4.72億次的訪問(wèn),最典型的應(yīng)用場(chǎng)景是阿里巴巴雙11大屏。

Flink技術(shù)支持了阿里雙十一購(gòu)物節(jié)大屏顯示的海量實(shí)時(shí)計(jì)算結(jié)果

第四,阿里將Flink帶到前沿戰(zhàn)場(chǎng),創(chuàng)新聚焦在真正變革上。在阿里著手改造Flink之前,F(xiàn)link針對(duì)“一套統(tǒng)一的大數(shù)據(jù)引擎技術(shù)”已經(jīng)初露端倪。大數(shù)據(jù)計(jì)算引擎在批處理與流式計(jì)算之間,最大的不在于數(shù)據(jù)進(jìn)入計(jì)算引擎后,駐留緩存的時(shí)間方式的不同,批處理取決于駐慢緩存空間之后落地長(zhǎng)期存儲(chǔ),而流式計(jì)算旨在規(guī)定的時(shí)間或是容量?jī)?nèi)會(huì)將數(shù)據(jù)發(fā)送到下一節(jié)點(diǎn)。Flink較同期方案,如Spark、Storm等,優(yōu)勢(shì)就在于可以同時(shí)兼顧兩種方案計(jì)算于一套計(jì)算引擎,但無(wú)法“統(tǒng)一”為一個(gè)堆棧。為此,阿里巴巴在Flink上提出了新的統(tǒng)一API架構(gòu),采用DAG(有限無(wú)環(huán)圖)API。“整個(gè)拓?fù)涫强梢匀诤吓鹘y(tǒng)一的語(yǔ)義表達(dá),整個(gè)計(jì)算無(wú)需區(qū)分是流計(jì)算還是批計(jì)算,只需要表達(dá)自己的需求。”

Flink的未來(lái),已經(jīng)決定這阿里的技術(shù)基因走向。莫問(wèn)在云棲大會(huì)上提出了Flink的未來(lái)三個(gè)方向:首先,讓Flink在更多的場(chǎng)景下落地,成為一種主流的批計(jì)算引擎。然后進(jìn)一步在流和批之間進(jìn)行無(wú)縫的切換,流和批的界限越來(lái)越模糊。其次,讓Flink的生態(tài)上有更多語(yǔ)言的支持,不僅僅是Java,Scala語(yǔ)言,甚至是機(jī)器學(xué)習(xí)下用的Python,Go語(yǔ)言。還有,完善上層Flink的Machine Learning算法庫(kù),同時(shí)Flink往上層也會(huì)向成熟的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)場(chǎng)景集成。

不難看出,F(xiàn)link的技術(shù)優(yōu)勢(shì)讓阿里看到了符合自己大規(guī)模業(yè)務(wù)場(chǎng)景支持的預(yù)期,未來(lái)深度學(xué)習(xí)場(chǎng)景的構(gòu)建需要從現(xiàn)有批流融合,發(fā)展為更加開(kāi)放和智能的落地場(chǎng)景,不斷拓展Flink的生態(tài)。

阿里需要拓寬技術(shù)護(hù)城河

Flink項(xiàng)目是大數(shù)據(jù)處理領(lǐng)域最近冉冉升起的一顆新星。有關(guān)其技術(shù)優(yōu)勢(shì)我們?cè)凇冻绦騿T》雜志的《深入理解Flink核心技術(shù)》,以及阿里團(tuán)隊(duì)發(fā)表在其云棲社區(qū)的兩篇文章《Flink已經(jīng)足夠強(qiáng)大了嗎?阿里巴巴說(shuō):還不夠》和《阿里巴巴為什么選擇Apache Flink?》中已經(jīng)有了非常詳盡的解讀。

總結(jié)來(lái)看,F(xiàn)link在2015年之前穩(wěn)定性、安全性方面廣受質(zhì)疑,阿里投入研發(fā)后,通過(guò)架構(gòu)變革、創(chuàng)新中間業(yè)務(wù)層、整合計(jì)算流程、開(kāi)發(fā)融合適配接口等等,F(xiàn)link可以說(shuō)迎來(lái)脫胎換骨的巨大發(fā)展優(yōu)勢(shì)。

完成對(duì)Data Artisans的收購(gòu),阿里無(wú)疑可以進(jìn)一步整合Flink的整個(gè)生態(tài)資源,作出更有利于Flink發(fā)展的規(guī)劃。不過(guò),隨著Flink的一些競(jìng)爭(zhēng)對(duì)手也陸續(xù)實(shí)現(xiàn)了阿里在技術(shù)上的領(lǐng)先優(yōu)勢(shì),F(xiàn)link在帶給阿里未來(lái)強(qiáng)化大數(shù)據(jù)事實(shí)計(jì)算領(lǐng)先地位上,也充滿諸多未知數(shù)。

首先,收購(gòu)前Flink有獨(dú)立供應(yīng)商Data Artisans支持,開(kāi)源貢獻(xiàn)使其技術(shù)發(fā)展路線容易符合更廣大用戶的預(yù)期。收購(gòu)后阿里對(duì)Flink發(fā)展的擁有絕對(duì)權(quán),其對(duì)社區(qū)貢獻(xiàn)的參與積極性或相對(duì)減弱。

我們看到,這幾年Samza在LinkedIn開(kāi)源后缺乏重量級(jí)用戶的加持而發(fā)展的舉步維艱。早在2014年成為頂級(jí)Apache流處理框架項(xiàng)目的它,在久前才進(jìn)入自己的1.0階段,而此時(shí)Flink已經(jīng)歷多次迭代到了1.8版本。LinkedIn的Sam Samza團(tuán)隊(duì)負(fù)責(zé)人Samarth Shetty為此在Samza 1.0的發(fā)布會(huì)上表示,當(dāng)他們第一次找尋流處理時(shí),現(xiàn)有的流處理框架很少能夠處理他們?cè)贚inkedIn上的規(guī)?;蚣夹g(shù)問(wèn)題,“例如,我們必須在Samza中構(gòu)建增量檢查點(diǎn)和主機(jī)關(guān)聯(lián)性等功能。當(dāng)時(shí)在Apache Flink等框架中無(wú)法使用這些功能。”顯然,阿里在Apache Flink社區(qū)貢獻(xiàn)已經(jīng)改變了這一局面。如今,阿里掌控Flink一家獨(dú)大,對(duì)于平衡Flink的商業(yè)版和社區(qū)之間的貢獻(xiàn),或許會(huì)有新的變化。

再者,當(dāng)下大數(shù)據(jù)流式計(jì)算技術(shù)突破競(jìng)爭(zhēng)過(guò)于聚焦,阿里的技術(shù)護(hù)城河還需要有新的突破。例如,即使阿里當(dāng)前得益于自己已經(jīng)在YARN上實(shí)現(xiàn)了API的連接得以將其運(yùn)行在資源管理器上,Samza則直接作為庫(kù)嵌入到應(yīng)用程序中并在任何資源管理器上運(yùn)行,從而讓計(jì)算引擎相對(duì)底層服務(wù)更加透明。除此之外,SQL支持現(xiàn)在成為流媒體的主戰(zhàn)場(chǎng),Kafka和Spark都有了,致力于支持用SQL創(chuàng)建交互式shell。

第三,隨著大數(shù)據(jù)流式計(jì)算可以提供更快的數(shù)據(jù)決策,用戶針對(duì)傳統(tǒng)批處理模式正在加速向?qū)崟r(shí)數(shù)據(jù)場(chǎng)景遷移,為此流式計(jì)算技術(shù)在做好創(chuàng)新架構(gòu)突破的同時(shí)也要注意對(duì)傳統(tǒng)數(shù)據(jù)資產(chǎn)的有效銜接。諸如,F(xiàn)link已經(jīng)在其分布式的流式計(jì)算框架中實(shí)現(xiàn)了事物的ACID操作,有效解決的事物的分布式存儲(chǔ)環(huán)境的緩存一致性和分布式鎖的概念。Data Artisans聯(lián)合創(chuàng)始人兼首席執(zhí)行官Kostas Tzoumas表示,他們正為這一技術(shù)申請(qǐng)專利,“我們?cè)试S公司擺脫他們真正昂貴和復(fù)雜的Oracle數(shù)據(jù)庫(kù),這些數(shù)據(jù)庫(kù)目前為他們提供ACID交易,并轉(zhuǎn)向允許您擴(kuò)展的新技術(shù),允許您實(shí)施自定義代碼,”他同時(shí)表示:“但存在一些明顯的局限性,例如Flink與Oracle數(shù)據(jù)庫(kù)不兼容API。”

在這方面,Spark因?yàn)槲茨芗皶r(shí)支持Spark結(jié)構(gòu)流和高級(jí)會(huì)話處理的新API,從而讓Netflix的高級(jí)數(shù)據(jù)工程師Arora決定Netflix批量作業(yè)遷移選擇了Apache Flink的流式操作。

第四,阿里在獲得Flink商業(yè)所有權(quán)后,需要更為清晰且落地的Flink商業(yè)規(guī)劃。在這方面,Apex似乎是個(gè)很好的例子。DataTorrent將其RTS平臺(tái)的核心處理引擎在兩年前開(kāi)放給Apache,當(dāng)時(shí)其已經(jīng)可以利用YARN實(shí)現(xiàn)按需規(guī)模伸縮且通過(guò)HDFS實(shí)現(xiàn)容錯(cuò)能力。那是的Flink依舊顯得稚嫩呢。不過(guò)在隨后的發(fā)展中,DataTorrent表越來(lái)越激進(jìn),諸如DataTorrent首席執(zhí)行官Guy Churchward宣布DataTorrent標(biāo)記的主要新功能包括通過(guò)與Druid集成擴(kuò)展支持SQL和分析,通過(guò)Python和PMML實(shí)現(xiàn)更多機(jī)器學(xué)習(xí)和AI功能,通過(guò)與Drools集成支持復(fù)雜事件處理規(guī)則,以及存儲(chǔ)和重放以記錄和重放來(lái)自一個(gè)時(shí)間點(diǎn)等諸多功能,從平臺(tái)方向到應(yīng)用軟件的創(chuàng)新讓DataTorrent的發(fā)展陷入一種混亂。在2018年2月,在Guy Churchward宣布其將提供流媒體數(shù)據(jù)應(yīng)用程序來(lái)實(shí)現(xiàn)顛覆性技術(shù)和顛覆性商業(yè)模式的90天后,DataTorrent破產(chǎn)了。顯然,由于流式計(jì)算和批處理在當(dāng)下依然有著較為明確的作用場(chǎng)景,阿里極力致力于批流一體化的實(shí)現(xiàn)還需要有明確的場(chǎng)景支撐才會(huì)更有說(shuō)服力。

第五,作為阿里云最為有利的兩個(gè)競(jìng)爭(zhēng)對(duì)手,Amazon或是微軟早已經(jīng)實(shí)現(xiàn)托管的高速實(shí)時(shí)流分析服務(wù),顯然阿里云的流式計(jì)算堆棧Flink還需進(jìn)一步完善。例如Amazon Kinesis可以從前端的應(yīng)用服務(wù)器(例如Web服務(wù)器)或者移動(dòng)的客戶端(手機(jī)等移動(dòng)設(shè)備或者IoT設(shè)備)直接注入流式數(shù)據(jù),數(shù)據(jù)可以通過(guò)EMR進(jìn)行流式處理和計(jì)算(例如基于Spark Stream的EMR計(jì)算框架),并將數(shù)據(jù)存儲(chǔ)于Amazon DynamoDB或者對(duì)象存儲(chǔ)S3之上。

根據(jù)MarketInsightsReports的數(shù)據(jù),預(yù)計(jì)到2025年全球流媒體分析市場(chǎng)將達(dá)到477.5億美元,從2017年到2025年將增長(zhǎng)34.98%。而在IDC在一份新白皮書(shū)中表示,到2025年,將近30%的所謂“全球數(shù)據(jù)球”將成為實(shí)時(shí)信息。而當(dāng)下,大數(shù)據(jù)、AI、物理網(wǎng)正在加速推動(dòng)流式計(jì)算集成到機(jī)器學(xué)習(xí)、人工智能框架中。阿里巴巴基于 Flink 搭建的平臺(tái)于 2016 年正式上線,并從阿里巴巴的搜索和推薦這兩大場(chǎng)景開(kāi)始實(shí)現(xiàn)。目前阿里巴巴所有的業(yè)務(wù),包括阿里巴巴所有子公司都采用了基于 Flink 搭建的實(shí)時(shí)計(jì)算平臺(tái)??梢韵嘈?,接下來(lái), Flink將在阿里豐富的場(chǎng)景下,有著更快的發(fā)展。

去年的時(shí)候,馬云在談到傳位于CEO張勇的時(shí)候,馬云期望張勇可以帶給阿里更多技術(shù)基因,讓整個(gè)阿里在人們心中的定位更多有技術(shù)商業(yè)化的色彩。

對(duì)此,一直對(duì)這方面技術(shù)和投資動(dòng)態(tài)有深入研究的國(guó)科嘉和基金執(zhí)行董事吳一洲認(rèn)為,這次并購(gòu)是阿里在技術(shù)上的一個(gè)認(rèn)真的思考和布局,批流結(jié)合有其特定場(chǎng)景,公有云或者私有云都可以打包 flink 作為批/流平臺(tái),能看出阿里對(duì)技術(shù)儲(chǔ)備的戰(zhàn)略意圖。同時(shí),吳一洲也認(rèn)為,這次并購(gòu)更深遠(yuǎn)的影響可能在于,之前公有云廠商薅開(kāi)源羊毛,若持續(xù)吸收控制開(kāi)源平臺(tái),那么未來(lái)開(kāi)源軟件在公有云上的授權(quán)策略可能會(huì)發(fā)生變化。第三,再看遠(yuǎn)一點(diǎn),她認(rèn)為很可能是大平臺(tái)儲(chǔ)備技術(shù)籌碼的開(kāi)始,對(duì)未來(lái)云服務(wù)的生態(tài)和格局會(huì)帶來(lái)影響。

推薦DIY文章
2022款iPadPro將可使用視頻編輯軟件達(dá)芬奇 使用軟件更專業(yè)
蘋(píng)果全新推出AppleTV 4K產(chǎn)品:流式傳輸可以千兆以太網(wǎng)進(jìn)行
智己L7SnakePerformance高性能版:新車(chē)瞄準(zhǔn)數(shù)秒級(jí)圈速提升
閃迪大師PRO-G40SSD外置固態(tài)硬盤(pán):兼具極速傳輸與耐用優(yōu)點(diǎn)
i9版ThinkBook14+/16+新品有望下月上市 首發(fā)約4999元起
512G M.2固態(tài)只要219元!沃存殺瘋了-環(huán)球快消息
精彩新聞

超前放送