今天,開(kāi)源軟件托管平臺(tái)github上的阿里巴巴主頁(yè)又增加了一個(gè)新項(xiàng)目:Atlas。Atlas意指巨人,它是Google聞名遐邇的波士頓機(jī)器人的外號(hào),也是手機(jī)淘寶團(tuán)隊(duì)的移動(dòng)容器化框架的代號(hào)。在去年的云棲大會(huì)上,阿里巴巴資深技術(shù)專家倪生華宣布將于2017年初開(kāi)源Atlas,現(xiàn)在這個(gè)承諾終于兌現(xiàn)了。
Atlas開(kāi)源解決了移動(dòng)開(kāi)發(fā)者什么痛點(diǎn)?
2013年馬云發(fā)表公開(kāi)信宣布阿里巴巴“All in無(wú)線”戰(zhàn)略,之后手機(jī)淘寶App的業(yè)務(wù)規(guī)模也迎來(lái)了爆發(fā)式增長(zhǎng),據(jù)阿里巴巴所公布的數(shù)據(jù)顯示,2016年第4季度阿里零售業(yè)務(wù)移動(dòng)端月度活躍用戶數(shù)已達(dá)到4.93億。
為了應(yīng)對(duì)暴增的業(yè)務(wù),手機(jī)淘寶開(kāi)發(fā)團(tuán)隊(duì)規(guī)模在2013年迅速?gòu)?00人增加到500、600人。當(dāng)時(shí)打造一個(gè)能夠迎合指數(shù)級(jí)增長(zhǎng)的業(yè)務(wù)以及千人級(jí)協(xié)作的移動(dòng)框架就成為手機(jī)淘寶技術(shù)團(tuán)隊(duì)的燃眉之急,Atlas應(yīng)運(yùn)而生,它基于手機(jī)淘寶客戶端的基礎(chǔ)框架重構(gòu)而來(lái),提供組件化、動(dòng)態(tài)性、解耦化的支持。
隨著互聯(lián)網(wǎng)公司業(yè)務(wù)進(jìn)入成熟期,大多數(shù)公司都擁有App矩陣,不同團(tuán)隊(duì)需并行開(kāi)發(fā),且不斷有新的App需要開(kāi)發(fā)。同時(shí)運(yùn)營(yíng)在移動(dòng)互聯(lián)網(wǎng)中正扮演越來(lái)越重要的角色。因此如何實(shí)現(xiàn)多團(tuán)隊(duì)并行、敏捷開(kāi)發(fā),同時(shí)能在不影響用戶和業(yè)務(wù)的情況下滿足運(yùn)營(yíng)端的頻繁更新需求,就成為移動(dòng)App開(kāi)發(fā)者的痛點(diǎn)。相對(duì)于市面上已有的移動(dòng)框架而言,Atlas可在工程期、運(yùn)行期、運(yùn)維期起作用。工程師可在一款A(yù)pp的工程編碼期、Apk運(yùn)行期和后續(xù)運(yùn)維期修復(fù)各種問(wèn)題,而不會(huì)對(duì)業(yè)務(wù)造成影響,事實(shí)上,早在2014年,手機(jī)淘寶技術(shù)團(tuán)隊(duì)就向業(yè)界分享過(guò)Atlas,Atlas也是業(yè)界起步最早的移動(dòng)端動(dòng)態(tài)化、組件化和容器化框架的開(kāi)源方案。
具體來(lái)說(shuō)它有這些特點(diǎn):
1、兼容性強(qiáng)確保業(yè)務(wù)穩(wěn)定運(yùn)行:將更多工作放到編碼期,且在運(yùn)行期提供類隔離等機(jī)制,可以保證業(yè)務(wù)穩(wěn)定,整個(gè)手機(jī)淘寶的crash率維持在萬(wàn)分之五左右,同時(shí)兼容性強(qiáng),支持4.0以后的所有系統(tǒng)版本,適配所有市面上的機(jī)型。
2、動(dòng)態(tài)更新能力強(qiáng),限制較少:通過(guò)組件化的分層設(shè)計(jì),確保客戶端無(wú)發(fā)版也可更新。手機(jī)淘寶是一款重運(yùn)營(yíng)的App,節(jié)假日活動(dòng)運(yùn)營(yíng)都會(huì)改變頁(yè)面結(jié)構(gòu)甚至菜單圖標(biāo),但用戶并不需要升級(jí)App就會(huì)看到全新界面,這種動(dòng)態(tài)更新能力正是基于Atlas框架而實(shí)現(xiàn)的。
3、支持規(guī)模協(xié)作和敏捷開(kāi)發(fā):Atlas擁有快速迭代能力,手淘自身超過(guò)60+業(yè)務(wù)組件、20個(gè)協(xié)作團(tuán)隊(duì),以及百萬(wàn)行級(jí)別代碼都在Atlas上運(yùn)行,且可以做到隨時(shí)發(fā)布,過(guò)去半年發(fā)布446次,平均每天2.4次。
4、適用于不同規(guī)模的App:阿里巴巴旗下有幾百個(gè)業(yè)務(wù),不同業(yè)務(wù)還處于不同周期,因此規(guī)模也完全不同,而Atlas是一個(gè)輕量級(jí)的框架,同時(shí)支持大小型App開(kāi)發(fā)。
5、提供相對(duì)完整的能力:不同組件提供完成的底層能力,業(yè)務(wù)層的開(kāi)發(fā)具有充分的自由度,且只需關(guān)注業(yè)務(wù)本身即可。
從Atlas特點(diǎn)來(lái)看,它的開(kāi)源具有重大意義。不論什么規(guī)模的安卓App均有可能受益于它,基于這一底層框架可以大幅降低開(kāi)發(fā)者工作量進(jìn)而聚焦于業(yè)務(wù)本身,業(yè)已被手機(jī)淘寶驗(yàn)證成功的多團(tuán)對(duì)協(xié)作、客戶端動(dòng)態(tài)更新等能力也可為App開(kāi)發(fā)者所用,可以說(shuō)Atlas開(kāi)源對(duì)移動(dòng)開(kāi)發(fā)者社區(qū)來(lái)說(shuō)是一個(gè)大事。
阿里移動(dòng)開(kāi)源三駕馬車即將成型?
由于阿里巴巴是從PC時(shí)代成功轉(zhuǎn)型移動(dòng)的巨頭,因此其過(guò)去的開(kāi)源并沒(méi)有突出移動(dòng)二字,反而是集中在數(shù)據(jù)庫(kù)、服務(wù)器端、中間件等領(lǐng)域。隨著阿里巴巴移動(dòng)轉(zhuǎn)型成功,阿里在移動(dòng)端的技術(shù)實(shí)力也在日積月累。阿里是中國(guó)唯一一家擁有移動(dòng)操作系統(tǒng)的公司,YunOS的設(shè)備數(shù)量已破億,阿里移動(dòng)端的技術(shù)實(shí)力隨著業(yè)務(wù)移動(dòng)轉(zhuǎn)型的成功而與日俱增,現(xiàn)在它正在積極將這些能力開(kāi)放出來(lái)。
除了日前開(kāi)源的Atlas之外,阿里移動(dòng)去年年中還開(kāi)源了Weex。Weex是便于開(kāi)發(fā)者構(gòu)建跨平臺(tái)UI的前端開(kāi)源框架,其被應(yīng)用在手機(jī)淘寶、天貓等多個(gè)阿里App中,雙11數(shù)千個(gè)會(huì)場(chǎng)、產(chǎn)品和商家風(fēng)格迥異的頁(yè)面能夠流暢展示,背后正式Weex在渲染。Weex一經(jīng)開(kāi)源就受到開(kāi)發(fā)者的追捧,2016年12月15日,阿里巴巴宣布將Weex捐贈(zèng)給Apache基金會(huì)開(kāi)始孵化,相信Atlas開(kāi)源之后也可能會(huì)被交給國(guó)際社區(qū)。
之前莊卓然(南天)曾透露,阿里無(wú)線技術(shù)擁有三駕馬車,分別是適于大規(guī)模開(kāi)發(fā)的容器化架構(gòu)Atlas、移動(dòng)網(wǎng)絡(luò)通信環(huán)境ACCS以及多端移動(dòng)應(yīng)用開(kāi)發(fā)環(huán)境Weex,阿里移動(dòng)技術(shù)的三駕馬車也已經(jīng)成熟,現(xiàn)在,Weex和Atlas已先后開(kāi)源,ACCS是否開(kāi)源還有待觀望。
馬云在三年前說(shuō)過(guò)這樣一段話:
“從今天的局勢(shì)來(lái)看,即使無(wú)線客戶端風(fēng)生水起,我們依舊應(yīng)該堅(jiān)持大力在云上投入。云端(Cloud +App)將是未來(lái)移動(dòng)互聯(lián)網(wǎng)的關(guān)鍵。”
現(xiàn)在看來(lái),阿里巴巴不只是在云端實(shí)現(xiàn)了技術(shù)的開(kāi)源,在端上也在走向開(kāi)源,將無(wú)線端的技術(shù)優(yōu)勢(shì)開(kāi)放出來(lái),為全球移動(dòng)開(kāi)發(fā)者社區(qū)打造關(guān)鍵基礎(chǔ)設(shè)施。
阿里如何成為中國(guó)開(kāi)源的關(guān)鍵力量?
訪問(wèn)阿里巴巴在開(kāi)源托管平臺(tái)Github的頁(yè)面可以看到它擁有上百個(gè)開(kāi)源項(xiàng)目。去年云棲大會(huì)公布的數(shù)據(jù)是有115個(gè)開(kāi)源項(xiàng)目,涉及到框架、組件、引擎、存儲(chǔ)/數(shù)據(jù)庫(kù)、系統(tǒng)、WebServer、中間件、工具、解決方案和設(shè)計(jì)諸多領(lǐng)域,其在開(kāi)發(fā)者社區(qū)知名度和使用度比較高的有分布式key/value存儲(chǔ)系統(tǒng) Tair、TFS 分布式文件系統(tǒng)、消息中間件 RocketMQ、分布式計(jì)算系統(tǒng) JStorm、淘寶Web服務(wù)器 Tengine等。去年阿里巴巴在開(kāi)源上動(dòng)作頻頻。中國(guó)頂級(jí)開(kāi)源社區(qū)OSChina公布“2016年度最受歡迎中國(guó)開(kāi)源軟件評(píng)選”結(jié)果,TOP20中阿里巴巴占4席。
隨著阿里巴巴移動(dòng)端開(kāi)源項(xiàng)目的逐步增多,阿里開(kāi)源版圖也更加完善。
除了開(kāi)源項(xiàng)目越來(lái)越多之外,阿里巴巴近年來(lái)日益注重與全球開(kāi)源社區(qū)的融合,為全球開(kāi)源貢獻(xiàn)力量的同時(shí)讓阿里開(kāi)源項(xiàng)目走向世界。其已加入FSF基金會(huì)、Apache基金會(huì)、Linux 基金會(huì)和Xen的顧問(wèn)團(tuán)隊(duì),現(xiàn)已經(jīng)向Apache捐贈(zèng)三個(gè)開(kāi)源項(xiàng)目,分別是JStorm、RocketMQ和Weex。同時(shí)阿里巴巴還與國(guó)際頂尖的Docker社區(qū)、Hadoop社區(qū)等開(kāi)源社區(qū)建立合作,還與Redis共同創(chuàng)辦Redis中國(guó)社區(qū)。阿里巴巴已成為中國(guó)開(kāi)源的重要力量,國(guó)際開(kāi)源社區(qū)對(duì)其日益認(rèn)可。
阿里巴巴在開(kāi)源上還有一個(gè)特點(diǎn)是,阿里系所有業(yè)務(wù)都有開(kāi)源意識(shí)。除了最具技術(shù)基因的阿里云有大量的開(kāi)源項(xiàng)目之外,螞蟻金服、手機(jī)淘寶、天貓都參與到了開(kāi)源之中。2016年,被阿里收購(gòu)的UC也貢獻(xiàn)了一個(gè)開(kāi)源項(xiàng)目:Node企業(yè)級(jí)基礎(chǔ)框架。同時(shí)阿里巴巴也鼓勵(lì)技術(shù)人員自行參與到開(kāi)源社區(qū)貢獻(xiàn)力量。
阿里巴巴對(duì)于開(kāi)源的態(tài)度和行動(dòng)超出各界預(yù)期,已成為中國(guó)開(kāi)源社區(qū)的關(guān)鍵力量,并且已經(jīng)開(kāi)始有了國(guó)際化的意識(shí),這無(wú)疑徹底改變了許多人對(duì)阿里巴巴 “運(yùn)營(yíng)驅(qū)動(dòng)”的古板影響。
阿里巴巴的開(kāi)源項(xiàng)目只是技術(shù)實(shí)力的冰山一角,但也側(cè)面證明了其技術(shù)實(shí)力。馬云在云棲大會(huì)上提出的“五新”概念之一是“新技術(shù)”,阿里巴巴自己就是新技術(shù)的實(shí)踐者,其在技術(shù)上的投入超過(guò)許多人的預(yù)期,它不只是在互聯(lián)網(wǎng)應(yīng)用技術(shù)上投入,還涉足量子計(jì)算、強(qiáng)化學(xué)習(xí)、數(shù)據(jù)庫(kù)和手機(jī)操作系統(tǒng)等底層技術(shù),近日阿里巴巴還公布了NASA計(jì)劃,要為20年后的新經(jīng)濟(jì)儲(chǔ)備核心科技,在德銀報(bào)告中,2020年阿里云收入將占其整體收入四分之一,來(lái)自非電商業(yè)務(wù)的收入也將過(guò)半,可見(jiàn)它不是電商公司而是科技公司,技術(shù)才是其長(zhǎng)期核心競(jìng)爭(zhēng)力。
微博@互聯(lián)網(wǎng)阿超
微信 羅超頻道(luochaotmt)