前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【软件开发】如何在DevOps实践中,持续优化体系构建?

【软件开发】如何在DevOps实践中,持续优化体系构建?

作者头像
嘉为蓝鲸
修改2020-05-20 17:35:25
6920
修改2020-05-20 17:35:25
举报

持续优化,是DevOps体系落地的重要理念之一。通过持续优化,可以推进企业研发队伍的自我完善与效能的持续提升,那么,如何才能构建持续优化的体系呢?

本文将从持续优化体系构建的前提条件,持续优化体系的设计要点等方面进行分析,希望能为企业的DevOps持续优化体系落地带来一些借鉴和启发。

DevOps持续优化的价值

企业DevOps体系落地建设,一般会经历自动化、数据化和一体化三个阶段(对于第三个阶段,从技术性本身来看,纵向“智能化”会更合适,但从落地的效果和价值上,横向一体化更为紧迫和目标达成)。当前,很多企业都已经进自动化阶段,甚至有一部分企业已逐步迈入数据化阶段。企业DevOps落地路径简述如下图所示:

1. 自动化阶段

核心是实现全过程的工具平台建设,但又不能仅限于工具平台建设,这个时期建设结果,将决定企业DevOps实践未来是否可以走向数据化、一体化。这个时期的建设内容和效果要求我们可以概括为:

  1. 支撑从需求提出到应用系统上线全交付过程的工具平台,从阶段上讲会包括业务、研发、测试、部署(运维)各阶段支持的工具链,也就是业务流的打通。
  2. 要建立基于DevOps理念及工具平台的全新持续交付模式,驱动研发效率、质量、管控的提升,也就是DevOps体系的落地应用。
  3. 要实现所有工具链的数据流打通,包括面向工具平台使用的组织、用户、权限、认证数据的统一,以及面向业务过程的数据流。那么,如何检验数据流已经打通了呢?可以看一下,一个业务需求提出后,是否可以在清晰地看到在需求、研发、测试、部署等阶段其生命周期信息。

2. 数据化阶段

核心是实现持续优化的闭环体系建设,也就是我们今天探讨的主要内容。面向效能提升或过程管控,通过对持续交付全过程数据的采集、分析、监控, 找到交付工作过程中的弱项,并依托构建的持续优化闭环体系,对弱项进行改善提升,从而不断推高木桶效应中的短板,实现效能、管控乃至企业整体研发交付能力的持续提升。

3. 一体化阶段

主要内容包括两个方面,一是向后的运维运营一体化,以及向前的业务一体化。也就是说,从业务策略提出,到业务策略的检验。

为了比较好的理解一体化,我们举个例子:某网上商城为了提升商城的流量,决定借五一期间开展一项引流活动。研发运维侧自然需要做一些配合,那么从业务需求提出后,其服务交付、活动中的快速扩容,都可以通过一体化的DevOps平台支撑,实现持续交付、持续运维/运营。同时,也可以与业务侧的活动效果评估(比如以拉新促活的流量)一起,一体化核算业务活动中流量的业务特性、时间特性、主体特性、ROI等。

那么,从自动化演进到数据化,究竟能带来多大的价值?我们先来看一个数据化的落地思维和效果图:

从上图我们可以看出,通过DevOps自动化阶段的建设,企业研发效能与管控水平可以上升到一个全新的台阶,以100分代表满分持续交付能力,那么通过该阶段,我们可以达到70分左右,如果不建立后续持续优化的体系,那么就永远是70分或逐步降低,这也是多年来信息化重建设、轻运营的典型问题。

因此,只有企业建立了持续优化的体系和机制,才能保障和提升我们的研发效能与管控水平,推动整体提升,无限靠近100分。这也就是企业为什么要建立持续优化体系的原因。

从人员或团队来看,我们通过持续优化,每天进步一点点,通过积累,可以不断突破现有能力的天花板,实现个人或团队实力的整体飞跃。

DevOps持续优化构建前提

DevOps实践的持续优化体系建立,可为个人、团队、企业带来交付能力的持续提升,拓展IT组织的吞吐量,为业务提供更加可靠、优质的服务保障。那我们在什么条件下、什么时机下就可以开展持续优化体系建设呢?通过实践,我们总结需要做到以下几个方面:

1. 业务流贯通

业务流贯通,是推进DevOps实践持续优化体系建立的先决条件。

其包括2个方面,一是工具平台建设到位,实现从需求进入到发布上线全过程的支持,即研发过程支撑一体化;二是基于DevOps平台的全新交付体系的建立与应用的推广。

(1)工具平台建设

工具平台建设,是每一个过程点的功能支撑都要全部建设完成吗?从我们的经验来看,其实不尽然。

首先,研发场景会随着业务发展持续变化,传统以满足场景为目标的工具系统的建设思路,不能很好的响应研发场景的持续变化,换句话讲,场景化的支持只能满足一时。

此外,基于研发场景高敏性的特点,在工具链的建设上,就需要转换为以能力为核心的建设方式,同时解决能力的低成本扩展,场景应用的低成本实现的问题,也就是说,我们需要构建一套具有PaaS化思想的DevOps平台,可实现对于场景支撑服务SaaS的快速组装,也就是可以快速生长出“系统”的“平台”,而不仅是一套场景化的DevOps系统,一旦场景需求变化了,就需要花费大量的时间和人工成本升级改造,不能适配于研发业务本身高敏的特征。

工具平台的建设要求,可以用下面这个图示说明:

(2)全新交付体系建立

现在的企业中,瀑布开发、敏捷开发等交付模式混杂,甚至更多的企业仍旧是处于瀑布开发的交付模式,要实现从现有交付模式向基于DevOps的交付模式演进,除平台建设外,还需要开展以下几项工作:

  • 流程规范的梳理

流程梳理:DevOps平台建成后,研发过程的大部分活动,会由DevOps平台自动化的执行,因此,需要梳理和订立人员之间,人员基于DevOps工具平台的活动协同与衔接。

规范梳理:规范梳理既是效率提升的需要,也是质量提升的需要,更是管理控制的需要,其是实现基于平台的技术管控,实现国家级、行业级、企业级的技术要求、管理要求的技术化指标及门禁项的建立,自动化执行与结果统计汇报。

  • 团队人员的赋能 基于DevOps平台的交付理念,以及工具平台使用的掌握,包括平台能力的自助扩展的掌握,消除团队个性化能力需求无法满足的短板,由团队自控。
  • 现有过程的转换 现有过程的转换,就是使用DevOps平台支撑研发工作过程的转换。该工作的推进一般会由试点和全面推广两个阶段组成。

试点阶段:选取典型的项目和团队,进行转换过程的设计与推进,总结转换相关经验用于辅助后续团队推广。

推广阶段:企业全部或大部分项目和团队,均实现基于DevOps平台研发过程支持,企业整体建立全新的研发交付体系。

2. 数据流贯通

数据流贯通,是推进DevOps实践持续优化体系建设的关键条件。其也包括2个方面,一是上层的业务数据,二是过程的辅助数据

(1)业务数据

业务数据即我们研发过程中的需求及其后的工程相关数据,包括需求、源代码、持续集成、持续部署等相关过程数据,需要实现全生命周期的贯通。

(2)辅助数据

主要包括组织数据、用户数据、权限数据、认证数据、日志数据等,其是用于标识不同主体的活动情况,其与业务数据的关联性,也需同步贯通。

早期的工具链建设上,如果我们没有关注到以上两类数据的贯通,在平台层面解决以上两类数据的贯通,那么,数据化阶段,将会成为企业DevOps时间永远也无法逾越的鸿沟,也就是说,从DevOps的理念来看,企业的落地是失败的。

3. 企业持续优化的“欲望”

企业打通了业务流,贯通了数据流,如果缺少持续创新、持续提升的“欲望”,那么,持续优化的建设也是水中月、镜中花,可望而不可得。

一般来说,这种“欲望”来自于两个方面,一是业务需要驱动,二是IT服务需要驱动。

业务的驱动是由当前数字化时代,业务的快速变化,要求IT的研发及运维服务必须具备更快、更好、更稳定的交付能力,支撑业务响应市场变化而决定的。

IT驱动,则更多的是从IT服务与管控能力考虑出发,简单来说,就是是否能够支持企业业务低成本的创新与探索。

DevOps持续优化体系构建

既然DevOps的持续优化体系可为企业带来持续的能力提升,为业务提供更加及时、可靠的服务支持,有助于企业在数字化时代中持续抢得身位优势与竞争优势。那么,持续优化体系的构建,需要涉及哪些信息呢?企业应该如何实施呢?先看一下业务的相关方。

1. 优化关系模型

持续优化工作涉及企业的管理与执行,其中又会涉及多种角色,因此,对于持续优化,企业可以先梳理不同层面的诉求。

在整个研发过程中,不同角色关注的信息是不相同的,如下图:

同时,企业也需要看到,持续优化的核心是针对执行与管理工作,也就是说,我们从外面来看,优化的整体期望是要么通过管理提升去拉升整体的效能,要么通过执行提升,去抬升整体的效能。如下图:

企业的研发本身具备多维度的关联关系,这些关联关系则是企业在DevOps平台中的数据流贯通时需要解决的,如下图:

基于以上的模型关系,企业可以从多个维度进行的执行和管理的优化提升实施。比如:基于企业级、团队级、个人级的需求平均交付周期分析,基于项目级的源代码质量分析,基于个人的工作能力画像等。

具体的分析维度及内容,可以结合企业关注点构建度量体系,通过自定义度量的方式落地实施。

2. 优化闭环模型

在构建了优化关系模型后,下一步要实现的是优化的闭环模型,优化的闭环模型如下图所示:

这闭环模式实现的关键,要能自由的设置比对基线,能够进行问题的快速跟踪和优化措施执行结果的比对分析。因此,优化闭环模型需要涉及指标管理、基线管理、告警管理、问题管理、任务管理、快照对比等方面内容,实现整体上的闭环。

总结

DevOps实践持续优化体系的构建,需要以企业DevOps自动化的阶段实施为基础,通过持续优化体系的构建,基于DevOps的效率、质量、管控、优化等理念都得到了落地,DevOps体系建设也才能算基本完成。

在后续的使用中,一些新的理念或诉求,也可能会由于业务或场景的发展变化而持续提出来,因此,DevOps落地的基础,底层的工具平台的扩展能力就显得尤为重要了,基于PaaS思想,实现“能力”与”服务”的分离,可以较好地响应企业能力持续、低成本、及时、个性化丰富的诉求。

出品:嘉为科技

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嘉为科技 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DevOps持续优化的价值
    • 1. 自动化阶段
      • 2. 数据化阶段
        • 3. 一体化阶段
        • DevOps持续优化构建前提
          • 1. 业务流贯通
            • 2. 数据流贯通
              • 3. 企业持续优化的“欲望”
              • DevOps持续优化体系构建
                • 1. 优化关系模型
                  • 2. 优化闭环模型
                  • 总结
                  相关产品与服务
                  CODING DevOps
                  CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档