写点什么

2017 年的 DevOps 报告新鲜出炉

  • 2017-06-11
  • 本文字数:3166 字

    阅读完需:约 10 分钟

又是一年年中时:由 Puppet 与 DevOps 研究与评估(简称 DORA)协会共同发布的最新《DevOps 现状调查报告(State of DevOps)》再度出炉。作为本轮的核心议题,双方分析了“高效领导者如何影响技术实践与流程改进,从而带来更为理想的 IT 与组织运作成效,同时确认称自动化水平已然成为不同企业之间的核心区别所在。”

今年,双方对 3200 名 IT 专业人士、开发人员以及高层管理者进行了调查,并发现每一年 DevOps 团队的人员规模都保持着持续上涨。三年之前,只有 16% 的受访者身为 DevOps 团队成员,但如今这一比例几乎翻了一番(达到 27%)。先来三张图解释这次报告

受访者图像

今年 Puppet 对全球范围约 3200 人进行的一次调查,包括高管,开发人员和 IT 专业人士。 最多的受访者来自拥有 100-499,500-1999 和 10k + 员工规模的组织,其中大多数来自 DevOps,IT Ops / 基础设施和开发 / 工程类别。

然而,性别比例偏差依然很大,女性和其他人分别占 6%和 3%。 北美的受访者人数最多(54%),欧洲和俄罗斯为 27%,亚洲为 10%。 科技公司去年仍然领先(34%),其次是金融服务(14%),其次是教育、零售、电信和政府机构,达到 6-8%。

调查中发现在 DevOps 团队工作的受访者人数在过去三年中从 16%上升到 27%,表明 DevOps 采用率有所上升。

高绩效 vs 低绩效团队的对比该报告区分了高绩效和低绩效的团队,并阐述了他们之间的差异。 与去年类似,绩效指标如下:

  • 部署频率 - 部署到生产的频率
  • 改变的交付时间 - 如何快速地将新的变化推向生产
  • 平均恢复时间(MTTR) - 从故障中恢复的平均时间(中断)
  • 更改故障率 - 更改导致部署管道故障的频率

与上一年相比,高绩效者在所有指标上有所改善。 它们的代码部署频繁 46 倍,MTTR 快 96 倍。 不过,与上一年相比,表现较差的人员在多项指标方面也有所改善。

自动化实践显着上升,特别是在高绩效团队中,28%的配置管理和 26%的部署已被自动化。

此份报告显示,高成效 DevOps 团队在代码生成量与稳定性方面优于低成效团队。根据结论,高成效 DevOps 团队拥有:

  • 46 倍于低成效团队的代码部署频率
  • 440 倍于低成效团队的代码提交至代码部署实施速度
  • 96 倍于低成效团队的停机后平均恢复速度
  • 变更故障率仅为低成效团队的五分之一(即二者变更故障比率为 1 比 5)

通过与 2016 年的调查结果进行比较,Puppet 报告发现高成效团队与低成效团队在代码生成量(包括部署频率与变更速度)方面的差距有所缩小,但稳定性(平均恢复时长与变更故障率)则进一步扩大。

关注连续能力组织做连续交付(CD)的能力是通过两个因素衡量的:从需求到生产的部署能力,并快速响应团队中的每名成员。

为实现这些成果,需要顾及的因素包括综合版本控制、CI、基于中继的部署,包括软件交付过程中的安全性,测试和部署自动化。架构层面的服务和团队的松散耦合。服务之间的耦合性的衡量是从人们是否可以在不需要集成环境的情况下进行测试,以及这些服务是否可以独立于其他服务部署。

实现高性能 DevOps 的非技术方面包括精益产品管理。该报告将此定义为三个功能 - 将工作分成小批量,使工作流程可视化,收集,广播和实施客户反馈,并使开发团队有权在开发过程中创建或更改规范,而无需批准。

团队的领导本身还不足于决定高质量的 DevOps 落地,还要取决于是否有合适的架构和良好的技术实践。报告作者使用结构方程模型(SEM)作为衡量与软件交付相关的预测模型。

当企业决定采用 DevOps 理念时,其亦面临着众多前所未有的新问题,包括“如何吸引工程师的参与”以及“如何吸引领导者的参与”。

根据 Puppet 公司在报告中所言

“每个人都意识到杰出的领导者在成功实现 DevOps 转型工作当中的重要意义。”

“仅具备变革性特质的领导者并不足以带来理想的 DevOps 成果。”

这是因为领导者无法单凭一己之力实现 DevOps 转型成效。DevOps 能否成功亦取决于架构是否合适、技术实践是否良好、精益管理原则的使用方式以及我们多年来在研究中囊括的其它重要影响因素。

成功 DevOps 团队的普适性实践

重点在于持续交付

今年的报告归纳出以下将对持续交付带来积极影响的关键性因素:

  • 全面采用版本控制机制;
  • 持续集成与主干开发;
  • 将安全性保障整合至软件交付工作当中;
  • 采用测试与部署自动化方案。

在以上因素当中,测试自动化的的贡献效果最为突出。

团队层面的具体举措另外,以下团队整体层面的具体举措能够将持续交付成效提升至新的高度:

  • 无需从团队外人士处获取批准即可对系统设计进行大规模变更。
  • 无需其它团队变更自有系统或者承担大量相关配合工作,即可对系统设计进行大规模变更。
  • 无需与团队外人士进行细化沟通及协调即可完成工作。例如无需经历多次预约及交流以获取反馈意见。
  • 根据需求实现产品或服务的部署与服务,且相关工作不依赖于其它服务。
  • 无需使用集成化测试环境即可根据需要完成大部分测试任务。
  • 在正常营业时间内执行部署,且停机时长可以忽略不计。

赋权为成功之母这份报告指出,“众多号称实施敏捷化原则的团队仍然要求开发团队必须遵守由多个不同部门制定的具体规则。这种限制可能引发一系列实际问题,导致产品无法真正吸引客户或者受到客户青睐,亦无法提供与预期相符的业务成果。”

研究结果表明,各团队在开发过程当中能否切实尝试新鲜思路并对规范进行建立与更新(无需团队之外人士的批准),已然成为决定盈利能力、生产效率以及市场份额等核心团队成效指标的一大重要因素。

尽管报告作者并不建议开发人员完全依照个人思路处理工作内容,但其仍强调称“组织应将赋权的重要意义与以下能力衡量因素加以同等重视:分批工作 ; 在工作流中确保交付流程对每位成员保持透明 ; 并将客户反馈纳入产品设计当中。”

DevOps 现状解析:核心要点 1. 变革型领导者拥有五大共通性特质——制定愿景、鼓舞人心的沟通能力、脑力激荡、支持型领导风格以及个人认同感,这一切能够显著塑造团队的文化与实践方针,从而带来更高成效。
2. 高成效团队仍然保持着成果产出与稳定性优势。
3. 自动化成为企业竞争当中的核心优势。
4. DevOps 适用于一切组织机构。
5. 松散耦合结构与团队是实现持续交付的重要前提。
6. 精益产品管理有助于提升组织绩效。

这份报告最终给出结论

“由于几乎每一家企业皆依赖于软件方案,因此 IT 成效水平对于当前的各类企业皆拥有重要意义。IT 成效水平受到多种不同因素的影响,具体包括领导力、工具、自动化以及持续学习与改进型文化方针等等。”

写在最后的解读 一项值得注意的趋势是,2017 年年内最高成效团队与最低成效团队间的差距正有所减小——目前最高部署量仅为最低部署量的 46 倍,而同一指标在 2016 年的比值则高达 200 倍。另外,最高成效团队的代码部署频率与最低成效团队间的差异亦由 2016 年的 2555 倍缩小至 2017 年的 440 倍。

在另一方面,2017 年最高成效团队的平均恢复时间则要远快于最低成效团队(由去年的 24 倍提升至今年的 96 倍),二者之间的变更失败率则由去年的 1 比 3 降低至今年的 1 比 5。Puppet 公司推测,之所以出现上述状况,主要是由于低成效团队的行动速度有所提升,但却仍未能将开发时间投入真正运用于质量保障之上——这意味着此类低成效团队会遭遇更多失败,并需要更多时间以解决问题。

研究人员们亦在报告中写道:

“高成效团队很清楚,他们并不需要为了稳定性而牺牲速度——反之亦然,因为他们在工作当中充分保证质量水平,从而同时满足这两项需求。”

参考文章:

https://www.infoq.com/news/2017/06/puppetlabs-devops-report-2017

https://www.theregister.co.uk/2017/06/06/state_of_devops_low_performers_are_fast_but_ignore_quality/

https://jaxenter.com/puppet-state-devops-2017-134662.html


感谢木环对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-06-11 19:001453
用户头像

发布了 24 篇内容, 共 11.3 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

嘉为蓝鲸入选《信息技术服务运维工具名录》及《IT服务工具图谱》

嘉为蓝鲸

运维 信息技术 ITSS

精选Golang高频面试题和答案汇总

王中阳Go

golang 面试八股文 go面试题 Go面试宝典

华为云能力中心开业暨项目签约活动圆满举办!

新消费日报

华为云低代码来啦,好奇心满满的开发者们快来体验!

低代码 华为云 华为开发者大会2023

鲸鸿动能对话汽车之家,全链路营销助力新增长

最新动态

软件测试/测试开发丨Python常用数据结构学习笔记

测试人

Python 数据结构 软件测试 集合 列表

和鲸助力中国大学生计算机设计大赛国赛作品评审标准落实研讨会召开,专家平台首发布

ModelWhale

人工智能 专家 数据科学 研讨会 中国计算机设计大赛

实践讲解强化学习之梯度策略、添加基线、优势函数

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 6 月 PK 榜

这场世界级的攻坚考验,华为云GaussDB稳过

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

中国高校最大云上科研智算平台上线!

新云力量

智能 计算 复旦大学

详解数据库中的索引和视图

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

数智底座必备能力之轻松驾驭新技术

用友BIP

数智底座 Pass平台

小程序技术分享| 小程序集成 pixi 渲染引擎

anyRTC开发者

小程序 音视频 canvas pixi 渲染

关于项目初期,数据量小的内容推荐的实现方法

北桥苏

推荐算法 个性化推荐 协同过滤 内容推荐

数字化转型与架构-规划篇|满足用户期望和用户需求说:“不”

数字随行

数字化转型

低代码平台对程序员友好吗?

互联网工科生

低代码 可视化 JNPF

如何加强数据资产管理?专家共话分级分类实战宝典

说山水

Python开发中自动化构建项目结构样式

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号 6 月 PK 榜

inBuilder今日分享丨RPM包制作入门

inBuilder低代码平台

一种读取亿级doris数据库的方法 | 京东云技术团队

京东科技开发者

MySQL 数据库 Doris 企业号 6 月 PK 榜

「学习笔记」记忆化搜索

互联网工科生

学习笔记

这样做,轻松拿捏阻焊桥!

华秋PCB

工具 电路 PCB PCB设计 阻焊

版本动态 | SolidUI 0.1.0 版本发布

李孟聊AI

Web 2D 3D AIGC ChatGPT

Redis跳跃表是如何添加元素的?

王磊

java面试

Spring事件监听机制使用和原理解析

不在线第一只蜗牛

spring springboot

2017年的 DevOps 报告新鲜出炉_语言 & 开发_Andrew Silver_InfoQ精选文章