一文纵览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。

(一)网络

网络是所有移动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能力交付的全景图,除了刚才介绍的传统从端+云+数据这样一套能力栈中轴之外,也会开放阿里巴巴沉淀的软能力,帮助研发者构建软硬一体化完善的研发体系。

原文地址:https://blog.51cto.com/14031893/2366818

时间: 2024-10-23 15:00:18

一文纵览EMAS 到底内含多少阿里核心技术能力的相关文章

再次进击网文IP,腾讯和阿里又要针尖对麦芒了?

6月18日,阅文集团高级副总裁罗立在"2018年阅文IP生态大会"上提出,阅文集团将进一步升级IP共营合伙人制度.会上还首次公布了<全职高手之巅峰荣耀>动画大电影等多个重大开发项目,同时启动了覆盖多元品类的数十个IP项目,开放招募各类合伙人. 标注一下,阅文集团成立于2015年3月,由腾讯文学与原盛大文学整合而成. 有意思的是,就在此前一天,阿里文学也于6月17日在上海国际电影电视节上宣布,成立阿里文学IP影视顾问团,将扶持作家打造"超级IP生态圈".其

作为技术工程师,到底需要怎样的专业能力

写在前面: 行业里的牛人真的很多,值得我们去追逐和学习.但很大部分却将外界对于行业内的认知与行业的水平,拉低了很多很多. 直到几年前,在软件技术行业和互联网中,仍然都是在谈"不可替代","核心竞争力"和"刚需".但看得越多,思考得越多,接触得越多,辨证得越多,个人认为这是一个"伪命题". 为什么我会这么断言?因为这些经不起推敲,经不起折腾,扛不住变化.因为最大的不变就是变化. 那么,作为技术工程师,我们到底要武装哪些内容,变成

一文读懂大数据两大核心技术

今天小编给大家先分享一下大数据的两大核心技术,知己知彼才能百战不殆,学习大数据技术也是一样的道理,要先有一个清晰的了解,才能确保自己全身心的投入学习. Hadoop是什么? Hadoop在2006年开始成为雅虎项目,随后晋升为顶级Apache开源项目.它是一种通用的分布式系统基础架构,具有多个组件:Hadoop分布式文件系统(HDFS),它将文件以Hadoop本机格式存储并在集群中并行化; YARN,协调应用程序运行时的调度程序; MapReduce,这是实际并行处理数据的算法.Hadoop使用

阿里云数字化转型方案再升级,移动研发平台EMAS助力海底捞超级App“云上捞”

11月29日,海底捞正式发布了千人千面超级App,继9月26日正式登陆香港资本市场后,这家餐饮企业再次体现了与其优质服务所匹配的超强创新能力.从四川第一家火锅门店起家,海底捞成立至今已经走过25个年头,现在全国门店遍布近100座城市,已开门店超400家,海外门店也有50多家,全球注册会员超3000万. 要支撑3000万会员的个性化服务,背后的挑战不言而喻,这一次,海底捞选择与数字化转型专家---阿里云合作,超级App背后的"底料",是来自阿里巴巴三大技术平台的支撑:移动研发平台EMAS

阿里云进入文旅产业,几乎搬出了生态“全家桶”

本月 23 日在广州,阿里云举办其首个智慧文旅峰会,重点是发布阿里云在全域旅游的解决方案以及生态合作伙伴计划.在阿里经济体中,参与到智慧文旅产业业务的 BU 达 8 个之多.阿里巴巴1+8 文旅数字经济体参与 BU 分别是:天猫.高德.飞猪.蚂蚁金服.钉钉.饿了么.友盟+.大文娱. 阿里云以往重点投入的行业是数字政府.新金融.新零售产业.对于为什么要进入文旅产业,阿里云智能副总裁.阿里云智能地产文旅行业总经理程璟表示,消费升级.消费与文化相结合的外部市场机会是一个重要原因,同时阿里自身 Doub

阿里云PHP环境(主机宝--AMH--WDCP)操作说明及横向对比

本人是做网站的,技术略懂,论坛中大神有很多,在下不敢班门弄斧,只因最近加入了一个阿里云的qq群,每天都有新人加入后咨询许多初级问题,特此写几篇关于web使用阿里云的教程和推荐给大家,我会尽量通俗的来写,让大家看得明白,希望对大家有一些帮助.   本人撰写系列教程,从各层面帮助大家走上运营网站的道路:     第一篇:阿里云PHP环境(主机宝--AMH--WDCP)操作说明及横向对比(Nginx + Apache[wdcp自带] + MySQL + PHP) http://bbs.aliyun.c

马云的阿里正在实践《失控》里人类下一轮进化:连接

1994年写成的<失控>讲了一件事情:连接.按<失控>的核心观点,连接是人类下一轮的进化方式,从以个人为单元的社会进化到以群体为单元的社会,连接是主要的技术实现手段.<失控>还有一个观点,就是现在的人们通过连接成群体来实践下一轮进化,但进化之后的群体智能是什么样子,这超越了现在人们的想象.因此,不能用今天的经验来预测明天的世界,连接之后的群体智能将在连接的过程中自然而然展现出来. 可以说腾讯率先在消费人群中实践了<失控>的思想,这也成就了微信的成功.后来,马

MongoDB学习笔记二:创建、更新及删除文档

插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个"_id"键(要是原来没有的话),然后将其保存到MongoDB中.批量插入 如果要插入多个文档,使用批量插入会快一些.批量插入传递一个由文档构成的数组给数据库.如果只是导入数据(例如,从数据feed或者MySQL中导入),可以使用命令行工具,如mongoimport,而不是使用批量插入. 删除

[译]最长回文子串(Longest Palindromic Substring) Part II

[译+改]最长回文子串(Longest Palindromic Substring) Part II 问题:给定字符串S,求S中的最长回文子串. 在上一篇,我们给出了4种算法,其中包括一个O(N2)时间O(1)空间的算法(中心检测法),已经很不错了.本篇将讨论一个O(N)时间O(N)空间的算法,即著名的Manacher算法,并详细说明其时间复杂度为何是O(N). 提示 +BIT祝威+悄悄在此留下版了个权的信息说: 先想想有什么办法能改进中心检测法. 考虑一下最坏的情况.★ 最坏的情况就是各个回文