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

申請阿里雲EMAS,體驗一站式移動研發平臺,更多精彩盡在開發者會場後端

EMAS的總體定位是阿里巴巴移動技術對外輸出的主窗口,沉澱了阿里巴巴近10年在移動互聯網技術架構上的積累以及在一系列垂直場景中所實踐的核心技術能力。一方面,EMAS但願爲廣大開發者提供安全、穩定、快速、彈性的移動應用基礎設施,另外一方面也但願幫助廣大中小企業、初創團隊以及處於「互聯網+」轉型階段的傳統企業構建工程化、系統化、智能化的企業級移動互聯網研發體系,並將近十年來阿里巴巴在移動互聯網總結和沉澱的一系列方法論分享給業界。瀏覽器

從2015年第一個產品公測開始,到目前爲止EMAS總共服務了近14億移動終端設備、20萬App以及10萬移動開發者,在必定程度上也影響了整個國內移動開發生態的發展。緩存

隨着技術形態的不斷演進,移動互聯網已經成爲全球商務生態系統當中不可或缺的一部分。用一句話形容EMAS的願景就是「30天和你一塊兒再造一個手機淘寶」。這背後的含義就是不管規模多小的創業團隊均可以基於EMAS的服務快速便捷地擁有像手機淘寶、支付寶同樣完善的基礎設施,能夠低成本地擁抱移動互聯時代。當前EMAS處在快速向前迭代發展的階段,將來也會有愈來愈多的阿里巴巴集團內部優秀的移動基礎服務經過EMAS平臺對外開放。目前EMAS開放了一個研發支撐平臺、九大公共雲產品服務、五種場景解決方案以及兩種專有云產品服務。安全

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

在解決方案環節,阿里巴巴已經開源了面向Android的應用容器Altlas以及跨平臺的UI開發框架Weex,圍繞這些開發框架也會提供相應的商業化版本解決方案,幫助開發者更便捷地完成App的建立和管理。經過端+雲的緊密配合爲移動開發者提供全鏈路端到端的移動研發解決方案。在專有云環節提供了面向傳統企業開發企業級應用研發服務EMAS,但願打包整個阿里巴巴集團近10年移動互聯網研發體系的積累,並以SaaS化的服務形態一鍵複製咱們的能力、經驗,咱們的流程、機制和方法論,但願幫助更多的傳統企業快速地完成業務移動化的轉型升級目標。網絡

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

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

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

(一)網絡運維

網絡是全部移動App很是關鍵的基礎模塊。Google以前對搜索系統有作過相應的統計評測,搜索系統延遲每上升400毫秒,搜索量業務量就會下降0.59%,雖然這一相對值看似比較低,可是在Google搜索體量背後也是很是大的損耗。雅虎總體Web系統的延遲每上升400毫秒,流量就會降低5%到9%;Bing延遲每上升2秒,總體收入降低4.3%;而對於Mozilla,延遲每下降2.2秒,下載量就會提高15.4%。因此說網絡這個環節不只僅和移動端體驗息息相關,同時也直接決定着產品的核心商業指標狀況。

在網絡環節,阿里巴巴也有很是深厚的沉澱。首先從網絡最開始的階段、最前置的環節來看就是流量調度和域名解析。傳統DNS解析體系存在不少問題,好比域名劫持的問題,以及因爲自己的調度精準性帶來的網絡訪問質量下降的問題,還有在移動場景自己域名解析的延遲有200毫秒左右,而這樣的延遲對於自己用戶網絡訪問也會帶來必定的體驗上的損耗。傳統基於B/S架構瀏覽器的Web應用,對於開發者而言都是黑盒,很難針對網絡環節進行優化,到了移動互聯網時代,移動App基本上以C/S架構形態構建的,這樣一個形態和架構特性意味着有更多的針對客戶端的定製和優化的空間。在這樣的背景下,HTTPDNS應運而生,它替代了傳統DNS解析路徑的服務質量最不可控的LocalDNS環節。

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的加密協議也能夠進行深度定製,能夠實現效率上的提高。

除了域名解析和網絡優化以外,移動網絡還有很是多的場景訴求,好比說網絡撥測、網絡體系監控、資源上傳、遠程調用、網絡診斷等,移動網絡自己是內聚性很是強的閉環場景。App對網絡訴求能夠用四個關鍵詞歸納:高速、穩定、可控,可視。

(二)消息與數據

移動互聯網進入到下半場,人口流量紅利也在慢慢退去,如何實現更精準的客戶觸達和留存成爲每個產品最核心的運營指標。若是說你們以前有關注過手淘的「雙11」會場頁面會發現手淘已經實現了「千人千面」能力,同時基於數據智能消息推送系統在線上運轉多年而且取得了很是好的成績。如今阿里巴巴也會把這些產品能力背後的核心技術開放出來,幫助你們實現對於客戶的拉新、促活、留存和轉化。

面向運營域,阿里巴巴會開放經歷多年「雙11」歷練的消息推送系統。在送達方面開放整個阿里系共享的消息推送通道,結合廠商合做夥伴提供的基於多消息推送通道的通送解決方案保障總體送達效果。延遲方面,會針對移動網絡場景進行深度優化和定製,同時面向IOS推送場景提供相應的中美高速通道專線,保障每一次任務的及時下發和網絡秒級應答。在流量方面,每秒百萬級別消息設備的吞吐率意味着在面對相似「雙11」這樣的強脈衝計算的場景下,也可以及時地對於推送業務進行應答。

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

阿里巴巴也會進一步開放集團內部的基於大數據的智能推送的能力,基於個性化推薦引擎能夠構建企業完整的用戶畫像,基於用戶畫像標籤、終端用戶地理位置信息、終端狀態信息以及每一次推送具體的內容等多個輸入源進行智能的設備圈選,有效地提高推送的精準度,可以幫助客戶實現真正意義上基於大數據的精準定向營銷。

(三)應用質量和高可用

移動互聯網發展到今天已經累積了幾萬款移動終端設備,海量的機型和操做系統以及分辨率構成的配置組合給移動應用自己的質量保障帶來很是大的挑戰。

傳統測試模式基於人工,無論在測試覆蓋度、測試效率,仍是Bug檢出率方面已經沒法徹底應對測試自己複雜度的指數級增加。基於這樣背景阿里巴巴開放了內部的真機測試服務平臺——移動測試服務,其包括了真機適配、功能自動化、雲端調試、在線錄製、性能測試以及H5測試等方面的能力,但願可以從公共雲和專有云兩個渠道幫助不一樣訴求的客戶一塊兒保障移動App高質量的交付。

移動雲面向移動App還推出了線上問題一鍵熱修復的解決方案Sophix,針對Native App發版節奏慢,更新週期長的問題提供端到端一體化的熱修復解決方案,Sophix能夠面向代碼、資源、SO文件三個維度進行修復,接入成本很是低廉,對應用沒有侵入,幾行代碼能夠完成總體接入,補丁包採用差量技術進行更新,從Patch生成、灰度、線上發佈和統計可以幫助開發者實現一站式線上故障應急處理的解決方案。

移動應用質量管理高可用這個體系相似於上述的移動網絡體系,也是內聚性很是強的閉環場景,在這樣的場景內阿里巴巴沉澱了很是多的能力,好比數據挖掘、分析梳理、面向終端日誌採集分析處理等等。

(四)企業業務移動化

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

傳統企業進行業務移動化過程當中會面對各類各樣的研發協同挑戰,存在着不少面和點的問題,爲了應對這些問題,阿里巴巴開放了企業級移動應用研發服務EMAS。對於傳統企業而言企業「互聯網+」的標誌是研發體系的互聯網化,單純在資源層面經過雲上虛擬機替換傳統的物理機並不能帶來本質的變革,只有真正實現了傳統體系內部研發體系的「互聯網+」的升級,纔可以真正爲傳統企業內部研發效能的提高帶來質的變化。EMAS但願打包整合阿里巴巴近十年研發體系以及能力、經驗的積累,但願幫助更多的傳統企業快速構建工程化的移動應用研發體系,完成企業業務移動化的轉型升級目標。

EMAS研發支撐平臺覆蓋從研發管理到持續集成、自動化測試、版本管理、灰度發佈、監控大盤、系統運維、用戶運營等完整的全流程生命週期管理,是移動互聯網沉澱的這套流程、機制、方法論很重要的載體。同時配合在雲上提供的移動中間件基礎服務體系,能夠從真正意義上面向開發者提供移動應用研發全棧解決方案。

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

 

原文連接 更多技術乾貨 請關注阿里云云棲社區微信號 :yunqiinsight

相關文章
相關標籤/搜索