摘要:在2017杭州云棲大會阿里移動云峰會暨Apsara Mobile品牌發(fā)布會專場上不见,阿里巴巴高級技術(shù)專家泠茗對于新發(fā)布的阿里移動云 Apsara Mobile產(chǎn)品系進行了介紹,并對于阿里巴巴在一些垂直場景下所開放的核心技術(shù)能力進行了分享。
摘要:在2017杭州云棲大會阿里移動云峰會暨Apsara Mobile品牌發(fā)布會專場上,阿里巴巴高級技術(shù)專家泠茗對于新發(fā)布的阿里移動云 Apsara Mobile產(chǎn)品系進行了介紹涮坐,并對于阿里巴巴在一些垂直場景下所開放的核心技術(shù)能力進行了分享。
Apsara Mobile移動云的整體定位是阿里巴巴移動技術(shù)對外輸出的主窗口誓军,它沉淀了整個集團近10年在移動互聯(lián)網(wǎng)技術(shù)架構(gòu)上的積累以及在一系列垂直場景中所呈現(xiàn)的核心技術(shù)能力袱讹。一方面,移動云希望為廣大開發(fā)者提供安全昵时、穩(wěn)定捷雕、快速、彈性的移動應用基礎(chǔ)設(shè)施壹甥,另一方面也希望幫助廣大中小企業(yè)救巷、初創(chuàng)團隊以及處于“互聯(lián)網(wǎng)+”轉(zhuǎn)型階段的傳統(tǒng)企業(yè)構(gòu)建工程化、系統(tǒng)化句柠、智能化的企業(yè)級移動互聯(lián)網(wǎng)研發(fā)體系浦译,并將近十年來阿里巴巴在移動互聯(lián)網(wǎng)總結(jié)和積累沉淀的一系列方法論分享給業(yè)界。
從2015年移動云的第一個產(chǎn)品公測開始溯职,到目前為止總共服務了近14億移動終端設(shè)備精盅、20萬App以及10萬移動開發(fā)者,在一定程度上也影響整個國內(nèi)移動開發(fā)生態(tài)的發(fā)展谜酒。
阿里巴巴的目標愿景是“構(gòu)建未來的商務生態(tài)系統(tǒng)”渤弛,而阿里云在這個生態(tài)系統(tǒng)中扮演基礎(chǔ)的支撐角色。隨著技術(shù)形態(tài)的不斷演進甚带,移動互聯(lián)網(wǎng)已經(jīng)成為全球商務生態(tài)系統(tǒng)當中不可或缺的一部分她肯,移動云作為整個阿里云的分支,目標也是希望成為全球移動互聯(lián)網(wǎng)很重要的基礎(chǔ)支撐鹰贵。用一句話形容移動云的愿景就是“30天和你一起再造一個手機淘寶”晴氨。這背后的含義就是無論規(guī)模多小的創(chuàng)業(yè)團隊都可以基于移動云的服務快速便捷地擁有像手機淘寶、支付寶一樣完善的基礎(chǔ)設(shè)施碉输,可以低成本地擁抱移動互聯(lián)時代籽前。當前移動云處在快速向前迭代發(fā)展的階段,未來也會有越來越多的阿里巴巴集團內(nèi)部優(yōu)秀的移動基礎(chǔ)服務通過移動云平臺對外開放敷钾。目前移動云開放了一個研發(fā)支撐平臺枝哄、九大公共云產(chǎn)品服務、五種場景解決方案以及兩種專有云產(chǎn)品服務阻荒。
如上圖所示的是Apsara Mobile移動云產(chǎn)品系的全景圖挠锥,其中包括了專有云解決方案以及公共云的三個維度。在公共云層面侨赡,Apsara Mobile將整個移動應用開發(fā)劃分成了5個職能域:項目域蓖租、工程域粱侣、構(gòu)建域、運維域和運營域蓖宦,并且面向這5個職能域形成了移動中間件基礎(chǔ)解決方案齐婴。
在解決方案環(huán)節(jié),阿里巴巴已經(jīng)開源了面向Android的應用容器Altlas以及跨平臺的UI開發(fā)框架Weex稠茂,圍繞這些開發(fā)框架也會提供相應的商業(yè)化版本解決方案柠偶,幫助開發(fā)者更便捷地完成App的創(chuàng)建和管理。通過端+云的緊密配合為移動開發(fā)者提供全鏈路端到端的移動研發(fā)解決方案睬关。在專有云環(huán)節(jié)提供了面向傳統(tǒng)企業(yè)開發(fā)企業(yè)級應用研發(fā)服務EMAX诱担,希望打包整個阿里巴巴集團近10年移動互聯(lián)網(wǎng)研發(fā)體系的積累,并以SaaS化的服務形態(tài)一鍵復制我們的能力共螺、經(jīng)驗该肴,我們的流程、機制和方法論藐不,希望幫助更多的傳統(tǒng)企業(yè)快速地完成業(yè)務移動化的轉(zhuǎn)型升級目標匀哄。
基于上述提到的這一套端到端的全鏈路移動應用研發(fā)體系,阿里巴巴也提出了一種新的移動App研發(fā)范式——Cloud Native App雏蛮。
傳統(tǒng)的Cloud Native本身主要是面向后端應用的涎嚼,利用容器、微服務挑秉、持續(xù)集成法梯、持續(xù)構(gòu)建以及DevOps這一套云化的架構(gòu)來構(gòu)建應用,其本質(zhì)則是一套應用構(gòu)建的方法論犀概,怎樣充分地利用云計算服務模型的優(yōu)勢來低成本立哑、快速構(gòu)建彈性應用,這樣一套方法論在移動App場景中同樣適用姻灶。比如基于面向移動端Serverless的架構(gòu)實現(xiàn)App運行環(huán)境的透明化和按需擴展铛绰,基于云上開放的移動App的DevOps研發(fā)支撐平臺形成研發(fā)流程流水化,實現(xiàn)高效交付产喉,基于云上的移動中間件體系實現(xiàn)所有的基礎(chǔ)設(shè)施服務化捂掰,按量付費,基于Weex/Atlas賦能應用曾沈,真正實現(xiàn)大型App組件化和跨平臺的能力这嚣。這樣一套體系和Cloud Native App研發(fā)范式能夠真正幫助開發(fā)者去降低業(yè)務本身的技術(shù)風險,把自己有限的資源投入在和本身業(yè)務快速增長的工作上塞俱。
接下來分享阿里巴巴在移動App的研發(fā)關(guān)鍵路徑上所開放出來的一系列的核心能力姐帚,主要分為了幾個關(guān)鍵環(huán)節(jié):網(wǎng)絡(luò)、消息與數(shù)據(jù)敛腌、應用質(zhì)量和高可用以及企業(yè)級移動應用研發(fā)服務EMAX卧土。
(一)網(wǎng)絡(luò)
網(wǎng)絡(luò)是所有移動App非常關(guān)鍵的基礎(chǔ)模塊惫皱。Google之前對搜索系統(tǒng)有做過相應的統(tǒng)計評測像樊,搜索系統(tǒng)延遲每上升400毫秒尤莺,搜索量業(yè)務量就會降低0.59%,雖然這一相對值看似比較低生棍,但是在Google搜索體量背后也是非常大的損耗颤霎。雅虎整體Web系統(tǒng)的延遲每上升400毫秒,流量就會下降5%到9%涂滴;Bing延遲每上升2秒友酱,整體收入下降4.3%;而對于Mozilla柔纵,延遲每降低2.2秒缔杉,下載量就會提升15.4%。所以說網(wǎng)絡(luò)這個環(huán)節(jié)不僅僅和移動端體驗息息相關(guān)搁料,同時也直接決定著產(chǎn)品的核心商業(yè)指標情況或详。
在網(wǎng)絡(luò)環(huán)節(jié),阿里巴巴也有非常深厚的沉淀郭计。首先從網(wǎng)絡(luò)最開始的階段霸琴、最前置的環(huán)節(jié)來看就是流量調(diào)度和域名解析。傳統(tǒng)DNS解析體系存在很多問題昭伸,比如域名劫持的問題梧乘,以及由于本身的調(diào)度精準性帶來的網(wǎng)絡(luò)訪問質(zhì)量降低的問題,還有在移動場景本身域名解析的延遲有200毫秒左右庐杨,而這樣的延遲對于本身用戶網(wǎng)絡(luò)訪問也會帶來一定的體驗上的損耗选调。傳統(tǒng)基于B/S架構(gòu)瀏覽器的Web應用,對于開發(fā)者而言都是黑盒灵份,很難針對網(wǎng)絡(luò)環(huán)節(jié)進行優(yōu)化仁堪,到了移動互聯(lián)網(wǎng)時代,移動App基本上以C/S架構(gòu)形態(tài)構(gòu)建的各吨,這樣一個形態(tài)和架構(gòu)特性意味著有更多的針對客戶端的定制和優(yōu)化的空間枝笨。在這樣的背景下,HTTPDNS應運而生揭蜒,它替代了傳統(tǒng)DNS解析路徑的服務質(zhì)量最不可控的LocalDNS環(huán)節(jié)横浑。
HTTPDNS有以下幾個特性:
防劫持,因為LocalDNS環(huán)節(jié)往往沒有商業(yè)化的SLA保障屉更,而通過這樣的方式可以徹底地規(guī)避域名劫持問題徙融。同時基于全網(wǎng)的BGP Anycast的部署可以實現(xiàn)全網(wǎng)客戶端就近接入的能力,同時通過遍及全網(wǎng)的多機房的容災可以保障商業(yè)化的服務SLA瑰谜。另外一方面欺冀,HTTPDNS和權(quán)威DNS之間也是通過EDNS進行直連的树绩,這意味著可以基于客戶端IP進行精準調(diào)度。在傳統(tǒng)的DNS體系中隐轩,一般權(quán)威DNS進行調(diào)度的時候是基于LocalDNS代理節(jié)點進行調(diào)度的饺饭,一旦LocalDNS的分布不是很均勻,就會降低CDN域名解析等的精準性职车。
0延遲解析瘫俊,因為移動App是C/S架構(gòu)的,所以在端上會提供SDK悴灵,可以通過像預解析扛芽、智能緩存、懶加載等特性把每一次DNS解析延遲從用戶網(wǎng)絡(luò)請求當中抽離出來異步地在后臺進行實現(xiàn)积瞒,這樣可以在真正意義實現(xiàn)零延遲解析川尖,進而降低每次網(wǎng)絡(luò)請求的延遲開銷。
解析變更秒級生效茫孔,由于HTTPDNS和權(quán)威DNS之間是存在相應的交互的叮喳,解析域名的實時變更可以同步到HTTPDNS這邊,這樣全網(wǎng)變更秒級生效在傳統(tǒng)DNS體系下是無法實現(xiàn)的银酬,這是因為LocalDNS本身會進行IP緩存嘲更,很多時候?qū)τ贗P緩存并不遵循標準TTL協(xié)議,所以會導致了變革在全網(wǎng)生效有很大的延遲揩瞪。
軟件定義解析能力赋朦,通過這個能力用戶可以基于自己業(yè)務訴求來進行自定義的流量調(diào)度,這樣的能力在A/B Test李破、版本灰度以及安全流量調(diào)度等場景下都有很大的利用空間宠哄。
基于現(xiàn)在對于網(wǎng)絡(luò)流量數(shù)據(jù)的評測,HTTPDNS已經(jīng)成為整個移動互聯(lián)網(wǎng)中非常重要的域名解析和流量調(diào)度的基礎(chǔ)設(shè)施嗤攻。
域名解析之后就是網(wǎng)絡(luò)請求的主體環(huán)節(jié)毛嫉。對比有線網(wǎng)絡(luò),移動網(wǎng)絡(luò)一個很重要的特點就是多了一個移動鏈路環(huán)節(jié)妇菱,其整體丟包率承粤、穩(wěn)定性以及延遲對于有線網(wǎng)絡(luò)都有所不足。通常稱這個鏈路為Lastmile闯团,如何解決Lastmile通信效率的問題也是移動網(wǎng)絡(luò)優(yōu)化最為核心的課題辛臊。對于普通的開發(fā)者而言,整個網(wǎng)絡(luò)鏈路是以黑盒形態(tài)存在的房交,所以開發(fā)者針對網(wǎng)絡(luò)形態(tài)所能做的網(wǎng)絡(luò)優(yōu)化的空間是非常有限的彻舰,如果需要專門針對移動網(wǎng)絡(luò)進行優(yōu)化則需要聘請相應的專家針對協(xié)議層面進行相應的優(yōu)化,所以整體資源的投入和維系的成本以及門檻也是比較高的∪谢剑基于此隔心,阿里巴巴也會開放內(nèi)部的網(wǎng)絡(luò)優(yōu)化體系——移動加速服務,希望能夠從端尚胞、管硬霍、云三個層面幫助開發(fā)者完成App網(wǎng)絡(luò)整體立體式優(yōu)化。
傳統(tǒng)的App網(wǎng)絡(luò)訪問鏈路從客戶端發(fā)出請求是通過公網(wǎng)路由進行原站訪問的辐真,而通過移動加速须尚,App發(fā)出網(wǎng)絡(luò)請求首先會就近接入遍及全網(wǎng)的加速節(jié)點崖堤,通過加速網(wǎng)絡(luò)進行快速的路由選擇再回原站訪問侍咱。這樣的整體收益就來自以下三個方面:
在“端”方面,移動云會提供網(wǎng)絡(luò)托管SDK密幔,通過托管SDK和加速節(jié)點配合楔脯,真正意義上構(gòu)建雙端加速模型。傳統(tǒng)CDN是典型的單端加速模型胯甩,而雙端加速模型的一個很重要的優(yōu)勢就是從客戶端到加速節(jié)點之間的鏈路由于雙端都有控制昧廷,可以進行傳輸協(xié)議的協(xié)商和實現(xiàn)。在這樣一個雙端加速模型上可以針對傳統(tǒng)四層的TCB協(xié)議的一些缺陷進行深度優(yōu)化定制偎箫。
在“管”方面木柬,移動云擁有遍布全網(wǎng)的海量就近接入節(jié)點,在帶寬以及鏈路等方面質(zhì)量都是非常優(yōu)異的淹办。同時眉枕,傳統(tǒng)CDN是短連接的形態(tài),每次發(fā)起的業(yè)務請求在結(jié)束之后可能就被釋放掉了怜森。而在移動加速場景下速挑,從客戶端到加速節(jié)點到原站之間實現(xiàn)了全鏈路的長連接,可以大幅度削減在網(wǎng)絡(luò)通信過程中的三次握手以及安全握手等冗余的開銷副硅。另外在動態(tài)路由方面姥宝,全網(wǎng)會有海量的加速節(jié)點,通過這些加速節(jié)點可以實時地恐疲、智能地去計算從就近加速節(jié)點到用戶原站之間應該通過怎樣的路由使得整體的延時更優(yōu)化腊满,進而降低每次網(wǎng)絡(luò)訪問的延遲。
在“云”方面培己,傳統(tǒng)CDN實現(xiàn)的功能是靜態(tài)資源的緩存碳蛋、分發(fā)能力,同樣的移動加速會繼承傳統(tǒng)CDN靜態(tài)資源緩存分發(fā)能力漱凝,同時對于像HTML疮蹦、JS、CSS等面向Web化的資源也會進行動態(tài)的資源優(yōu)化茸炒,進一步壓縮鏈路上網(wǎng)絡(luò)帶寬的訴求愕乎,提升網(wǎng)絡(luò)訪問的效率阵苇。
對比于傳統(tǒng)的CDN,移動加速就是CDN面向移動場景的解決方案感论。在雙端加速模型绅项,的背景下,可以針對訪問鏈路進行協(xié)議定制優(yōu)化比肄,同時在連接層面可以實現(xiàn)真正意義上的全鏈路的長連接快耿,大幅削減安全握手、三次握手等冗余開銷芳绩。加速網(wǎng)絡(luò)內(nèi)部在端上引入機器學習的元素掀亥,可以通過智能判斷分析對于當前的客戶所處的當前環(huán)境到底應該選擇使用加速鏈路還是公網(wǎng)路由⊥咨基于雙端加速模型搪花,可以進行優(yōu)化定制,對于HTTPS的加密協(xié)議也可以進行深度定制嘹害,可以實現(xiàn)效率上的提升撮竿。
除了域名解析和網(wǎng)絡(luò)優(yōu)化之外,移動網(wǎng)絡(luò)還有非常多的場景訴求笔呀,比如說網(wǎng)絡(luò)撥測幢踏、網(wǎng)絡(luò)體系監(jiān)控、資源上傳许师、遠程調(diào)用房蝉、網(wǎng)絡(luò)診斷等,移動網(wǎng)絡(luò)本身是內(nèi)聚性非常強的閉環(huán)場景枯跑。App對網(wǎng)絡(luò)訴求可以用四個關(guān)鍵詞概括:高速惨驶、穩(wěn)定、可控敛助,可視粗卜。
(二)消息與數(shù)據(jù)
移動互聯(lián)網(wǎng)進入到下半場,人口流量紅利也在慢慢退去纳击,如何實現(xiàn)更精準的客戶觸達和留存成為每一個產(chǎn)品最核心的運營指標续扔。如果說大家之前有關(guān)注過手淘的“雙11”會場頁面會發(fā)現(xiàn)手淘已經(jīng)實現(xiàn)了“千人千面”能力,同時基于數(shù)據(jù)智能消息推送系統(tǒng)在線上運轉(zhuǎn)多年并且取得了非常好的成績』朗現(xiàn)在阿里巴巴也會把這些產(chǎn)品能力背后的核心技術(shù)開放出來纱昧,幫助大家實現(xiàn)對于客戶的拉新、促活堡赔、留存和轉(zhuǎn)化识脆。
面向運營域,阿里巴巴會開放經(jīng)歷多年“雙11”歷練的消息推送系統(tǒng)。在送達方面開放整個阿里系共享的消息推送通道灼捂,結(jié)合廠商合作伙伴提供的基于多消息推送通道的通送解決方案保障整體送達效果离例。延遲方面,會針對移動網(wǎng)絡(luò)場景進行深度優(yōu)化和定制悉稠,同時面向IOS推送場景提供相應的中美高速通道專線宫蛆,保障每一次任務的及時下發(fā)和網(wǎng)絡(luò)秒級應答。在流量方面的猛,每秒百萬級別消息設(shè)備的吞吐率意味著在面對類似“雙11”這樣的強脈沖計算的場景下耀盗,也能夠及時地對于推送業(yè)務進行應答。
除了傳統(tǒng)PaaS層推送通道之外還會進一步開放復合推送的能力卦尊,基于移動推送+短信推送組合面向客戶提供更彈性的觸達終端用戶的解決方案叛拷。在復合推送的模型下,優(yōu)先通過應用鏈的消息推送進行客戶觸達猫牡,在消息推送沒有辦法觸達客戶的情況下就通過短信推送進行補償胡诗。一方面可以利用短信推送的高觸達率保障營銷任務的觸達效果,另外一方面也可以利用消息推送本身的低成本進一步地降低營銷任務背后的成本開銷淌友。
阿里巴巴也會進一步開放集團內(nèi)部的基于大數(shù)據(jù)的智能推送的能力,基于個性化推薦引擎可以構(gòu)建企業(yè)完整的用戶畫像骇陈,基于用戶畫像標簽震庭、終端用戶地理位置信息、終端狀態(tài)信息以及每一次推送具體的內(nèi)容等多個輸入源進行智能的設(shè)備圈選你雌,有效地提升推送的精準度器联,能夠幫助客戶實現(xiàn)真正意義上基于大數(shù)據(jù)的精準定向營銷。
(三)應用質(zhì)量和高可用
移動互聯(lián)網(wǎng)發(fā)展到今天已經(jīng)累積了幾萬款移動終端設(shè)備婿崭,海量的機型和操作系統(tǒng)以及分辨率構(gòu)成的配置組合給移動應用本身的質(zhì)量保障帶來非常大的挑戰(zhàn)拨拓。
傳統(tǒng)測試模式基于人工,不管在測試覆蓋度氓栈、測試效率渣磷,還是Bug檢出率方面已經(jīng)無法完全應對測試本身復雜度的指數(shù)級增長∈谑荩基于這樣背景阿里巴巴開放了內(nèi)部的真機測試服務平臺——移動測試服務醋界,其包括了真機適配、功能自動化提完、云端調(diào)試形纺、在線錄制、性能測試以及H5測試等方面的能力徒欣,希望能夠從公共云和專有云兩個渠道幫助不同訴求的客戶一起保障移動APP高質(zhì)量的交付逐样。
移動云面向移動App還推出了線上問題一鍵熱修復的解決方案Sophix,針對Native App發(fā)版節(jié)奏慢,更新周期長的問題提供端到端一體化的熱修復解決方案脂新,Sophix可以面向代碼秽澳、資源、SO文件三個維度進行修復戏羽,接入成本非常低廉担神,對應用沒有侵入,幾行代碼可以完成整體接入始花,補丁包采用差量技術(shù)進行更新妄讯,從Patch生成、灰度酷宵、線上發(fā)布和統(tǒng)計能夠幫助開發(fā)者實現(xiàn)一站式線上故障應急處理的解決方案亥贸。
移動應用質(zhì)量管理高可用這個體系類似于上述的移動網(wǎng)絡(luò)體系,也是內(nèi)聚性非常強的閉環(huán)場景浇垦,在這樣的場景內(nèi)阿里巴巴沉淀了非常多的能力炕置,比如數(shù)據(jù)挖掘、分析梳理男韧、面向終端日志采集分析處理等等朴摊。
(四)企業(yè)業(yè)務移動化
除了上述提到的公有云開放的幾個場景能力之外,面向?qū)S性拼寺恰鹘y(tǒng)企業(yè)甚纲、面向企業(yè)移動化浪潮,阿里巴巴也會開放相應的解決方案朦前。
傳統(tǒng)企業(yè)進行業(yè)務移動化過程中會面對各種各樣的研發(fā)協(xié)同挑戰(zhàn)介杆,存在著很多面和點的問題,為了應對這些問題韭寸,阿里巴巴開放了企業(yè)級移動應用研發(fā)服務EMAX春哨。對于傳統(tǒng)企業(yè)而言企業(yè)“互聯(lián)網(wǎng)+”的標志是研發(fā)體系的互聯(lián)網(wǎng)化,單純在資源層面通過云上虛擬機替換傳統(tǒng)的物理機并不能帶來本質(zhì)的變革恩伺,只有真正實現(xiàn)了傳統(tǒng)體系內(nèi)部研發(fā)體系的“互聯(lián)網(wǎng)+”的升級赴背,才能夠真正為傳統(tǒng)企業(yè)內(nèi)部研發(fā)效能的提升帶來質(zhì)的變化。EMAX希望打包整合阿里巴巴近十年研發(fā)體系以及能力莫其、經(jīng)驗的積累癞尚,希望幫助更多的傳統(tǒng)企業(yè)快速構(gòu)建工程化的移動應用研發(fā)體系,完成企業(yè)業(yè)務移動化的轉(zhuǎn)型升級目標乱陡。
EMAX研發(fā)支撐平臺覆蓋從研發(fā)管理到持續(xù)集成浇揩、自動化測試、版本管理憨颠、灰度發(fā)布胳徽、監(jiān)控大盤积锅、系統(tǒng)運維、用戶運營等完整的全流程生命周期管理养盗,是移動互聯(lián)網(wǎng)沉淀的這套流程缚陷、機制、方法論很重要的載體往核。同時配合在云上提供的移動中間件基礎(chǔ)服務體系箫爷,可以從真正意義上面向開發(fā)者提供移動應用研發(fā)全棧解決方案。
上圖所示的就是完整版的EMAX能力交付的全景圖聂儒,除了剛才介紹的傳統(tǒng)從端+云+數(shù)據(jù)這樣一套能力棧中軸之外虎锚,也會開放阿里巴巴沉淀的軟能力,幫助研發(fā)者構(gòu)建軟硬一體化完善的研發(fā)體系衩婚。
下圖所示的是移動云在阿里云官網(wǎng)的入口窜护,大家可以在阿里云官網(wǎng)產(chǎn)品下找到移動云一級類目,并進行產(chǎn)品試用和體驗非春。
下圖所示的是移動云在云棲大會客戶接待釘釘群柱徙,如果大家對產(chǎn)品有什么細節(jié)化的疑問可以掃碼加入這個群,進行更細節(jié)的線下溝通奇昙。