99
技术社区[云栖]
一篇文章纵览阿里云移动云Apsara Mobile产品系
摘要:在2017杭州云栖大会阿里移动云峰会暨Apsara Mobile品牌发布会专场上,阿里巴巴高级技术专家泠茗对于新发布的阿里移动云 Apsara Mobile产品系进行了介绍,并对于阿里巴巴在一些垂直场景下所开放的核心技术能力进行了分享。



在解决方案环节,阿里巴巴已经开源了面向Android的应用容器Altlas以及跨平台的UI开发框架Weex,围绕这些开发框架也会提供相应的商业化版本解决方案,帮助开发者更便捷地完成App的创建和管理。通过端+云的紧密配合为移动开发者提供全链路端到端的移动研发解决方案。在专有云环节提供了面向传统企业开发企业级应用研发服务EMAX,希望打包整个阿里巴巴集团近10年移动互联网研发体系的积累,并以SaaS化的服务形态一键复制我们的能力、经验,我们的流程、机制和方法论,希望帮助更多的传统企业快速地完成业务移动化的转型升级目标。
基于上述提到的这一套端到端的全链路移动应用研发体系,阿里巴巴也提出了一种新的移动App研发范式——Cloud Native App。

接下来分享阿里巴巴在移动App的研发关键路径上所开放出来的一系列的核心能力,主要分为了几个关键环节:网络、消息与数据、应用质量和高可用以及企业级移动应用研发服务EMAX。
网络是所有移动App非常关键的基础模块。Google之前对搜索系统有做过相应的统计评测,搜索系统延迟每上升400毫秒,搜索量业务量就会降低0.59%,虽然这一相对值看似比较低,但是在Google搜索体量背后也是非常大的损耗。雅虎整体Web系统的延迟每上升400毫秒,流量就会下降5%到9%;Bing延迟每上升2秒,整体收入下降4.3%;而对于Mozilla,延迟每降低2.2秒,下载量就会提升15.4%。所以说网络这个环节不仅仅和移动端体验息息相关,同时也直接决定着产品的核心商业指标情况。


- 防劫持,因为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、版本灰度以及安全流量调度等场景下都有很大的利用空间。
域名解析之后就是网络请求的主体环节。对比有线网络,移动网络一个很重要的特点就是多了一个移动链路环节,其整体丢包率、稳定性以及延迟对于有线网络都有所不足。通常称这个链路为Lastmile,如何解决Lastmile通信效率的问题也是移动网络优化最为核心的课题。对于普通的开发者而言,整个网络链路是以黑盒形态存在的,所以开发者针对网络形态所能做的网络优化的空间是非常有限的,如果需要专门针对移动网络进行优化则需要聘请相应的专家针对协议层面进行相应的优化,所以整体资源的投入和维系的成本以及门槛也是比较高的。基于此,阿里巴巴也会开放内部的网络优化体系——移动加速服务,希望能够从端、管、云三个层面帮助开发者完成App网络整体立体式优化。
传统的App网络访问链路从客户端发出请求是通过公网路由进行原站访问的,而通过移动加速,App发出网络请求首先会就近接入遍及全网的加速节点,通过加速网络进行快速的路由选择再回原站访问。这样的整体收益就来自以下三个方面:
- 在“端”方面,移动云会提供网络托管SDK,通过托管SDK和加速节点配合,真正意义上构建双端加速模型。传统CDN是典型的单端加速模型,而双端加速模型的一个很重要的优势就是从客户端到加速节点之间的链路由于双端都有控制,可以进行传输协议的协商和实现。在这样一个双端加速模型上可以针对传统四层的TCB协议的一些缺陷进行深度优化定制。
- 在“管”方面,移动云拥有遍布全网的海量就近接入节点,在带宽以及链路等方面质量都是非常优异的。同时,传统CDN是短连接的形态,每次发起的业务请求在结束之后可能就被释放掉了。而在移动加速场景下,从客户端到加速节点到原站之间实现了全链路的长连接,可以大幅度削减在网络通信过程中的三次握手以及安全握手等冗余的开销。另外在动态路由方面,全网会有海量的加速节点,通过这些加速节点可以实时地、智能地去计算从就近加速节点到用户原站之间应该通过怎样的路由使得整体的延时更优化,进而降低每次网络访问的延迟。
- 在“云”方面,传统CDN实现的功能是静态资源的缓存、分发能力,同样的移动加速会继承传统CDN静态资源缓存分发能力,同时对于像HTML、JS、CSS等面向Web化的资源也会进行动态的资源优化,进一步压缩链路上网络带宽的诉求,提升网络访问的效率。
对比于传统的CDN,移动加速就是CDN面向移动场景的解决方案。在双端加速模型,的背景下,可以针对访问链路进行协议定制优化,同时在连接层面可以实现真正意义上的全链路的长连接,大幅削减安全握手、三次握手等冗余开销。加速网络内部在端上引入机器学习的元素,可以通过智能判断分析对于当前的客户所处的当前环境到底应该选择使用加速链路还是公网路由。基于双端加速模型,可以进行优化定制,对于HTTPS的加密协议也可以进行深度定制,可以实现效率上的提升。

除了域名解析和网络优化之外,移动网络还有非常多的场景诉求,比如说网络拨测、网络体系监控、资源上传、远程调用、网络诊断等,移动网络本身是内聚性非常强的闭环场景。App对网络诉求可以用四个关键词概括:高速、稳定、可控,可视。
(二)消息与数据
移动互联网进入到下半场,人口流量红利也在慢慢退去,如何实现更精准的客户触达和留存成为每一个产品最核心的运营指标。如果说大家之前有关注过手淘的“双11”会场页面会发现手淘已经实现了“千人千面”能力,同时基于数据智能消息推送系统在线上运转多年并且取得了非常好的成绩。现在阿里巴巴也会把这些产品能力背后的核心技术开放出来,帮助大家实现对于客户的拉新、促活、留存和转化。




移动互联网发展到今天已经累积了几万款移动终端设备,海量的机型和操作系统以及分辨率构成的配置组合给移动应用本身的质量保障带来非常大的挑战。




除了上述提到的公有云开放的几个场景能力之外,面向专有云、传统企业、面向企业移动化浪潮,阿里巴巴也会开放相应的解决方案。



下图所示的是移动云在阿里云官网的入口,大家可以在阿里云官网产品下找到移动云一级类目,并进行产品试用和体验。


最后更新:2017-10-19 14:33:40