天天看點

一文縱覽EMAS 到底内含多少阿裡核心技術能力

EMAS的整體定位是阿裡巴巴移動技術對外輸出的主視窗,沉澱了阿裡巴巴近10年在移動網際網路技術架構上的積累以及在一系列垂直場景中所實踐的核心技術能力。一方面,EMAS希望為廣大開發者提供安全、穩定、快速、彈性的移動應用基礎設施,另一方面也希望幫助廣大中小企業、初創團隊以及處于“網際網路+”轉型階段的傳統企業建構工程化、系統化、智能化的企業級移動網際網路研發體系,并将近十年來阿裡巴巴在移動網際網路總結和沉澱的一系列方法論分享給業界。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

從2015年第一個産品公測開始,到目前為止EMAS總共服務了近14億移動終端裝置、20萬App以及10萬移動開發者,在一定程度上也影響了整個國内移動開發生态的發展。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

随着技術形态的不斷演進,移動網際網路已經成為全球商務生态系統當中不可或缺的一部分。用一句話形容EMAS的願景就是“30天和你一起再造一個手機淘寶”。這背後的含義就是無論規模多小的創業團隊都可以基于EMAS的服務快速便捷地擁有像手機淘寶、支付寶一樣完善的基礎設施,可以低成本地擁抱移動互聯時代。目前EMAS處在快速向前疊代發展的階段,未來也會有越來越多的阿裡巴巴集團内部優秀的移動基礎服務通過EMAS平台對外開放。目前EMAS開放了一個研發支撐平台、九大公共雲産品服務、五種場景解決方案以及兩種專有雲産品服務。

EMAS将整個移動應用開發劃分成了5個職能域:項目域、工程域、建構域、運維域和營運域,并且面向這5個職能域形成了移動中間件基礎解決方案。

在解決方案環節,阿裡巴巴已經開源了面向Android的應用容器Altlas以及跨平台的UI開發架構Weex,圍繞這些開發架構也會提供相應的商業化版本解決方案,幫助開發者更便捷地完成App的建立和管理。通過端+雲的緊密配合為移動開發者提供全鍊路端到端的移動研發解決方案。在專有雲環節提供了面向傳統企業開發企業級應用研發服務EMAS,希望打包整個阿裡巴巴集團近10年移動網際網路研發體系的積累,并以SaaS化的服務形态一鍵複制我們的能力、經驗,我們的流程、機制和方法論,希望幫助更多的傳統企業快速地完成業務移動化的轉型更新目标。

基于上述提到的這一套端到端的全鍊路移動應用研發體系,阿裡巴巴也提出了一種新的移動App研發範式——Cloud Native App。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

傳統的Cloud Native概念主要是面向後端應用的,利用容器、微服務、持續內建、持續建構以及DevOps這一套雲化的架構來建構應用,其本質則是一套應用建構的方法論,怎樣充分地利用雲計算服務模型的優勢來低成本、快速地建構彈性的應用,這樣一套方法論在移動App場景中同樣适用。比如基于面向移動端Serverless的架構實作App運作環境的透明化和按需擴充,基于雲上開放的移動App DevOps實作研發流程流水化,支撐應用的高效傳遞,基于雲上的移動中間件體系實作所有的基礎設施服務化,按量付費,基于Weex/Atlas賦能應用,真正實作大型App元件化和跨平台的能力。這樣一套Cloud Native App研發範式能夠真正幫助開發者去降低業務本身的技術風險,把自己有限的資源投入在和本身業務快速增長的工作上。

接下來分享阿裡巴巴在移動App的研發關鍵路徑上所開放出來的一系列的核心能力,主要分為了幾個關鍵環節:網絡、消息與資料、應用品質和高可用以及企業級移動應用研發服務EMAS。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

(一)網絡

網絡是所有移動App非常關鍵的基礎子產品。Google之前對搜尋系統有做過相應的統計評測,搜尋系統延遲每上升400毫秒,搜尋量業務量就會降低0.59%,雖然這一相對值看似比較低,但是在Google搜尋體量背後也是非常大的損耗。雅虎整體Web系統的延遲每上升400毫秒,流量就會下降5%到9%;Bing延遲每上升2秒,整體收入下降4.3%;而對于Mozilla,延遲每降低2.2秒,下載下傳量就會提升15.4%。是以說網絡這個環節不僅僅和移動端體驗息息相關,同時也直接決定着産品的核心商業名額情況。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

在網絡環節,阿裡巴巴也有非常深厚的沉澱。首先從網絡最開始的階段、最前置的環節來看就是流量排程和域名解析。傳統DNS解析體系存在很多問題,比如域名劫持的問題,以及由于本身的排程精準性帶來的網絡通路品質降低的問題,還有在移動場景本身域名解析的延遲有200毫秒左右,而這樣的延遲對于本身使用者網絡通路也會帶來一定的體驗上的損耗。傳統基于B/S架構浏覽器的Web應用,對于開發者而言都是黑盒,很難針對網絡環節進行優化,到了移動網際網路時代,移動App基本上以C/S架構形态建構的,這樣一個形态和架構特性意味着有更多的針對用戶端的定制和優化的空間。在這樣的背景下,HTTPDNS應運而生,它替代了傳統DNS解析路徑的服務品質最不可控的LocalDNS環節。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

HTTPDNS有以下幾個特性:

• 防劫持,因為LocalDNS環節往往沒有商業化的SLA保障,而通過這樣的方式可以徹底地規避域名劫持問題。同時基于全網的BGP Anycast的部署可以實作全網用戶端就近接入的能力,同時通過遍及全網的多機房的容災可以保障商業化的服務SLA。另外一方面,HTTPDNS和權威DNS之間也是通過EDNS進行直連的,這意味着可以基于用戶端IP進行精準排程。在傳統的DNS體系中,一般權威DNS進行排程的時候是基于LocalDNS代理節點進行排程的,一旦LocalDNS的分布不是很均勻,就會降低CDN域名解析等的精準性。

• 0延遲解析,因為移動App是C/S架構的,是以在端上會提供SDK,可以通過像預解析、智能緩存、懶加載等特性把每一次DNS解析延遲從使用者網絡請求當中抽離出來異步地在背景進行實作,這樣可以在真正意義實作零延遲解析,進而降低每次網絡請求的延遲開銷。

• 解析變更秒級生效,由于HTTPDNS和權威DNS之間是存在相應的互動的,解析域名的實時變更可以同步到HTTPDNS這邊,這樣全網變更秒級生效在傳統DNS體系下是無法實作的,這是因為LocalDNS本身會進行IP緩存,很多時候對于IP緩存并不遵循标準TTL協定,是以會導緻了變革在全網生效有很大的延遲。

• 軟體定義解析能力,通過這個能力使用者可以基于自己業務訴求來進行自定義的流量排程,這樣的能力在A/B Test、版本灰階以及安全流量排程等場景下都有很大的利用空間。

• 基于現在對于網絡流量資料的評測,HTTPDNS已經成為整個移動網際網路中非常重要的域名解析和流量排程的基礎設施。

域名解析之後就是網絡請求的主體環節。對比有線網絡,移動網絡一個很重要的特點就是多了一個移動鍊路環節,其整體丢包率、穩定性以及延遲對于有線網絡都有所不足。通常稱這個鍊路為Lastmile,如何解決Lastmile通信效率的問題也是移動網絡優化最為核心的課題。對于普通的開發者而言,整個網絡鍊路是以黑盒形态存在的,是以開發者針對網絡形态所能做的網絡優化的空間是非常有限的,如果需要專門針對移動網絡進行優化則需要聘請相應的專家針對協定層面進行相應的優化,是以整體資源的投入和維系的成本以及門檻也是比較高的。基于此,阿裡巴巴也會開放内部的網絡優化體系——移動加速服務,希望能夠從端、管、雲三個層面幫助開發者完成App網絡整體立體式優化。

傳統的App網絡通路鍊路從用戶端送出請求是通過公網路由進行原站通路的,而通過移動加速,App發出網絡請求首先會就近接入遍及全網的加速節點,通過加速網絡進行快速的路由選擇再回原站通路。這樣的整體收益就來自以下三個方面:

• 在“端”方面,移動雲會提供網絡托管SDK,通過托管SDK和加速節點配合,真正意義上建構雙端加速模型。傳統CDN是典型的單端加速模型,而雙端加速模型的一個很重要的優勢就是從用戶端到加速節點之間的鍊路由于雙端都有控制,可以進行傳輸協定的協商和實作。在這樣一個雙端加速模型上可以針對傳統四層的TCB協定的一些缺陷進行深度優化定制。

• 在“管”方面,移動雲擁有遍布全網的海量就近接入節點,在帶寬以及鍊路等方面品質都是非常優異的。同時,傳統CDN是短連接配接的形态,每次發起的業務請求在結束之後可能就被釋放掉了。而在移動加速場景下,從用戶端到加速節點到原站之間實作了全鍊路的長連接配接,可以大幅度削減在網絡通信過程中的三次握手以及安全握手等備援的開銷。另外在動态路由方面,全網會有海量的加速節點,通過這些加速節點可以實時地、智能地去計算從就近加速節點到使用者原站之間應該通過怎樣的路由使得整體的延時更優化,進而降低每次網絡通路的延遲。

• 在“雲”方面,傳統CDN實作的功能是靜态資源的緩存、分發能力,同樣的移動加速會繼承傳統CDN靜态資源緩存分發能力,同時對于像HTML、JS、CSS等面向Web化的資源也會進行動态的資源優化,進一步壓縮鍊路上網絡帶寬的訴求,提升網絡通路的效率。

對比于傳統的CDN,移動加速就是CDN面向移動場景的解決方案。在雙端加速模型,的背景下,可以針對通路鍊路進行協定定制優化,同時在連接配接層面可以實作真正意義上的全鍊路的長連接配接,大幅削減安全握手、三次握手等備援開銷。加速網絡内部在端上引入機器學習的元素,可以通過智能判斷分析對于目前的客戶所處的目前環境到底應該選擇使用加速鍊路還是公網路由。基于雙端加速模型,可以進行優化定制,對于HTTPS的加密協定也可以進行深度定制,可以實作效率上的提升。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

除了域名解析和網絡優化之外,移動網絡還有非常多的場景訴求,比如說網絡撥測、網絡體系監控、資源上傳、遠端調用、網絡診斷等,移動網絡本身是内聚性非常強的閉環場景。App對網絡訴求可以用四個關鍵詞概括:高速、穩定、可控,可視。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

(二)消息與資料

移動網際網路進入到下半場,人口流量紅利也在慢慢退去,如何實作更精準的客戶觸達和留存成為每一個産品最核心的營運名額。如果說大家之前有關注過手淘的“雙11”會場頁面會發現手淘已經實作了“千人千面”能力,同時基于資料智能消息推送系統線上上運轉多年并且取得了非常好的成績。現在阿裡巴巴也會把這些産品能力背後的核心技術開放出來,幫助大家實作對于客戶的拉新、促活、留存和轉化。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

面向營運域,阿裡巴巴會開放經曆多年“雙11”曆練的消息推送系統。在送達方面開放整個阿裡系共享的消息推送通道,結合廠商合作夥伴提供的基于多消息推送通道的通送解決方案保障整體送達效果。延遲方面,會針對移動網絡場景進行深度優化和定制,同時面向IOS推送場景提供相應的中美高速通道專線,保障每一次任務的及時下發和網絡秒級應答。在流量方面,每秒百萬級别消息裝置的吞吐率意味着在面對類似“雙11”這樣的強脈沖計算的場景下,也能夠及時地對于推送業務進行應答。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

除了傳統PaaS層推送通道之外還會進一步開放複合推送的能力,基于移動推送+短信推送組合面向客戶提供更彈性的觸達終端使用者的解決方案。在複合推送的模型下,優先通過應用鍊的消息推送進行客戶觸達,在消息推送沒有辦法觸達客戶的情況下就通過短信推送進行補償。一方面可以利用短信推送的高觸達率保障營銷任務的觸達效果,另外一方面也可以利用消息推送本身的低成本進一步地降低營銷任務背後的成本開銷。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

阿裡巴巴也會進一步開放集團内部的基于大資料的智能推送的能力,基于個性化推薦引擎可以建構企業完整的使用者畫像,基于使用者畫像标簽、終端使用者地理位置資訊、終端狀态資訊以及每一次推送具體的内容等多個輸入源進行智能的裝置圈選,有效地提升推送的精準度,能夠幫助客戶實作真正意義上基于大資料的精準定向營銷。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

(三)應用品質和高可用

移動網際網路發展到今天已經累積了幾萬款移動終端裝置,海量的機型和作業系統以及分辨率構成的配置組合給移動應用本身的品質保障帶來非常大的挑戰。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

傳統測試模式基于人工,不管在測試覆寫度、測試效率,還是Bug檢出率方面已經無法完全應對測試本身複雜度的指數級增長。基于這樣背景阿裡巴巴開放了内部的真機測試服務平台——移動測試服務,其包括了真機适配、功能自動化、雲端調試、線上錄制、性能測試以及H5測試等方面的能力,希望能夠從公共雲和專有雲兩個管道幫助不同訴求的客戶一起保障移動App高品質的傳遞。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

移動雲面向移動App還推出了線上問題一鍵熱修複的解決方案Sophix,針對Native App發版節奏慢,更新周期長的問題提供端到端一體化的熱修複解決方案,Sophix可以面向代碼、資源、SO檔案三個次元進行修複,接入成本非常低廉,對應用沒有侵入,幾行代碼可以完成整體接入,更新檔包采用差量技術進行更新,從Patch生成、灰階、線上釋出和統計能夠幫助開發者實作一站式線上故障應急處理的解決方案。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

移動應用品質管理高可用這個體系類似于上述的移動網絡體系,也是内聚性非常強的閉環場景,在這樣的場景内阿裡巴巴沉澱了非常多的能力,比如資料挖掘、分析梳理、面向終端日志采集分析處理等等。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

(四)企業業務移動化

除了上述提到的公有雲開放的幾個場景能力之外,面向專有雲、傳統企業、面向企業移動化浪潮,阿裡巴巴也會開放相應的解決方案。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

傳統企業進行業務移動化過程中會面對各種各樣的研發協同挑戰,存在着很多面和點的問題,為了應對這些問題,阿裡巴巴開放了企業級移動應用研發服務EMAS。對于傳統企業而言企業“網際網路+”的标志是研發體系的網際網路化,單純在資源層面通過雲上虛拟機替換傳統的實體機并不能帶來本質的變革,隻有真正實作了傳統體系内部研發體系的“網際網路+”的更新,才能夠真正為傳統企業内部研發效能的提升帶來質的變化。EMAS希望打包整合阿裡巴巴近十年研發體系以及能力、經驗的積累,希望幫助更多的傳統企業快速建構工程化的移動應用研發體系,完成企業業務移動化的轉型更新目标。

EMAS研發支撐平台覆寫從研發管理到持續內建、自動化測試、版本管理、灰階釋出、監控大盤、系統運維、使用者營運等完整的全流程生命周期管理,是移動網際網路沉澱的這套流程、機制、方法論很重要的載體。同時配合在雲上提供的移動中間件基礎服務體系,可以從真正意義上面向開發者提供移動應用研發全棧解決方案。

一文縱覽EMAS 到底内含多少阿裡核心技術能力

上圖所示的就是完整版的EMAS能力傳遞的全景圖,除了剛才介紹的傳統從端+雲+資料這樣一套能力棧中軸之外,也會開放阿裡巴巴沉澱的軟能力,幫助研發者建構軟硬一體化完善的研發體系。

原文釋出時間為:2018-03-22

本文作者:泠茗

繼續閱讀