传统企业转向互联网,如何快速提升研发效能?

2017 年 8 月 11 日 阿里技术

互联网时代,随着业务的迅猛发展,企业越来越希望通过实施DevOps来提升研发、运维等IT部门的效率,支撑业务发展。互联网企业如何利用工具让DevOps落地?传统企业如何提升研发效能,更快速的互联网化?这些都是企业面临的问题。


近期,阿里巴巴持续集成持续交付平台——云效,在深圳阿里中心举办了一场“业务为王时代,DevOps怎么玩?”主题沙龙,由阿里巴巴技术专家从云效新概念的提出,到阿里巴巴DevOps落地实践、到企业如何利用云效进行高效研发、再到阿里巴巴CI/CD之分层自动化,帮助参会者从理念、策略、实践、效果等方面,全面深入的了解DevOps玩法,以及具体如何落地的思路。

 

云效:互联网+时代的企业级研发效能提升服务

 

云效是互联网业务下催生的研发效能平台,2012年,云效孵化自阿里巴巴B2B事业群,为阿里内部提供研发效能服务;2013年,云效真正实现持续集成持续交付并落地实施; 2015年底,云效与首家互联网保险公司众安保险合作,开启商业化第一步,后来正式为互联网+企业提供服务。

 

云效经过长期落地实践,沉淀出一套含测试策略、研发策略的工具产品,开始更好的支撑传统企业的互联网化。本次沙龙上,云效负责人章屹正式提出:“互联网+时代的企业级研发效能提升服务”新概念,为传统企业赋能!目前已经覆盖新零售、地产、券商、银行、保险等行业,为顾家家居、李锦记、世联行、国泰君安、光大银行、天弘基金等传统企业服务。

 

云效特色


  • 流式实时交付:集成验证速度匹配项目研发速度,为业务加速,改变传统周期性交付模式;

  • 自动化质量保证:构建自动化质量保证体系,提升研发质量,为质量护航,改变传统手工技术质量保证体系;

  • 柔性化管理:大数据支撑的柔性化研发技术管理,管理策略可私有定制,改变传统团队统一技术管理模式。

 

云效策略


云效拥抱传统企业,根据传统企业研发团队规模大小、研发人员技能高低等,进行定制化实施策略,赋能技术团队,使业务无线可能。





落地数据


在合作中,云效为众安保险部署4个月时间,测试环境和持续集成累计为众安提效232人日;云效为五矿电商部署测试环境累计超过6万次,UI自动化用例积累数量超过600个,实现了五矿业务场景的自动化的全面覆盖。

 

阿里巴巴DevOps落地实践

 

章屹:阿里巴巴高级技术专家。清华大学电子工程系硕士毕业,十多年从事软件的测试、开发、系统设计工作。现为阿里巴巴高级技术专家,工程效能部技术负责人,负责云效的技术规划和建设工作。

 

在阿里巴巴内部推行开发自测、开发自运维的环境下,阿里巴巴DevOps应运而生。阿里巴巴DevOps面临这几个问题:1.开发的测试和运维能力培养问题;2.开发自测自运维带来的效率和质量问题;3.DevOps的实施进度问题;4.测试团队和运维团队的未来发展问题;5.技术的发展(微服务、容器化)带来的挑战。

 

为了解决DevOps落地问题,云效跟开发、测试、运维团队一起,为开发服务,让他们自运维、自测,提升效率。

 

DevOps实施策略






如何赋能开发自运维、自测?


在赋能开发自运维、自测过程中,工具的价值最为凸显。


  • 传统解决方案:大集成环境;固定发布时间(每周一次、两周一次、一年四次……);

  • 云效持续交付解决方案:所有应用24小时随时提测并发布,无发布窗口限制;预发布集成环境,半小时完成自动化并无人值守。

 

DevOps实施结果


开发自运维之后,研发效率大幅提升:日均节省资源人数增长,集成验证发布耗时减少,专业性团队(性能、压测等)队伍在增长;质量得到保证:应用运维故障个数大幅下降;研发模式创新:自动化Case数量增加,50%项目小需求研发自测,测试不接手, 测试全监控。


企业如何利用云效进行高效研发?

 

苗欣:阿里资深研发工程师。主要负责云效平台解决方案服务输出。在自动化测试技术、持续集成等方面拥有多年实践经验,拥有多项技术专利。

 

云效,源于内部,是阿里巴巴技术部实现持续交付的统一协同工作平台,实现开发测试全流程自动化,支撑项目的持续集成与持续交付。目前客户覆盖银行,保险,券商,电商,新零售等。

 

一个项目如何在云效实现持续集成?



视频链接:(进入页面后选择左侧帮助视频栏--云效研发整体流程视频)

http://ali-aegis.aliyun.com/help/help.html?spm=0.0.0.0.W35KAx


视频解读:


项目准备阶段:我们评审好项目需求,初步完成项目的资源评估,以及确定项目的交付日期后,即可在云效配置管理系统创建项目,填写项目成员,申请应用代码分支。云效提供配置管理功能,同时开放接口,支持对接外部的配管系统。


开发阶段:开发在本机编写代码,每次代码CI后,云效单测集成系统会自动检测代码变更,几分钟后收到邮件提醒,在邮件中,可以看到单测用例,静态扫描等信息,也可点击项目或者数字链接到云效单测集成系统,在系统上我们可以看到每次代码提交运行的详细情况。


测试准备阶段(含开发自测):开发在编写代码的同时,测试也进入测试准备阶段。测试在云效平台可以编写UI、接口、以及手工测试用例,用例编写完成后,还需要准备一些测试数据,在云效的数据银行提供了丰富的测试数据生成方式,我们可以根据配置单,快速生成所需要的测试数据。


测试阶段(环境部署、接口、UI、手工用例测试):开发自测通过后,项目进入测试阶段。开发在项目中打一个测试包,打开环境管理,点击申请,这时云效平台会自动申请一台云服务器,选出刚打出来的测试部署包,点击部署,测试环境的部署就自动开始了。在部署过程中,可以实时监控部署日志,获取Hosts绑定信息。测试在平台响应“接手测试”,在项目中运行写好的接口测试用例,运行UI用例,以及在手工用例系统中,运行功能用例,及时提交发现的缺陷。开发在收到缺陷邮件提醒后,可以在平台修复缺陷。接口、UI、功能测试都完成后,测试可以在平台响应功能“测试通过”。


集成测试阶段:开发在平台提交集成,项目进入集成队列,平台自动从应用的主干拉取最新的release分支,将项目中的分支和release分支合并,打出集成测试包,部署到集成测试环境,触发集成自动化脚本运行。项目成员可以在集成环境进行测试验证,验证通过后,平台上响应“验证通过”。配管将发布包部署到正式环境,触发代码合并主干。

这样,就在云效平台上完成了一个项目持续集成过程。


阿里巴巴CI/CD之分层自动化

 

金桐:阿里巴巴产品专家。从事多年互联网系统的研发和测试工作,现在主要负责云效分层自动化测试的产品设计。

 

手工测试效率低下,发布频繁,回归量大、成本高,重复劳动很枯燥。自动化测试,就是用机器执行替代测试手工操作的一种测试方法,能够帮助测试人员从重复、枯燥的手工测试中解放出来,从而节省人力、时间或硬件资源。节约劳力为(N-1)M,M为此项工作单次需要投入的资源,N为此项工作需要重复工作的次数。

 

如果自动化这么好,为什么大家没有全部做自动化?因为自动化测试也是有烦恼的。主要表现在:成本高(代码能力、自动化框架、IDE 准备、调度、多环境),效果差(浏览器影响、执行机影响、依赖环境影响、脚本健壮性不强),覆盖率低(框架不万能、上下层难全、接口参数排列多),及时性低(代码变更频繁、遗漏的变更、项目结束才发现)等等。

 

为了降低成本,提高准确性,就要考虑降低人员成本、制作成本、运维成本、运行成本,同时扩大覆盖率、数据独立、提供好的方法和脚本。当然,就需要实行分层自动化。

 

在理解分层自动化之前,我们先看自动化测试金字塔,其中UI代表页面级系统测试,service代表服务业务测试(接口测试),unit代表单元测试。金字塔越高,表示需要投入的精力和工作量越大。分层自动化测试倡导的就是,将系统分层,根据层次特点用合适的自动化方法进行测试的一种测试策略。

 


阿里巴巴分层自动化在经过策略的沉淀调整后,又经历了长期的工具与流程实践,并从自动化成本和效果这两个点上突破,进行分层自动化工具和项目流程的双重革命,最终达到业内领先的研发测试比。在阿里实践分层自动化需要很多分层工具,包括配置管理Aton、UI测试的AUI、单元测试的Amon、环境管理的Aenv、接口测试SAT、性能测试Perf、集成自动化Pre等。

 

这里来介绍几个革命性工具


UI自动化—AUI


  • 创新型web-ui自动化测试框架,无需安装复杂底层环境和 IDE

  • 创建和维护脚本,都无需接触代码,全部为 Web 页面可视化使用

  • 支持本地回放,支持云端执行,解放机器,释放双手

  • 支持项目持续集成,线上监控等各种复杂场景

 

接口自动化—SAT


  • 可视化的接口测试,无需编写代码

  • 支持普通接口调试和复杂后台交互的接口测试的用例沉淀

  • 支持主干,项目用例的沉淀与回归

  • 支持项目持续集成

 

性能压测—Perf


  • 基于 Jmeter 的性能压测平台

  • 集脚本,场景,压测,监控和报表为一体,可快速施压的平台

  • 支持多种协议,适合 http,service 接口等测试

  • 比 LoadRunner 易上手,更轻量

 

单元测试—Amon


  • 可对代码主干及各项目分支进行单测集成

  • 对有代码变更的项目分支自定义频率集成

  • 对有代码变更的应用主干自定义频率集成

  • 拥有单测用例结果、覆盖率结果、静态扫描结果、sonar 代码分析等质量数据

 

集成自动化—Pre


  • 支持多种自动化框架接入

  • 支持项目集成相关所有自动化的自动统一触发

  • 支持多种自动化框架不同环境触发

  • 支持日常持续集成

  • 支持自动化失败的原因汇总与总结

 

阿里分层自动化实践带来了很有意义的成果,在阿里内部,大幅提高了研发测试比,减少了重复劳动带来的加班,同时带动了更多高效工具的诞生;在研发方面,单测成本降低了,覆盖率可视化了,自测有保障了,故障降低了;在测试方面,降低了测试要求,增加了工作成就感;对云效客户来说,给企业赋能,提高了研发测试效率。

 

 

关于云效云效,是阿里巴巴互联网业务催生下的新型研发效能平台,历经阿里集团众多业务打磨,覆盖研发测试全流程,通过研发效能综合管理和专项自动化提效工具,将自动化验证、流式实时交付、柔性化技术管理等互联网研发模式引入银行、证券、保险、微金融、民航、新零售等各个行业的传统企业,同时也根据这些行业特性不断丰富发展,使传统企业与互联网结合,加强诸多新业务的快速迭代和质量提升,使技术赋予业务无限可能。



你可能还喜欢

点击下方图片即可阅读



万字长文剖析AliSQL X-Cluster|基于X-Paxos的高性能强一致MySQL数据库



五分钟读懂SIGIR 2017前沿技术研究成果



首次披露!拍立淘技术框架及核心算法,日均UV超千万




关注「阿里技术」 

把握前沿技术脉搏

转载 l 合作 l 投稿

lunalin.lpp@alibaba-inc.com

登录查看更多
3

相关内容

DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。 它是人们为了及时生产软件产品或服务,以满足某个业务目标,对开发与运维之间相互依存关系的一种新的理解。
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
《人工智能2020:落地挑战与应对 》56页pdf
专知会员服务
196+阅读 · 2020年3月8日
新时期我国信息技术产业的发展
专知会员服务
70+阅读 · 2020年1月18日
【德勤】中国人工智能产业白皮书,68页pdf
专知会员服务
303+阅读 · 2019年12月23日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
137+阅读 · 2019年12月12日
【白皮书】“物联网+区块链”应用与发展白皮书-2019
专知会员服务
93+阅读 · 2019年11月13日
医疗知识图谱构建与应用
专知会员服务
384+阅读 · 2019年9月25日
如何构建行业知识图谱(以医疗行业为例)
【数字化】制造业数字化转型的实战路线图
产业智能官
39+阅读 · 2019年9月10日
DevOps 国际峰会 2019 · 北京站完整实录(附PPT)
DevOps时代
52+阅读 · 2019年7月8日
5G时代:北京移动业务支撑系统 DevOps 实践
DevOps时代
15+阅读 · 2019年6月13日
【干货】电商数据中台如何构建?
AliData
11+阅读 · 2019年4月4日
企业数据AI化战略:从数据中台到AI中台
36大数据
11+阅读 · 2019年2月18日
业务中台:如何在互联时代,快速响应用户需求?
互联网er的早读课
24+阅读 · 2018年12月26日
【物联网】物联网产业现状与技术发展
产业智能官
15+阅读 · 2018年12月17日
智能时代如何构建金融反欺诈体系?
数据猿
12+阅读 · 2018年3月26日
A survey on deep hashing for image retrieval
Arxiv
14+阅读 · 2020年6月10日
Arxiv
4+阅读 · 2018年10月5日
Arxiv
11+阅读 · 2018年4月8日
Arxiv
6+阅读 · 2018年2月6日
Arxiv
4+阅读 · 2017年11月4日
VIP会员
相关VIP内容
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
《人工智能2020:落地挑战与应对 》56页pdf
专知会员服务
196+阅读 · 2020年3月8日
新时期我国信息技术产业的发展
专知会员服务
70+阅读 · 2020年1月18日
【德勤】中国人工智能产业白皮书,68页pdf
专知会员服务
303+阅读 · 2019年12月23日
【大数据白皮书 2019】中国信息通信研究院
专知会员服务
137+阅读 · 2019年12月12日
【白皮书】“物联网+区块链”应用与发展白皮书-2019
专知会员服务
93+阅读 · 2019年11月13日
医疗知识图谱构建与应用
专知会员服务
384+阅读 · 2019年9月25日
相关资讯
如何构建行业知识图谱(以医疗行业为例)
【数字化】制造业数字化转型的实战路线图
产业智能官
39+阅读 · 2019年9月10日
DevOps 国际峰会 2019 · 北京站完整实录(附PPT)
DevOps时代
52+阅读 · 2019年7月8日
5G时代:北京移动业务支撑系统 DevOps 实践
DevOps时代
15+阅读 · 2019年6月13日
【干货】电商数据中台如何构建?
AliData
11+阅读 · 2019年4月4日
企业数据AI化战略:从数据中台到AI中台
36大数据
11+阅读 · 2019年2月18日
业务中台:如何在互联时代,快速响应用户需求?
互联网er的早读课
24+阅读 · 2018年12月26日
【物联网】物联网产业现状与技术发展
产业智能官
15+阅读 · 2018年12月17日
智能时代如何构建金融反欺诈体系?
数据猿
12+阅读 · 2018年3月26日
Top
微信扫码咨询专知VIP会员