摘要:企业进行DevOps转型是否有价值?是否能计算出明确的投资回报率呢?本文将为您解惑。

本文分享自华为云社区《DevOps转型到底值不值?》,作者:敏捷小智 。

引言

企业都是以盈利为目的,希望自己的投资能够带来回报,最好是巨大的回报。

软件工程的发展

软件工程的发展阶段

软件工程的变迁历经了一系例阶段,IT企业也跟随着软件工程变迁的脚步,投资人力和财力在组织中引入CMM、ITIL、敏捷、DevOps等,以保证自己能够紧跟时代的变化,保持住自己的竞争力,让自己在这个VUCA时代不仅仅能够立足,并且拥有自己的一席之地。

每一个新的工程方法、新的理论的出现都是需要经过一个逐渐被大众接受的过程,鸿沟理论可以非常形象的展示这个过程。在这个逐渐被大众接受的过程中,不论是哪一个群体关注的核心都是新的工程方法、新的理论是否能够带来价值,如果在这个方面进行投资,是否能够收到预期的回报,甚至获得更大的回报。

DevOps的兴起和发展

2001年,敏捷软件开发方法提出,有人躬身入局,有人保持观望,是否应该采用还未见分晓。就在摇摆不定之间,2009年,DevOps兴起,DevOps作为敏捷方法的补充,将敏捷从开发延申到了整个价值链,实现了从需求分析、设计、开发、构建、测试到部署、发布、运维、运营全流程、端到端的价值交付。

能够更快更好的交付有价值的产品,是每一个企业梦寐以求的目标,现在在DevOps的基础上,又进一步发展为DevSecOps、BizDevOps,在实现价值交付的基础上更加关注研发安全和研发效能的提升。由此来看,DevOps转型势在必行,但应该如何预估转型的投资回报率,来支持企业的决策?

DevOps转型的投资回报率

每个企业的情况不尽相同,各自都有自己的独特性,一直以来有人转型成功,有人转型失败,却没有一个数据驱动的分析框架能够证明投资DevOps转型的合理性。

很高兴的是,Google Cloud在2022年2月27日发布了《DevOps转型的投资回报率》的白皮书。在白皮书中,Google Cloud利用六年的《加速:DevOps 现状》报告的行业基准数据来量化投资回报率,根据《加速度:DevOps 状态报告》中的关键指标和行业平均水平数据,白皮书中将预测实施 DevOps 转型对精英、高、中、低 IT 效能组织的价值。

依据白皮书中提供的分析框架,可以帮助企业预测DevOps转型的价值,虽然其中的方法并不详尽,但是概述了一些重要的考虑因素,填补了这个领域的空白。

核心思想

预测DevOps转型投资回报率的核心思想是,DevOps转型节省的成本和将节省的时间再投资去创造产生的价值都是转型的潜在收益。

  • 成本方面,包括通过践行技术改造,着眼于产品内建、质量层面的持续改进,从而减少非必要返工的相关成本;还有通过DevOps相关技术实践可以提高故障修复能力,增强应用程序和基础设施的的稳定性,减少停机,因此每年的停机成本也是DevOps转型的收益。
  • 价值方面,是通过DevOps频繁部署的能力在生产环境中实验,可以识别无用的新功能,识别后不在对其进行构建和维护,利用节省的时间进行再投资,为客户提供其他新功能,创造收入,进而转化为价值。

计算公式

下面会列出各项的计算公式,鉴于文章的主题和篇幅,每个公式中因子的由来在这里不做展开,详细了解可以查看白皮书原文,获取方式在文末。

首先,计算每年避免的非必要返工成本。

接下来,计算将从无用新功能节省的时间再投资到其他新功能的潜在收益。

然后,计算每年的停机成本。

最后,将上面的成本和价值结合起来,就得出了DevOps转型的潜在回报,由此可见,转型带来的所有节省成本都是对企业的回报。

基准数据点

有了可用的公式,下一步就是将企业对应的各项基准数据带入到公式中,得出结果。如果团队目前没有,可以参考行业基准的数据点。

白皮书中是基于《加速度:DevOps 状态报告》的数据,以大型产品业务(1亿美元)的潜在汇报为例,最后的计算结果如下。

注:中间计算过程省略,详细内容查看白皮书。

从上述表格可以看出,不论你的企业规模大小如何,如果以真正的转型和持续改进为目的的话,对技术的投资会带来可期的价值成果。据调查,在具有前瞻性思维的公司中,会定期的计划,利用他们在效率方面的收益来实现创新和价值。这样真正的实现IT在企业中的地位转变,从成本中心转变为价值驱动和创新引擎。

写在最后

白皮书给了我们一个参考,DevOps转型是可以带来价值的。解决了这个问题之后,下一个重点的问题就是如何进行DevOps转型,才能真正的给企业带来价值。为什么有人成功,有人失败,DevOps的适用性和限制是什么,感兴趣请的话请继续关注,会在下一篇文章中讲述。

白皮书下载地址:

https://cloud.google.com/resources/roi-of-devops-transformation-whitepaper

本文由DevSecOps专家服务团队出品,了解更多专家服务请戳 https://devcloud.huaweicloud.com/expert?utm_source=blog

点击关注,第一时间了解华为云新鲜技术~

DevOps转型到底值不值?的更多相关文章

  1. DevOps 转型到底难不难(转自成哥的世界)

    原文:https://mp.weixin.qq.com/s/QwZf6ZsKGNT6YyereSmpQg DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软 ...

  2. C和C指针小记(八)-操作符、左值右值

    1.移位操作符 移位操作符分为左移操作符(<<)和右移操纵符(>>) 对于无符号数:左右位移操作都是逻辑位移 对于有符号数:到底是采用逻辑位移还是算术位移取决于编译器.如果一个 ...

  3. 华为精益敏捷专家:DevOps转型中的那些坑

    陈军--原腾讯高级项目经理.华为精益敏捷专家 DevOps是现在非常流行的一个词,很多人都在提DevOps,在往那个方向去转,但转的时候坑特别多. 现实是很理想的,大家都觉得做了DevOps之后就会非 ...

  4. c++ 左值右值 函数模板

    1.先看一段代码,这就是一种函数模板的用法,但是红色的部分如果把a写成a++或者写成一个常量比如1,都是编译不过的,因为如果是a++的话,实际上首先是取得a的 值0,而0作为一个常量没有地址.写成1也 ...

  5. C++ 左值 右值

    最近在研究C++ 左值 右值,搬运.收集了一些别人的资料,供自己记录和学习,若以后看到了更好的解释,会继续补充.(打“?”是我自己不明白的地方 )   参考:<Boost程序库探秘——深度解析C ...

  6. java将map拼接成“参数=值&参数=值”

    Java将Map拼接成"参数=值&参数=值" 把一个map的键值对拼接成"参数=值&参数=值"即"username=angusbao& ...

  7. C++ 左值与右值 右值引用 引用折叠 => 完美转发

    左值与右值 什么是左值?什么是右值? 在C++里没有明确定义.看了几个版本,有名字的是左值,没名字的是右值.能被&取地址的是左值,不能被&取地址的是右值.而且左值与右值可以发生转换. ...

  8. Jmeter的JDBC Request,sql参数化及返回值取值

    1.JDBC Request面板 Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字 ...

  9. 8个让DevOps转型取得成功的关键步骤

    ​​关注嘉为科技,获取运维新知 在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了DevOps的高速发展,成为了企业获得竞争优势的关键.尽管大家都知道DevOps给业务带来的好 ...

随机推荐

  1. DDOS防御实验----反射器的安全配置

    0x01 环境 共包含三台主机 一台centos7.3 为attact主机,装有python +Scapy 一台centos7.3,server,装有bind9 ntp memcached,作为DDO ...

  2. 从0到1搭建k8s集群系列1:安装虚拟机及docker

    前言 本系列文章记录了本人学习k8s集群搭建的过程,从k8s基本组件的安装.到部署mysql服务到k8s集群.部署web项目到k8s集群以及安装可视化界面管理工具kuboard. 因为k8s的组件安装 ...

  3. 使用过滤器获取系统目录或文件名(java.io)

    import java.io.File;import java.io.FilenameFilter; File[] file = new File("D:\\"); //使用Fil ...

  4. 什么是 rabbitmq ?

    采用 AMQP 高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需 要确保提供方存在,实现了服务之间的高度解耦

  5. 如何获取所有的参数名和参数值?用request.getParameterNames(); Enumeration enu=request.getParameterNames(); while(enu.hasMoreElements()){ String paraName=(String)enu.nextElement(); System.out.println(paraName+"

    用request.getParameterNames();  Enumeration enu=request.getParameterNames();  while(enu.hasMoreElemen ...

  6. IOC 的优点是什么?

    IOC 或 依赖注入把应用的代码量降到最低.它使应用容易测试,单元测试不再需 要单例和 JNDI 查找机制.最小的代价和最小的侵入性使松散耦合得以实现.IOC 容器支持加载服务时的饿汉式初始化和懒加载 ...

  7. C语言之标识符(知识点3)

    条件:用户表示符仅由大小写英文字母,数字和下划线组成,且第一个字符不能是数字 注意: 不能和关键字或函数库相同名字 但关键字的大写就可以用了,因为关键字都是小写的,而C语言区分大小写 案例

  8. SQL函数对应的数据库(案例)

  9. 顺利通过EMC实验(4)

  10. 手把手教你从零写一个简单的 VUE--模板篇

    教程目录1.手把手教你从零写一个简单的 VUE2.手把手教你从零写一个简单的 VUE--模板篇 Hello,我又回来了,上一次的文章教会了大家如何书写一个简单 VUE,里面实现了VUE 的数据驱动视图 ...