嘉宾 | 颜松柏   整理 | 小雨青年

出品 | CSDN云原生

云原生时代下,DevOps成为企业标配,从而量化必然成了刚需,成熟度模型与效能度量可以分别从两个方向评估DevOps程度,帮助企业不断进步。

2022年5月24日,在挪到线上举行的云原生系列Meetup·北京站上,腾讯云微服务专家架构师颜松柏分享了对DevOps成熟度模型与效能度量的理解和实践。

DevOps是通过人、流程和技术的有机整合,以协作、自动化、精益、度量和共享文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化IT组织。

DevOps是一个无限循环的闭环,它能够根据反馈不停地改进。CI即持续集成,CD即持续交付。

DevOps成熟度评估

随着DevOps被越来越多的推广,决策者们也期望知道自己公司或者团队的DevOps被量化之后长什么样子。于是DevOps成熟度评估模型便诞生了。

市场上存在多种DevOps成熟度评估模型,大多企业会针对自身特点来设计专属的成熟度评估模型。

DevOps成熟度模型

DevOps成熟度模型结合各类模型,做了一些调整和优化,适用于大部分团队的DevOps成熟度评估,主要从8个维度进行评估,分别是:

  • 持续度量与改进

  • 组织与文化

  • 运维监控与预警

  • 敏捷开发

  • 版本与配置管理

  • CI/CD

  • 可视化与自动化

  • 质量与安全

持续度量与改进:DevOps已经和效能关联上了,因此也出现了各种关于DevOps或者效能的度量。这些度量不是为了考核KPI,而是帮助团队持续改进的一种手段。DevOps提倡更频繁地直面问题,度量则是一种很好的方式帮助我们发现问题,并持续改进。

组织与文化:DevOps不是一个软件产品,也不是一个工程师。DevOps需要文化与组织的变化,不仅是开发与运维之间的隔阂需要消失,IT与业务之间的隔阂也需要消失。由于DevOps和敏捷一样,离不开组织的变革和支持,同时DevOps也是一种文化,所以综合一下,把组织能支持DevOps的程度,与现阶段文化和DevOps的匹配程度,作为这个维度的关键。

运维监控与预警:过去常常由一个独立的运维部门来负责所有线上运维的事情,有了DevOps后,这种情况发生了极大变化。运维的事情和开发合并到一起了,由一个团队共同负责了,这也是DevOps所强调的职责共担。同样,对于运维的监控和预警也应该是对整个团队可见的。

敏捷开发:为什么要有这个维度可能有些人会比较疑惑。因为Oleg Skrynnik在《DevOps精要》里面提到DevOps发展的其中一个前提是敏捷开发被广泛的采用,所以敏捷做得好不好直接影响到DevOps做得好不好,它们是相辅相成的。

版本与配置管理:全面的版本控制能帮助团队在开发过程中获得收益,这些版本控制包括但不限于测试、脚本、环境、包、类库、文档、配置等。团队成员可以无风险地删除不需要的文件。配置管理也是同样的原理和收益,配置与环境管理使得我们所有的变更都是受控的,系统可以被快速地重置到稳定状态。如果关键成员离开,知识也不会遗失。

CI/CD:CI/CD代表的是持续集成和持续部署。相对于集成与部署,更重要的是持续两个字。CI/CD占据了我们开发过程中的大部分阶段,从代码提交那一刻开始,到代码运行在生产环境,都是由CI/CD促成的。

质量与安全:这个维度很多公司没有把它单独提出来,但我认为它非常重要。很多团队随着时间的推移,通常都会累积越来越多的技术债,最终也无法偿还。在兼顾交付的同时,质量与安全一定是我们长线能看到收益的维度。因为质量与安全问题带来的隐形成本浪费,是很多团队和公司会忽略的。

可视化与自动化IT工作内容很多是不可见的,因此可视化成了DevOps的重要指标。可视化的好处在于可以构建拉式系统,有助于识别低效环节,并且改善对剩余工作以及当前状态的了解。DevOps要规避人为的风险,因此,自动化是非常重要的DevOps成熟度的考量维度。

DevOps成熟度评级

DevOps成熟度评级分为五级:

  • Regressive初始级:几乎没有尝试任何DevOps实践

  • Basic基础级:做了一些DevOps实践,正在起步阶段

  • Standard成熟级:能成熟运用各种DevOps实践

  • Optimized优化级:不仅能运用各种DevOps实践,还能根据团队和组织情况 进行优化改进

  • Leading领先级:是行业里面DevOps的先行者、创新者、探索者、领导者

因此,可以把这个成熟度模型做成一张可量化的表,如下所示。

DevOps成熟度评估图

通过8个维度配合5个评级,就可以得到DevOps成熟度评估图。它是一个雷达状的图谱,可以帮助企业了解DevOps成熟度的现状,企业能够直观了解哪些维度是需要改进的。

如下图中的案例所示,其持续度量和改进的维度评分只有2分,是亟待改进的部分。

DevOps效能度量

研发效能反映的是一家科技公司对市场环境的响应力有多高,它是一种基础能力,就好像人体做出反应有多快一样,这种基础能力的提升,会帮助人体在每一项任务上都做得更好。这是研发效能一直很受重视的原因。

DevOps效能度量指标

DevOps效能度量指标分为4个等级:

  • 低效能

  • 中等效能

  • 高效能

  • 精英效能

根据这4个等级,可以再划分2种度量指标:

  • 结果指标

  • 过程指标

通过等级和度量指标的划分,我们就可以把DevOps分成几个阶段,如下图所示。

横向为DevOps的三个阶段,分别是敏捷开发管理、持续交付、技术运维,纵向分为两个维度:交付效率、交付质量。

下图是详细的效能等级与指标的对应表,可以使用该表具体的数值对指标进行量化。

左侧第一列为各类效能指标,对于不同的效能来说,数值是不同的。我们可以根据这个表内指标的数值去判断其效能的高低,评估整个研发的整体情况。企业在得到效能度量的指标后,就可以朝着对应的方向去改进。

成熟度模型与效能模型的区别

前面已经给出成熟度模型和效能度量详细的指标数据图,那它们二者有什么区别呢?

成熟度模型是一次性评估,通过评估可以将团队或企业的现状可视化,以此明确短板及改进方向。

效能度量是持续、定期的度量,通过不间断的测试来量化得出哪些能力不足,并以此做出对应的改进措施。

日常使用中,我们更多地利用效能度量,因为它涉及的很多指标能切实帮助我们改进DevOps中的不足。

综上,成熟度模型在企业首次评估DevOps时提供了可视化的现状,在企业后续发展中,效能度量通过不断度量,用更丰富的指标完善企业的DevOps。

CSDN云原生系列在线峰会

腾讯云颜松柏:详解DevOps成熟度模型与效能度量相关推荐

  1. 腾讯云安装mysql_详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题

    背景: 今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下: [ro ...

  2. android端接入腾讯云直播全过程详解(包含腾讯云点播、腾讯云IM)直播+弹幕+录制直播视频

    前言 为什么想到对接腾讯云直播SDK呢?答案很简单--公司需要.从开始着手对接SDK,到现在直播全程流畅跑通,花了两周零几天的时间.为了帮后续也需要接入腾讯云直播SDK的朋友节省不必要的时间.少走点弯 ...

  3. 腾讯云 yum mysql_详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题

    背景: 今天才申请了腾讯云+校园计划的1元服务器,安装了Centos7.0,在安装MySQL的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下: ?[r ...

  4. php图片上传腾讯云cos,ThinkPHP集成腾讯云存储(COS)--详解

    准备工作: 一. 根据图示进入COS 点击立即使用 进入后根据下面点击新建:Bucket(Bucket就是你往云存储的一个目录) 新建Bucket 二. 下载SDK 下一步: 然后复制把整个cos文件 ...

  5. 云原生存储详解:容器存储与 K8s 存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  6. 【阿里云课程】详解深度学习优化:泛化与正则化,学习率与最优化

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第6课中两节,介绍如下: 第1节:泛化与正则化 第1节课内容为:泛化与正则化,讲述泛化的概念与重要性,各种正则化方法,包括显 ...

  7. k8s挂载目录_云原生存储详解:容器存储与 K8s 存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

  8. docker修改镜像的存储位置_云原生存储详解:容器存储与 K8s 存储卷(内含赠书福利)...

    作者 | 阚俊宝  阿里巴巴技术专家 参与文末留言互动,即有机会获得赠书福利! 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新 ...

  9. 云原生存储详解:容器存储与K8s存储卷

    作者 | 阚俊宝 阿里云技术专家 导读:云原生存储详解系列文章将从云原生存储服务的概念.特点.需求.原理.使用及案例等方面,和大家一起探讨云原生存储技术新的机遇与挑战.本文为该系列文章的第二篇,会对容 ...

最新文章

  1. ISME | 通过长读长宏基因组测序揭示南极土壤未培养细菌的生物合成潜力
  2. Delphi.net Chrome
  3. CTF---Web入门第十题 Once More
  4. 【转载】从多项式曲线拟合到模式识别的相关概念
  5. 从无到有算法养成篇-链式存储结构之循环链表
  6. html语言文本框的符号,如何将文本框中的值作为HTML字符串提交?
  7. Ubuntu修改界面的大小
  8. ASP.NET中实现二级或多级域名(修改UrlRewrite)
  9. NER中的词汇增强方法(LatticeLSTM、CGN、FLAT、Simple-Lexicon)
  10. 数据分析之数据可视化
  11. 程序员最爱的11个在线社区,你去过几个?
  12. C语言——计算某日是该年的第几天
  13. 树状数组再进阶(区间修改+区间查询)
  14. openBoard开源白板项目
  15. 微信公众号基本设置服务器设置教程,最新最全的微信公众号开发者模式配置
  16. 转自goosman的编程开发心路历程
  17. opencv矩形轮廓顶点的具体位置确定
  18. 为什么JS的语法很乱
  19. 基于本地虚拟机搭建k8s集群
  20. 如何识别手写文字python_如何快速使用Python神经网络识别手写字符?(文末福利)...

热门文章

  1. Java连接Mysql数据库警告:Establishing SSL connection without server's identity
  2. 高级测试工程师需要具备哪些能力?看完我悟了
  3. 建造者模式( Builder Pattern)
  4. java初学者买衣服案例
  5. wps可以正常使用word、excel,却无法打开所有的ppt文件,也无法新建ppt文件
  6. 好工具推荐系列:Python IDE之PyCharm/Spyder/Jupyter/Eric
  7. DDR3的设计出现[Synth 8-5396]警告
  8. 在网上搜索想要的答案的好技巧
  9. 计算机类本科专业国家质量标准,计算机专业国家职业标准
  10. P3D——《Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks》概述