“移”步到位:一站式移动应用研发体系-阿里云开发者社区

开发者社区> 开发与运维> 正文

“移”步到位:一站式移动应用研发体系

简介: 2017杭州云栖大会阿里移动云峰会专场上,阿里巴巴高级技术专家小木带来一站式应用研发体系方面的演讲。本文主要以互联网的应用背景开始谈起,进而阐述了已拥有APP的企业在APP的生命周期中会遇见哪些问题,以及缺乏移动端研发资源的企业应该怎样做,重点分享了EMAX For Native和EMAX For Weex,最后对EMAX进行了拓展说明。

2017杭州云栖大会阿里移动云峰会专场上,阿里巴巴高级技术专家小木带来一站式应用研发体系方面的演讲。本文主要以互联网的应用背景开始谈起,进而阐述了已拥有APP的企业在APP的生命周期中会遇见哪些问题,以及缺乏移动端研发资源的企业应该怎样做,重点分享了EMAX For Native和EMAX For Weex,最后对EMAX进行了拓展说明。

 

以下是精彩视频内容整理:

互联网应用背景

1978208aa3bbf3797d5c60628c951c26fc08ef4c

图为CNNIC今年7月份发布的包含中国网民各类互联网应用使用率的一份统计报告,即时通信、搜索引擎、网络新闻占据网民使用率的前三名,而网络购物、旅行预订、互联网理财、外卖、快车专车正在以较高的增长率快速进入到我们的生活。

80c57a90f02cc4c7439d77768fdff3225d816023

而同样来讲,CNNIC2014年12月份《中国企业互联网应用状况调查报告》显示,我国企业通过互联网向客户提供的服务比例的总体比例不足50%。

据调查数据表明,中国企业85%拥有PC网站,APP拥有率仅仅5%,在整个企业“互联网+”的进程当中,作为阿里云、移动云,作为阿里的移动中台一直在思考一个问题,那就是如何通过加速企业的移动化来赋能企业的“互联网+”。对于5%已经拥有APP的企业我们应该怎么做?对于剩下的想拥有APP的企业我们又应该怎么做?

 

已拥有APP的企业在APP的生命周期中通常会遇见哪些问题?

 

对于已经拥有APP的企业,在APP的生命周期中通常会遇到哪些问题?主要有以下几方面:

  • 开发阶段的问题是:研发同学通常在多个分支上进行并行开发,最后进行人工打包,这里存在的问题或是Morge非常容易出错,或是人工打包过程当中自动化程度非常低,而且容易出错。
  • 测试阶段的问题是:一是机型和用例不完善;二是非功能性异常上线会大面积爆发;三是每个版本都有相似经历。
  • 发布阶段的问题是:一是发布进度跟不上研发进度;二是祈祷式发布。
  • 运维阶段的问题是:一是无滚动、无滚代价大;二是发现问题在事后。

c7c286cb0e9dad14e8982c3d3c0ecf92961e546d

这些问题有解法吗?现在的解决方式通过单点规则、单点流程和割裂的云服务解决单点问题,我们称之为点状解决法。就是移动DevOps,DevOps追求的是效率和质量,追求的是持续集成和持续交付,点状的解决方法虽然可以从单点上解决某个具体问题,但是没有办法做到持续集成和持续交付。现在看来,点状的解决方法有点“头疼医头,脚痛医脚”的感觉。

EMAX For Native

1839ede891a8434c0909b16589e7f6e8d8db14bf

EMAX的服务其一是EMAX For Native,它是真正符合移动 DevOps 定义的移动应用研发支撑服务,将覆盖研发、测试、发布、运维、运营。

  • 研发阶段,客户端架构采用容器架构将业务模块进行拆分,在APP交付模式上我们会将传统的代码分支交付变成编译后二进制产物交付,我们会通过静态扫描插件把一些问题拦截在研发阶段,基础会支持版本管理、构件打包、证书管理。
  • 测试阶段,每个业务模块都会独立的经过一系列的卡口扫描,比如说包大小、代码警告,我们将大部分问题拦截在集成之前。比如我们一个业务方IOS APP莫名其妙出现问题,找到我们的架构组,两分钟问题定位到了,原来他们将IOS系统程序改写了,导致了问题,五个人查了两天没有查出来,系统扫描两分钟搞定。还有一个智能Monkey系统可以扫描和识别整个APP页面全景图,并且会根据线上实际用户的操作路径做权重优化,以最短的时间覆盖核心页面、核心控件、核心功能逻辑测试。
  • 发布阶段,实现了多维度灰度功能,可以根据用户的ID、IP、网络、机型、版本等多种策略进行灰度发布,并且有推和拉两种方式进行灰度发布。
  • 运维阶段,打造高可用体系,可以提供问题预警、问题定位和问题修复功能。
  • 运营阶段,通过全方位舆情监控及时发现潜在问题,通过用户画像定向推送一些信息。

18c2bb0577208afef5f2515b383a6f403e28d639

图为DevOps非常知名的网站Puppet.com刚刚发布的2017年全球研发团队DevOps现状调查报告,其中有一个对于高效能应用友谊系列标准,虽然这份报告面向的是服务机端,但是对于我们依然适用。

 

对于业务想快速移动化,但是又缺乏移动端研发资源的企业来说应该怎样做?

目前的解决方法是:

第一,外包。寻找外包商方式快速建立APP,外包的质量是不稳定的,外包源码无法持续和迭代。

第二,采用H5或者HYBRID方式,通过加壳 WebView 的方式显示相关内容,开发很快,但是体验很差。

第三,采用其他各类平台框架和工具,并且接入一些服务,存在的问题是配套不完善,需要技术人员具有较强的问题排查能力,对于本身移动端资源就非常缺乏的企业来说无疑是雪上加霜。

EMAX For Weex

214089116fb913dccebe051d23d3ebcf1a4bd70b

EMAX For Weex是基于Cloud Native APP的研发平台。我们会将内部的数据同步、消息推送、网络加速和移动网关以组件的方式放在这个平台上让大家快速集成。EMAX Weex中研发、测试、发布、运维、运营依然有一整套方案做支撑,我们希望EMAX For Weex帮助企业在极少数研发人员的情况下一次性构建非常复杂、高质量、高效率的移动APP,我们也希望开元社区能够将更多的高质量的组件、模版、服务源源不断送向我们的企业。

 

EMAX MDev产品架构图

468187d57fbd7e24062565e8c573aff7ab570990

回顾以上两大场景:

第一,EMAX for Native面对企业在DevOps研发过程中的质量和效率问题;第二 , EMAX For Weex面对企业有极少数研发人员的情况下。底层有一整套研发、运维平台覆盖研发、测试、发布、运维、运营,并且支持Native和Weex两种开发方式,同时基于此的运用构建、运用容器、持续集成、移动高可用、移动测试和Hotpatch的解决方案。

企业级移动应用研发服务的服务方式是通过专有云的方式联合ISV以招投标或者线下合同方式独立服务各个企业。

b171e168e12759bef373554bd4d6c311d8dca594

这是优酷案例,之前客户端迭代和交付存在很多的困境和问题,比如发布过程是不透明的,故障处理时间比较长,没有发布的标准,没有灰度发布和自动化测试,经过EMAX for Native,交付效率大幅度提升,故障发现效率大幅度提升。

还有上海某集团的真实案例,他们没有一个客户端研发,甚至没有前端研发,在EMAX for Weex的帮助下,18个页面标准APP一个月开放完成,现在是等待发布的状态。

 

One more thing

d268bb53c62578709e2db0d4cb1b001030ee9d44

一体化的研发体系其实只是EMAX的冰山一角,PaaS、移动网络服务、移动质量即服务,还有SaaS直接贴合业务的消息推送、智能客服、视频会议、网络直播、OCER,这些服务将携带阿里巴巴规范体系和数据体系。

企业级移动应用研发服务EMAX是阿里近10年移动技术积累完整呈现,我们希望企业真正少走弯路,真正帮助大家在团队研发效率和研发能力上得到大幅度提升。

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章