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

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

互联网应用背景

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

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

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

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

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

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

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

EMAX For Native

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

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

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

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

目前的解决方法是:

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

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

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

EMAX For Weex

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

EMAX MDev产品架构图

回顾以上两大场景:

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

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

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

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

One more thing

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

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

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

  1. 阿里出品移动研发“神器” 阿里移动云系列第二篇|“移”步到位:一站式移动应用研发体系...

    摘要:2017杭州云栖大会阿里移动云峰会专场上,阿里巴巴高级技术专家小木带来一站式应用研发体系方面的演讲.本文主要以互联网的应用背景开始谈起,进而阐述了已拥有APP的企业在APP的生命周期中会遇见哪些 ...

  2. 从MVC到云原生:CBU研发体系演进之路

    简介:本文对过去十年 CBU 在研发方式和技术架构上的探索做一个简要的回顾总结,以及对未来的展望. 作者:远岩,高级开发工程师.2019年毕业加入阿里巴巴,主要负责 CBU APP 端前台场景工程体系 ...

  3. 如何建立一流的互联网产品研发体系?

    纵观历史,打江山容易守江山难,原因是打江山靠胆识,守江山看智慧,而管理者的智慧体现在制度制定和执行上.众所周知,一流企业看制度,二流企业看老板.好的制度是企业和团队成功的必要条件:从繁杂的事务中节省时 ...

  4. 【Web技术】1154- 现代 Web 研发体系中的新一代低/零码搭建

    前言 终于有时间把稀土开发者大会上讲的「Web 开发引擎」和「低码」话题的分享,改成文字版发出来. 现场演讲中后半部分内容是脱稿讲的,我重写成了更全的内容. 「越来越庞大的应用开发需求」和「现代 We ...

  5. 十倍效能提升——Web 基础研发体系的建立

    十倍效能提升--Web 基础研发体系的建立 1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术.工具,以及所属组织架构的总和.在过去提升企业研发效能的讨论中,围绕的主题基 ...

  6. Web 基础研发体系的建立

    1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术.工具,以及所属组织架构的总和.在过去提升企业研发效能的讨论中,围绕的主题基本都是--"通过云计算.云存储等方 ...

  7. 三一集团数字化转型探秘:以DevOps平台构建敏捷研发体系

    三一集团创始于1989年,是全球装备制造业的领先企业之一,同时也是中国"智能制造"首批试点示范企业.在立足装备制造主营业务基础上,三一集团大力发展新能源.金融保险.住宅产业化.工业 ...

  8. 思考:如何打造一个优秀的研发体系

    做了几年的产品,刚混熟了产品圈,今年又临危受命负责整个研发团队,对过去分散式的研发体系(研发在各事业部)进行整合,研发统一管理. 过去我们一个产品一个产品的突破,逐步形成了多产品线的研发模式,这种模式 ...

  9. 高效能研发体系构建方案

    背景 技术管理者(技术总监/经理/CTO)都会面临公司战略执行,公司业绩的压力,以及业务对技术团队支撑能力的期望和诉求.如何打造一支快速响应,高效能,能打硬仗的技术团队?是技术管理者的挑战和必须完成的 ...

最新文章

  1. 百度李彦宏遭现场泼水,瞬间懵圈,湿身调侃AI遇到的挫折
  2. 浙大吴飞「舌战」阿里贾扬清:AI内卷与年薪百万,哪个才是真实?
  3. 在前后端分离的路上承受了多少痛?看看这篇是否能帮到你?
  4. 网站常规基本优化工作有哪些?
  5. Java---模拟图灵机的运行过程
  6. Laravel自定义验证规则的实例与框架使用正则实例
  7. Jmeter之逻辑控制器(Logic Controller)
  8. 【python命名规范】谷歌风格命名
  9. 自然语言处理(NLP)书籍、项目、视频资源清单
  10. json 文件的装、配置、测试使用
  11. paip.proxool连接池 :Attempt to refer to a unregistered pool by its alias 'xx'
  12. SpringBoot 如何执行定时任务
  13. position的粘性定位
  14. 大学英语(第四册)复习(原文及全文翻译)——Unit 10 - Why People Work(人为什么工作)
  15. php域名录入系统课设报告,用PHP编程开发“虚拟域名”系统
  16. 百思不得其解的Failed to allocate a managed memory buffer of 268435456 bytes.错误解决
  17. 2021年山东省安全员C证考试资料及山东省安全员C证找解析
  18. ffmpeg处理HDR视频
  19. linux 自动隐藏任务栏_如何自动隐藏Windows任务栏
  20. 为什么你投了那么多份简历都没有回应?手把手教你写简历

热门文章

  1. Java泛型类,方法使用,Java继承的歪解
  2. android获取机主手机号,Android中 获取手机通讯录和手机机主手机号码——诺诺涂鸦记忆...
  3. 深职院入职培训心得2021
  4. 参与微软Docs翻译
  5. 大数据:2019年汽车4S店访客画像
  6. Java基础方法执行内存分析
  7. BGP在数据中心的应用2——BGP如何适应数据中心网络
  8. 声网实现屏幕共享以及直播
  9. python的random()函数用法_python中的随机函数random的用法示例
  10. 苹果年夜饭“全家桶”来了,给你不一样的新年味