《EMAS平台全景介绍-EMAS专场(29页).pdf》由会员分享,可在线阅读,更多相关《EMAS平台全景介绍-EMAS专场(29页).pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、EMASEMAS平台全景介绍阿里云 移动云 高级技术专家 杨镔(泠茗)EMAS专场-移动互联的进化论淘宝的移动互联网演进史企业级移动中台EMAS5大移动研发场景解决方案我们是谁?近10年移动互联网行业沉淀数十款千万级、亿级App产品研发运营实践手机淘宝的演进历史(2008-2017)20132015生态型超级App(3.0)工具型App(1.0)平台型App(2.0)All In 无线功能&性能航母级平台的效率&稳定性业务运营中轴业务创新&生态协同2017我们的挑战我们是谁?基于手机淘宝近十年对移动端DevOps的实践沉淀,为更多移动互联网背景下的现代企业赋能。手淘早期技术架构搜索后台统一网关
2、层HTTP方式交易后台商品后台上海品茶后台RPCRPCRPCRPC同一个代码仓库上海品茶详情交易搜索购物车基础中间件(网络/图片/Log/缓存)单一工程的开发模式,客户端承载业务越来越多,业务之间的依赖越来越多,系统耦合严重,扩展困难,维护变得异常复杂业务更新:端侧的发版特性,限制了业务更新的灵活性几个人维护2011年2013年2016年将近60人维护200人以上维护质量效率体验业务1业务2业务3业务4业务5业务6业务7.协同成本高牵一发而动全身,不敏捷业务要求快速发版APP的质量、体验的保障难网络体验移动网络的优化,安全性难保障上百人维护一个APP工程源代码冲突严重协同成本高APP发版周期长,业务创
3、新慢各自业务发展依赖版本,无法独立迭代业务快速发展与APP体验、质量矛盾适配成本高线上问题无法快速定位修复时间长移动网络差异大移动网络性能接入层安全风控调度容灾等能力技术限制业务发展打造OSGI容器,一切皆组件一切都是组件,运行在容器中组件通过总线通讯(UI/Service/Msg)动态部署,想发就发Bundle(deployable unit)RuntimeBus(UI&Service&Message)Lifecycle Mgmt.Bundle Mgmt.UIsServicesMsgsLibrariesBundle(deployable unit)Bundle(deployable unit
4、)业务1业务2业务3业务4业务5.网络库图片库存储库配置库.URL导航LifeCycle管理服务总线消息总线容器业务组件基础组件容器-运行时(Atlas)手机淘宝泛质量管理体系M度量组件T分析组件F修复组件大数据处理体系性能度量:OnlineMonotor稳定性度量:CrashReport自定义事件度量:AppMonitor检测组件Galileo 移动日志 tLog安全模式SafeMode安全气垫热修复 Hotfix开关服务 Orange稳定性用户体验用户舆情远程排查检测体系自动化驱动真机实验室线下自动化保障核心SDK能力大数据分析&运维低侵入、精准度高的客户端SDK海量数据的实时处理分析能力
5、远程问题排查和检测能力测试环境自动化保障体系1发布之前,通过线下自动化驱动测试保障基本稳定性和性能。SDK在运行阶段自动收集性能、稳定性问题23手淘整体高可用保障机制测试完毕后,进行灰度发布。通过SDK和大数据体系评估APP的质量,性能和用户的体验,以及在多种机型,环境上问题的暴露。多次灰度达到发布标准后,进行正式的全量发布大数据体系进行线上问题的实时监控状态4线上发现问题后,数据体系及时报警通过排查等手段发现根因,通过patch等手段修复问题接入调度服务统一接入网关SlightSSLHTTP/2QUIC配置更新服务API接入网关长连双工加密通道推送和数据请求业务系统接入APP接入安全服务客户
6、端网络能力网络SDK服务的调度批量域名解析API SDK配置SDK安全 SDK配置更新A/B能力网络1秒法则业务特性统一API、数据和安全管理配置动态更新和A/B覆盖调度特性减少运营商域名劫持支持就近调度和服务容灾网络特性高可用的多路复用双工通道更好的协议和数据压缩无线网络服务QoS保障核心收益增强无线网络APP体验提高业务能力效率阿里巴巴无线网络统一接入体系淘宝的移动互联网演进史企业级移动中台EMAS5大移动研发场景解决方案EMAS Top-level Model基础架构EMAS Infrastructure移动端OSGI应用容器App-Side OSGI Container工程理念EMAS
7、 Philosophy研发支撑EMAS DevOps跨平台开发框架Weex-based Cross Platform Framework应用框架Application Framework服务组件Service Component功能组件Function Component移动中间件Mobile Middleware测试监控Test&APM用户运营User Operation网络服务Network ServiceHTTPDNS移动网关Mobile Gateway数据分析Data Analytics舆情反馈User Feedback移动推送Mobile Push真机测试Mobile Testing
8、Mobile APM移动日志Mobile Log远程配置Remote Config移动AIMobile AILBS热修复Mobile HotfixUI组件UI Component图表组件Charting Component业务组件Business Component手机淘宝Mobile Taobao手机天猫Mobile Tmall优酷Youku高德Amap菜鸟CainiaoLazadaUC浏览器UC Browser火车式发布规范Specification for Version IterationAndroid/iOS 研发规范Android/iOS Coding ConventionsApp
9、性能基线App Performance Baseline业务组织架构Business Organization阿里巴巴多年移动互联网研发体系输出App全生命周期闭环管控研发协同 弹性构建 版本管理 灰度发布DesignCodeCompileAnalysisTestBuildDeployOperationMarketingEMAS 顶层模型阿里巴巴技术栈全景EMASDevOps前台业务手机淘宝Mobile Taobao手机天猫Mobile Tmall优酷Youku高德Amap菜鸟CainiaoLazadaUC浏览器UC BrowserDevOps企业研发云云效后台业务移动中台EMAS基础中间件基
10、础设施IaaSECSSLBOSSRDSCDN业务中台&数据中台消息推送移动APM开发套件&框架移动网关功能组件业务中台会员中心商品中心交易中心订单中心支付中心评价中心数据中台大数据计算服务大数据开发套件画像分析数据可视化数仓规划数据服务消息队列MQ实时监控ARMS分布式数据库DRS分布式框架EDASGTS淘宝的移动互联网演进史企业级移动中台EMAS5大移动研发场景解决方案企业移动研发痛点场景持续交付解决方案组件化解决方案跨平台解决方案泛质量管理解决方案网关统一接入解决方案App全生命周期管理,提升协同效率架构优化,业务解耦,提升研发效率一套代码,三端适用,提升研发体验,降低研发成本数据驱动的全
11、链路应用质量管控,App高可用交付移动网络统一接入基础设施,优化应用性能,提升用户体验3种研发模式支撑5大持续交付职能域覆盖研发阶段构建依赖管理编译缓存证书托管安全加固构建集群环境运维IDE插件工具体系Gradle插件XCodeBuildweex开发套件测试阶段静态扫描集成扫描软件包大小检测私有API检测安全扫描自定义规则专项测试智能Monkey真机适配性能自动化UI自动化发布阶段运维阶段运营阶段发布对象完整包patch包动态资源发布类型更新推送动态部署热补丁发布发布能力灰度策略渠道推送A/B test监控crash分析卡顿/ANR网络&性能jsError用户日志用户舆情实时告警修复热修复远程
12、配置h5动态更新用户舆情客户端反馈多渠道反馈语义分析需求处理监控告警消息推送用户画像企业画像行业画像标签地理围栏Native(极致体验,高性能)跨平台(WEEX)(三端统一,高效率)混合开发3项IT效能指标体系参考研发效率 200%提升1.7次/天发布频度应用性能页面秒开页面帧率提升10%应用质量线上故障恢复时间 1小时Crash率 30天7天3-4天1.7次/天70多个业务协同开发移动平台400+工程师外部20+BU参与系统化、科学化的APP研发工作流一键复制阿里巴巴研发标准体系业务迭代效率提升4倍以上EMAS 持续交付解决方案EMAS 组件化解决方案一切都是组件,运行在容器中组件通过总线通
13、讯(UI/Service/Msg)动态部署,想发就发Bundle(deployable unit)RuntimeBus(UI&Service&Message)Lifecycle Mgmt.Bundle Mgmt.UIsServicesMsgsLibrariesBundle(deployable unit)Bundle(deployable unit)业务1业务2业务3业务4业务5.网络库图片库存储库配置库.URL导航LifeCycle管理服务总线消息总线容器业务组件基础组件容器-运行时(Atlas)会员订单消息底层中间件(基础库)单一工程 混合开发解耦多工程 并行开发基础中间件独立业务组件Bu
14、ndleBundle向下依赖功能&代码复用EMAS 组件化解决方案从“多方捆绑”到“按需发布”强耦合的架构,单一工程开发,就像两人三足,需要所有人一起配合,一个倒下了所有人玩完;需要等所有人ready也是造成发布周期长、过程痛苦的主要原因。松耦合后,火车式发布,实行班车制,准点发车;统一发布日期,减轻部门沟通成本;减轻开发压力;但是有的时候,我们赶不上班车又等不了下塘,那就自己发车;按需发布;一套代码适配三端业务(iOS/Android/H5)(iOS/Android/H5)语法轻量一小时上手,Vue/RaxVue/Rax两种DSLDSL高性能富交互,图表/3D/AR/3D/AR/视频特色组件
15、阿里三次双十一&广泛应用,稳定有保障WeexWeex前端页面(HTML/JS/CSSHTML/JS/CSS)Virtual DOM(JSON)Virtual DOM(JSON)iOS UIiOS UIiOSiOS渲染器Android UIAndroid UIH5 UIH5 UIAndroid Android 渲染器WebViewWebView解析WeexWeex技术原理EMAS 跨平台解决方案客户端团队客户端团队双十一20162017会场页面规模174716W+互动能力少量动画游戏、Canvas、A/VR、直播秒开率95%96%支撑双十一大量业务创新,想发就发统一的容器管控,一次优化多处受益丰
16、富的互动能力,业务研发最佳选择iOS工程师Android工程师H5前端工程师业务1前端工程师业务2业务3业务4研发模式彻底变革,技术分层更清晰研发效率提升100%,一次编码覆盖三端兼容Web技术体系,企业IT研发上手快Weex开发框架业务1业务2业务3业务4前端工程师前端工程师前端工程师EMAS 跨平台解决方案企鹅电竞点我达骑手 网易考拉海购 达人店Paytm MallLazada班豆开语微店买家版分期乐新浪众测极客时间猎游有赞零售百强排行飞呀超级云校贝贝过去的质量保证1.依赖上线前黑盒测试把关,忽视研发过程中及应用上线后的质量管控,单点式保障。2.被问题推动,拆西墙补东墙,缺乏主动感知和智能
17、感知的能力。3.分析问题靠现象,缺乏工具、数据支撑,定位、解决问题效率低下。感性猜测式Debug。现在的质量管理1.覆盖研发、测试、运营、运维的App完整生命周期质量管控,体系式保障。2.依托全链路的核心指标大数据监控体系,即时告警异常,聚合数据分析,发现隐藏风险。3.全链路排查工具支持,多维度数据佐证,理性量化式Debug。EMAS 泛质量管理解决方案EMAS 泛质量管理解决方案1发布之前,通过线下自动化驱动测试保障基本稳定性和性能。SDK在运行阶段自动收集性能、稳定性问题23手淘整体高可用保障机制测试完毕后,进行灰度发布。通过SDK和大数据体系评估APP的质量,性能和用户的体验,以及在多种
18、机型,环境上问题的暴露。多次灰度达到发布标准后,进行正式的全量发布大数据体系进行线上问题的实时监控状态4线上发现问题后,数据体系及时报警通过排查等手段发现根因,通过patch等手段修复问题DevOps Workflow云构建移动测试灰度发布APM用户反馈移动日志热修复静态检测页面响应时间每个页面从切换到完全展现的时间启动时间从用户点击App到上海品茶完全展现完成的时间功耗手机流量、电量等的消耗崩溃和卡顿率引起Crash,ANR等的比率等值流畅度页面在滑动、渲染等过程中的体验07.51522.530接入前三月四月五月六月七月线上故障修复耗时P1处理时长P2处理时长012.52537.550三月四月五
19、月六月七月线上故障数P4数量P3数量P2数量P1数量EMAS 泛质量管理解决方案多年双十一脉冲流量打磨异地多活,弹性扩容安全防控高可用、高并发、高可扩展专业网络团队预研移动场景深度优化深度协议优化定制包括API、远程调用、消息推送、IM在内的多种移动业务形态,长短连双工服务支持,大幅降低业务研发成本多种业务形态支持EMAS 网关统一接入解决方案API 网关控制台API developercreate APIpublish 移动API网关服务快速透出,API全生命周期管理String api=mtop.taobao.wsearch.appsearch;String v =1.0;Map data
20、=new HashMap();data.put(q,clothes);gatewayInstance.build(new ApiRequest(api,v,data).registerListener(new ApiListener()public void onSuccess(ApiResponse response)public void onError(ApiResponse response).startRequest();Dubbo/HTTPAndroid/IOS developercall API业务服务APP团队系统化的工作流与方法论业务快速研发迭代与业务创新EMAS 移动研发全景赋能EMAS,Mobile Internet Enabling Platform阿里巴巴实践标准团队人均效能提升工程研发理念组织架构升级极致体验高可用的应用质量高效的客户触达完善的基础设施协同效率与工程效能优雅的业务架构与顶层设计企业互联网+真正标志是研发体系互联网化EMAS是阿里巴巴近十年移动互联网研发体系的具象化载体央企多媒体教育金融电商新零售互联网交通综合EMAS,与他们同行All of Them Are Using EMAS