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