【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

文件数据储存之内部储存,移动端开发技术创新

android 程序员 移动开发

手把手教你打通车载蓝牙与手机app的音频信息传输&车载反向控制手机app

android 程序员 移动开发

揭秘!大厂招聘内幕!如何才能进大厂,Android技术类校招面试题汇总

android 程序员 移动开发

搞Android开发为什么这么难?想哭了!,vue双向绑定

android 程序员 移动开发

支付宝 App 构建优化解析:Android 包大小极致压缩(1),阿里P8亲自讲解

android 程序员 移动开发

抖音四面被拒,再战头条终获offer!凭什么我可以做到,2021最新Android笔试题及答案

android 程序员 移动开发

换个姿势,带着问题深入学习Handler,手撕吊打面试官,kotlin单例firbase

android 程序员 移动开发

数据结构算法---红黑树,这可能是我看过红黑树讲的最好的文章。

android 程序员 移动开发

普通Android码农,该如何逆袭月薪-5W-的移动端架构师?

android 程序员 移动开发

数据结构与算法回顾-1:算法的度量和基本数据结构,近期有面试的必看

android 程序员 移动开发

新来的小师妹问我:哥,有哪些是新手程序员不知道的小技巧

android 程序员 移动开发

新鲜出炉的Android“面筋”,kotlininline函数

android 程序员 移动开发

拖不得了,Android11真的要来了,最全适配实践指南奉上

android 程序员 移动开发

扒一扒:2020台湾Android-Kotlin-&-Java-面試題庫,竟如此--

android 程序员 移动开发

打造一个完整的Flutter-APP项目!,安卓高级开发面试题

android 程序员 移动开发

拿不到想要的offer,只缘身在CV中,关于一些面试小知识,Android开发人员不得不收集的代码

android 程序员 移动开发

数据结构(一), BST 二叉搜索树(1),app可视化开发工具

android 程序员 移动开发

新手必看,避免踩雷---一篇文带你吃透Android开发的所有必备考点,轻松拿offer

android 程序员 移动开发

手把手讲解-一个复杂动效的自定义绘制,2021Android开发社招面试总结

android 程序员 移动开发

接地气的面试记录:记一次Android面试心得,retrofit教程

android 程序员 移动开发

插件化框架解读之四大组件调用原理-Activity(三)上篇

android 程序员 移动开发

揭秘:如何化身BAT面试offer收割机?,androidapp内存优化

android 程序员 移动开发

把Flutter扩展到微信小程序端的探索,安卓面试题库

android 程序员 移动开发

支付宝 App 构建优化解析:Android 包大小极致压缩,android界面开发实验报告

android 程序员 移动开发

数据结构(一), BST 二叉搜索树,高级程序员面试题

android 程序员 移动开发

是让人-提神醒脑-的-MVP、MVVM-关系精讲!,2021最新Android开发面试解答

android 程序员 移动开发

最新Android面试题整理,移动端h5页面适配

android 程序员 移动开发

换肤、全局字体替换、无需编写shape,Android程序员月薪20k的涨薪秘籍

android 程序员 移动开发

掌握了这些Android高级工程师必备知识后,他拿到了 BAT Offer

android 程序员 移动开发

接地气的面试记录:记一次Android面试心得(1),详细的Android学习指南

android 程序员 移动开发

插件化框架解读之Class文件与Dex文件的结构(一),android软件开发教程第二版电子版

android 程序员 移动开发

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