2018云栖大会武汉峰会企业研发云专场,阿里巴巴高级解决方案工程师苗媛媛带来“航空行业Devops之路,让价值高速交付”的精彩演讲,首先介绍了航空业的现状需要持续交付的能力,其次详细讲述了云效软件航空业的3个特点,最后分享了云效助力企业研发效能的升级促进了研发价值的协同。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
直播视频回顾请点击
以下为精彩视频内容整理:
航空业的现状
航空业需要快速的迭代,目前的软件模式属于一种传统软件模式“烟囱式”工具集,项目的周期分为需求阶段、研发阶段、测试阶段和项目生成,在每个项目的生命周期使用工具提升自身的效能,在需求阶段依赖开源工具JARA;研发阶段使用MELEN/GATE/SVN做构建的模具,选择FUNDBARK和SUNAR做静态扫描,在研发初期保证代码质量,发现错误及时纠正,可降低修复成本;测试阶段使用UI自动化、接口自动化、WATER等工具,每个交付环节有独立的平台,并且面向开发效能提升的工具较少。大多数工具都可以支持每一个单独阶段的研发效能提升,若是把整体效能串接在一起,就会导致流程集成成本过高,单独功能强大,但集成度弱,每个单独模块可能比整体流程管理更好。
上图为传统软件模式-集成交付的示意图。传统发布模式具有一个集中交付的能力,同时开发一个项目并集成在一起约定一个恰当的时间试验功能。在项目研发中有一个开发集成环境,通过一系列的开发测试完成后,将整个代码部署某一块至测试环境中。一个项目有许多产品的模块,上图介绍超过9个产品的模块,如果有多个项目同时发布,会给集成环境带来不稳定的问题,影响验证效果。
航空业的痛点主要是项目交付周期长(上线质量不高,时间长,业务迭代快速);并行需求多,项目环境争用频繁,多版本环境管理诉求大;缺少面向微服务快速交付的一套研发管理平台;需要建设自动化体系。
上图为航空企业DevOps转型的诉求的示意图。航空企业DevOps转型的诉求需要效率的提升,这种效率的提升通过工具平台用技术推动业务的不断创新;质量防控包括做质量内鉴,项目需求质量闭环,若需求不规范,跟踪则会很困难;资源全景包括团队资源的重点投向及各个角色的协同,团队能力的提升主要是纵向能力专家的培育,如自动化、性能等。
云效软件航空业的特点
上图为云效的软件模式特点“一站式”的示意图。云效的软件模式特点“一站式”可以解决所有问题,云效应从需求开发至提交结束,可对整个生命周期进行管理,云效应自身有需求管理,方便追溯整个生命周期,包括研发代码的编写,云效应可自动分枝进行提取,提交结束后会自动触发单侧集成的任务。云效应主要是做一些集成,对单元测试自动化覆盖进行度量和对静态代码的扫描,可帮助使用者及时发现静态代码的错误,可达到开发尽快恢复,从而保证质量交付,同时可以给代码进行一个打分的报告,在此阶段云效对ISV提供的代码在运行时进行了一个验证。ISV提供了代码的规范,满足单侧集成分数达到某一值以上,必修规则或高分漏洞数量是某一值以下,证明对其是认可的并进行后续考核ISV对接口的覆盖率。云效在系统测试方面有突出特点即测试管理和自动化测试工具。
UI产品与业界不同的点
UI自动化不是由一个编码模式完成的,而是通过快速录制的方式,录制完成后实现快速的本地回放或在线回放验证功能的正确性,当功能点页面元素发生变化时,可通过算法快速适应。当用自动化测试时,元素定位单一,要通过相对路径xps-ID定位,而云效应进行录制时,存储元素不是一个代码,而是一些操作信息,在执行或进行回放时,会动态根据当前的情况选择最优的定位方式,并做一个脚本的生成和执行操作,其稳定性和成本均低。
上图为项目需求全链路跟踪的示意图。云效应对需求的管理方式,从业务规划到整个资源管理、项目管理、需求发布,整个过程被迅速管理,实现业务价值迅速交付。建设效能高速通道的核心策略包括:环境持续部署与SCM模式结合,在不同节点部署低成本获取项目测试环境;自动化部署,代码持续集成包括代码质量自动集成单元测试和代码规则沉淀;分层自动化持续交付是UI接口或性能分层自动化建设持续交付通道;全自动并行SCM分配是流程化配置管理,多种研发模式兼容并行研发模式平台化支撑平台化构造。
上图为云效的软件供应链模式特点“双模支撑”示意图。图中左边有许多小需求同时发布,在公共环境下做测试,若在项目环境中有变动,可申请一个需求做部署,保证在一个完整的环境下进行测试,测试结束后,进行下一轮环境部署。这个过程依赖于云效未发布的集成系统。
上图为全自动SCM的方案示意图。每一个绿色代表项目,在开始是会拉取一个特性分支做功能开发,开发完成后提交集成,将发布分支和特征融合做一个UAT集成、环境集成,最后将发布分支合并主干。
云效的软件供应链模式特点“高效的自动化工具”调查发现Google的单元测试70%、接口测试20%、UI测试10%。阿里巴巴支持HTP接口等,通过Service文件导入或RPC数据台导入可获取相关接口信息,并对接口的覆盖做一个度量。
组织职能升级 –DevOps促进研发测试的价值协同
云效不仅可以做业务测试,云效目前也在转型期间,例如持续交付通道的建设、贴近业务创新、自动平台的建设、测试环境的维护等。开发能力提升也提供了工具开发,做质量内鉴的开发。
上图为航空基于互联网架构搭建持续交付通道的示意图。用于航空业的机票查询、下单和餐食系统,建立一个ISV的交付标准,观察单侧集成、单元测试覆盖核问题缺陷所达到的程度,也是基于一站式的交付能力给航空公司做了一个交付通道。
本文由云栖志愿小组毛鹤整理编辑