写点什么

为 DevOps 正确组合 IT、文化和实践

  • 2015-12-09
  • 本文字数:1966 字

    阅读完需:约 6 分钟

Nicole Forsgren 发表了 GOTO Berlin 2015 第一天的闭幕主题演讲。她介绍了高效组织如何部署 DevOps 和精益管理,实现快速和可靠交付。

InfoQ 对她进行了采访,关于为什么组织开始拥抱 DevOps 方法,拥有快速部署能力的同时如何提高 IT 稳定性,为了提高性能当改变组织文化时应该关注什么,精益管理如何帮助提高性能,和其对组织希望采用 DevOps 提高性能时的建议。

InfoQ: 2015 年 DevOps 现状报告讨论了高效组织,他们能够更快速和最可靠地交付代码。您能解释一下为什么这些结果令人关注,为什么组织在他们的软件开发和交付过程中开始拥抱 DevOps 方法?

Forsgren:2014 和 2015 年的 DevOps 现状报告都表明高效的 IT 组织在生产能力——比如每天部署的内容和循环时间速度——和稳定性——恢复和改变成功率的平均时间,方面都比对手好得多。在软件交付过程中同时交付生产能力和稳定性的能力是一个巨大的附加价值,这种附加价值一直被传统的 IT 认为是不可能实现的。也就是说,我们总是被告知需要在生产能力和维持稳定性之间做出权衡取舍,但是 DevOps 却可以承诺实现这种附加价值。报告数据表明生产能力和稳定性度量呈现相同走势——有效但是不支持 ITIL 声称的为了获得稳定性需要权衡生产能力。报告数据不能表明为了稳定性需要权衡生产能力。这对客户意味着什么呢?增加了的生产能力意味着在维护越来越多的可靠软件和基础设施的同时,能够更快地将内容和新功能推向市场,或者是对承诺和政策法规的变化更快的响应能力。

InfoQ:您能否解释一下,在拥有快速部署能力的同时如何提高 IT 稳定性?

Forsgren:快速部署来自于快速的循环时间(代码提交到代码部署的时间)和高的部署频率,这些通常都是高度集成工作的成果,适用小批量。这些小批量允许开发人员快速发现并修复问题,这非常有利于稳定性。同时它还允许快速修复过程,这也有利于稳定性。因此,你能够想象这两种场景:在新的范式里,开发人员提交了一个新的变更,它会自动测试、构建和——如果测试通过——经过批准部署到生产环境中。在这种场景下,大部分错误能够在早期被发现,降低了变更失败和中断服务的概率,即使变更失败或者中断了服务,恢复服务的时间也非常短。在旧的范式里,开发人员往往会为大段的代码忙上数周甚至数月,最终才会被部署到生产环境中。在第一种场景中,如果部署失败,仅仅需要对一小段代码进行调试;很容易发现问题并找到解决方案。在第二种场景中,那种及其庞大的代码对生产环境而言是一个很大的变更,因此发现问题不太可能,即使发现了,调试如此大的代码费时费力——引入这种变更到生产环境中在某种程度上,增加了失败或者中断服务的概率。并且紧急变更会受漫长而缓慢的部署过程的牵制,进一步减慢了恢复服务的时间。

InfoQ:如果组织希望改变组织文化从而提高性能,那么他们应该关注什么?

Forsgren:在 DevOps 范式中,优良文化的关键因素在于信息流和信任。它们非常的重要,因为它们将不总是在一起工作,甚至有竞争目标(开发人员试图交付最大化内容到生产环境,而运维团队希望维持稳定性——通过停止向生产环境交付任何变更)的团队团结起来。信息流允许这些团队一起沟通他们如何做和为什么这么做,信任促进同理心的成长,填充了存在的隔阂。有些关键实践常常可以用来培养信息流和信任,比如站立会议和无指责性的事后评估。

InfoQ:您能否解释一下精益管理如何融入这一切?精益管理如何帮助提高性能?

Forsgren:哇。我真不知道从哪说起,因为精益管理指导了太多的 DevOps 运动。高的生产能力和单件流是精益制造理念和消除浪费的核心组成部分,因此它是 IT 性能定义的一大部分。它同样出现在持续集成中,用快速反馈展示了它的重要性。它甚至在某种程度上以运动的名义呈现自我:DevOps 将开发和 IT 运维团队更紧密的团结起来,可能甚至是物理方面。通过使用制造单元——专门向组织交付价值,我们可以在精益制造中看到这种现象,他们重新调整团队,成为更紧密、更严格的单位,从而减少切换成本和优化沟通。2015 年 DevOps 现状报告调研了精益的额外具体实践,比如限制在制品和可视化,并且发现它们对 IT 性能有着显著的影响。

InfoQ:对于希望应用 DevOps 提高性能的组织,你有什么建议?

Forsgren:当你决定开始应用 DevOps 时,你需要牢记它不仅仅是自动化和工具;你还需要关注你的过程和文化。为此你还需要捕捉度量:没有度量你就不能提高。除此之外,选择合适的项目也非常的重要。挑选一个向业务交付价值的项目,包括拥有关键技巧的成员(比如开发,QA,测试,运维和安全等等。)和挑选一个可以在四个月以内交付原型的项目。使用早期项目迭代和学习,并将经验教训扩展到业务的其它领域,在整个过程中不断交付价值,Target 和 Nordstrom 对成功采用这种方法非常有经验。

查看英文原文: Having the Right Mix of IT, Culture and Practice for DevOps

2015-12-09 17:062051
用户头像

发布了 92 篇内容, 共 31.3 次阅读, 收获喜欢 4 次。

关注

评论

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

前端leetcde算法面试套路之双指针

js2030code

JavaScript LeetCode

前端经典面试题(有答案)

loveX001

JavaScript

美团前端一面必会react面试题

beifeng1996

React

沙龙预告 | 1月11日举办数字化业务安全生产沙龙第2期

信通院IOMM数字化转型团队

数字化转型 IOMM 数字化业务安全生产

React源码分析(二)渲染机制

flyzz177

React

React源码分析(三):useState,useReducer

flyzz177

React

前端leetcde算法面试套路之二叉树

js2030code

JavaScript LeetCode

谈谈前端性能优化-面试版

loveX001

JavaScript

【12.30-1.6】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

React源码分析1-jsx转换及React.createElement

flyzz177

React

Java高手速成 | Spring、JPA与Hibernate的整合

TiAmo

hibernate Spring JPA Spring Java

React组件之间的通信方式总结(上)

beifeng1996

React

水印LOGO有哪些类型?如何在线给图片添加水印LOGO?

互联网民工阿强

图片处理 添加水印 水印 水印LOGO

细说react源码中的合成事件

flyzz177

React

【团队效率提升】Python-PyWebIO介绍

京东科技开发者

html 软件 markdown Python. 企业号 1 月 PK 榜

SREWorks v1.4 版本发布 | 离线安装 & 前端重构

阿里云大数据AI技术

大数据 开源 运维 企业号 1 月 PK 榜

FLStudio水果萝卜最新汉化21版本下载

茶色酒

flstudio FLStudio21 FLStudio21.0.0

这些js原型及原型链面试题你能做对几道

loveX001

JavaScript

HummerRisk V0.8.0:新增金山云、K8s基准检测、源IP审计分析等

HummerCloud

Kubernetes 云安全 云原生安全

前端一面react面试题总结

beifeng1996

React

Hyperledger AnonCreds:开源、开放规范下,保护隐私的可验证凭证

BSN研习社

fastposter v2.11.0 天花板级的海报生成器

物有本末

海报 海报生成器 海报编辑器 海报生成 海报小程序

跨集群流量调度实现 Kubernetes 集群金丝雀升级

Flomesh

K8s 多集群管理 流量管理

FinClip 12 月大事件 | IDE支持小游戏开发调试和预览

FinClip

用javascript分类刷leetcode17.栈(图文视频讲解)

js2030code

JavaScript LeetCode

如果才能做好准备好前端面试

loveX001

JavaScript

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

React Context源码是怎么实现的呢

flyzz177

React

React组件之间的通信方式总结(下)

beifeng1996

React

火山引擎DataLeap数据调度实例的 DAG 优化方案

字节跳动数据平台

大数据 数据治理 数据研发

深航携手华为云,共建数字化智慧民航标杆

极客天地

为DevOps正确组合IT、文化和实践_方法论_Ben Linders_InfoQ精选文章