云效三种模式特点帮助企业完成DevOps转型和升级

摘要:在2018云栖大会上海峰会企业研发云专场中,阿里巴巴研发效能事业部解决方案架构师苗欣给我们带来了<<云效三种模式特点帮助企业完成DevOps转型和升级>>的精彩讲解,首先详细介绍了什么是DevOps,其次为我们阐释了为什么要实施DevOps,最后对云效的软件研发模式特点及云效助力企业研发效能升级等方面的内容作了深入的分析。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧
精彩视频回顾请点击
ppt下载请点击
以下为精彩视频内容整理:

DevOps的介绍

对于DevOps每个公司有自己的理解,有些公司可能觉得DevOps就是引入的一套工具或是一套敏捷研发做敏捷的项目转型。实际上DevOps是一种过程方法和系统的集合 。一方面,DevOps是一套核实系统,企业可以选择适合自身的方法来进行持续实施的过程;另一方面,DevOps是对开发测试、运维团队的整合,其实DevOps希望开发测试、运维团队能够更顺畅的进行彼此之间的沟通、交流和协作。我们将这两个维度结合在一起,其实借助的是DevOps的核实系统,并通过一定的过程和方法在我们的开发运维、测试团队之间进行交流。

实施DevOps的优势

为什么要实施DevOps呢?因为实施DevOps可以带来以下优点:
第一点,效率提升,它需要建设研发基设施、适配技术中台以及一站式交付。
第二点,质量防控,它需要质量内建、体系化建设代码质量以及自动回归等质量体系。
第三点,需求质量闭环,通过对质量闭环可实现精益开发,同时可视化价值流可拉动需求价值流的交付。
第四点,融合&贯穿,通过融合企业内部资产,可打造契合企业一站式研发协作平台。
第五点,协同研发它可以推动各角色高效互动、透明化并实现聚焦价值流交付。
第六点,团队能力提升。它可实现对DevOps梯队、精英化测试团队、跨职能研发转型。
在做DevOps实施的过程中,首先以一种传统烟囱式为工具集建设DevOps实施,并引用一种工具逐渐实现DevOps,对于需求、开发、配置管理、测试团队都会各自选择所需要特定的工具,譬如在开发和配置管理端使用有Git/SVN Jenkins、Mave/Ant SonarQube等工具;在需求端通常会使用商业工具;在测试端会使用QC+自建RF Selenium Jmeter Postman等工具。这些工具集各自的功能都十分强大,但是各个工具集的割裂会增加团队的负担,传统的烟囱工具集在每个环节交付有独立的平台/工具支撑。面向开发效能提升的工具少以及单项功能大,但是集成度弱等特点,所以说传统的烟囱工具集会对DevOps的正确实施带来阻碍。传统软件研发模式—集成交付也会给某一个团队在一个开发、测试、集成、生产等环境带来一些问题,甚至会阻碍需求的快速支付。云效涵盖的软件研发各阶段主要用于促进软件开发、技术运维和质量保障部门之间的沟通、协作与整合。

云效三种模式特点帮助企业完成DevOps转型和升级

上图为云效涵盖的软件研发各阶段的示意图。云效涵盖了整个软件的生命周期以及需求、开发、测试、发布、复盘五个环节。在如上图的平台上各个角色都可以统一的完成任务,通过这种一站式的平台,配管人员都会有一些跟踪管理以及代码合并,研发人员可以做单元测试持续集成、代码静态扫描集成以及代码修复等;SCM管理人员可以做Feature分支管理等;测试人员可以手工测试用例缩写以及手工测试用例执行等;测试开发人员可以用自动化测试用例、自动化测试实践以及自动化测试执行等。通过云效的深入实施可以将角色进行合并,通过工具能力的提升可以将SCM管理人员和研发测试人员作合并。云效涵盖的软件研发各阶段主要用于促进软件开发、技术运维和质量保障部门之间的沟通、协作与整合。

云效的软件研发模式特点

首先介绍云效的软件研发模式特点一“一站式”,项目需求是一个项目的起点,在代码管理、代码编写、单测集成、构建部署、系统测试、集成测试直至最后的提交发布,对于每一个环节平台都有相应的能力提升各个角色的质量和效率,代码管理环节按应用的管理代码及平台化构建管理;代码编写环节应用平台化拉取应用代码;单测集成阶段可以准确识别代码高危漏洞;构建阶段可以一键构建开发测试包以及一键申请/部署测试环境;系统测试阶段可以测试管理系统以及低成本编写/维护自动化脚本;集成测试阶段可以自动构建集成包、自动部署测试环境以及集成自动化测试自动回归;在最后的提交发布阶段是合并主干代码。

云效三种模式特点帮助企业完成DevOps转型和升级

上图为云效的软件研发模式特点二“双模支撑”的示意图。首先开发拉取若干个项目分支并开发部署自测,然后测试接收和环境部署并提交集成,最后部署集成环境以及对代码进行合并,通过手工验证发布至预发环境。
云效的软件研发模式特点三“高效自动化工具”。如果想要做自动化的测试,首先需要一个稳定的环境,有了稳定的环境以后就需要造新数据作一些测试,那么对于所造的新数据测试就需要高效的自动化测试工具进行测试,UI测试是一个比较有特色的云上测试工具,在云效上不需要写UI代码就可以完成用例准备以及编辑维护。
云效核心解决方案如下:第一步,环境持续部署。环境持续部署与SCM结合,在不同节点部署环境,低成本获取项目测试环境自动化部署;第二步,代码持续集成。代码质量自动集成单元测试并对代码Review规则进行沉淀;第三步,分层自动化持续交付,对UI接口、性能进行分层自动化,建设持续交付通道。第四步,全自动并行SCM配管,用流程化配置管理,多种研发模式兼容并行研发模式平台化的支撑以及平台化的构建。

云效助力企业研发效能升级

在DevOps实施过程中,针对不同客户需求的不同会做一些不同的建设,平台希望结合企业的现有资产最大化的把企业之前沉淀的数据利用起来,通过平台打通所有的流程。云效落地实施服务需要培训和服务,首先需要个性化需求开发和对接,其次需要进阶课程培训包括团队建设、项目管理及DevOps等。目前云效主要应用于银行、保险公司、新零售及航空等。

云效三种模式特点帮助企业完成DevOps转型和升级

上图为阿里B2B事业群1200人技术团队使用云效研发效能质量提升效果示意图。阿里巴巴B2B实施效果有良好的性能,50%的小需求无需测试接手,测试平台自动化累技术超过2万个,任何应用在周一至周四24小时可以随时提交发布。云效结合蚂蚁金融分布式架构建设南京银行DevOps体系,同时也结合了阿里巴巴零售分布式架构建设新零售DevOps体系。
上一篇:大型企业合理配置CRM团队,发挥CRM极致作用


下一篇:新开源的轻量级的C语言面向对象编程框架(约100行代码)