AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

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:001322
用户头像

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

关注

评论

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

格式化报文输出

hasWhere

如何避免option请求

hasWhere

公有云厂商哪家强?本月UCloud、百度云、阿里云位居三甲——2020年8月云主机性能评测排名

博睿数据

《转》POI的XWPFParagraph.getRuns分段问题

hasWhere

Java进阶教程、大厂面试真题、项目实战,GitHub上这14个开源项目屌炸天了!

Java架构之路

Java 程序员 面试 编程语言 项目实战

实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值

华为云开发者联盟

物联网 IoT 传感

c++ 杂谈3

菜鸟小sailor 🐕

CICD实战——服务自动构建与部署

TARS基金会

DevOps 后端 jenkins CI/CD TARS

LeetCode题解:641. 设计循环双端队列,使用队列,JavaScript,详细注释

Lee Chen

大前端 LeetCode

form表单提交get请求

hasWhere

一文了解Zookeeper

Java旅途

kafka zookeeper 分布式

栈与队列简介

Java旅途

数据结构 队列

基于数组的有界阻塞队列 —— ArrayBlockingQueue

程序员小航

Java 源码 队列 源码阅读 JUC

清华架构师整理分布式系统文档:从实现原理到系统实现,收藏吧

小Q

Java 程序员 架构 分布式 微服务

Http自定义请求头接收不正确

hasWhere

揭秘App的财富密码,剖析算法工程师价值来源

峰池

人工智能 互联网 推荐算法 互联网公司

《我在你床下》观后感

徐说科技

Redis 缓存性能实践及总结

vivo互联网技术

redis redis集群 redis监控

数据提交

hasWhere

onblur调用alert导致的死循环

hasWhere

学习路线

hasWhere

学习思路

hasWhere

鸿蒙系统究竟是PPT秀还是有真材实料?鸿蒙HarmonyOS开发环境搭建与运行Demo

软测小生

华为 鸿蒙 HarmonyOS

写给新人算法工程师

峰池

互联网 新人 推荐算法 算法工程师

解读华为云原生数据库设计原则,打破传统数据库上云瓶颈

华为云开发者联盟

数据库 数据

架构师训练营第 1 期 第 2 周作业

李循律

极客大学架构师训练营

ARChatRoom功能介绍手册

anyRTC开发者

音视频 WebRTC 语音 RTC 安卓

阿里P8大牛力荐Java程序员进阶必读的书籍清单(附电子版)

Java架构之路

Java 程序员 面试 编程语言 书籍推荐

《转》Spring事务传播机制

hasWhere

java安全编码指南之:敏感类的拷贝

程序那些事

Java java安全编码 java安全 java安全编码指南

在多架构时代,英特尔扩展高性能计算边界

E科讯

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