写点什么

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

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

关注

评论

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

「2021-老胡的年终总结」

爱好编程进阶

程序员 后端开发

JAVA-使用注解实现Excel表头多语言导出

JayJay

5月月更

小型企业需要CRM系统的理由

低代码小观

CRM 企业管理系统 中小企业 CRM系统 客户关系管理系统

SpringloC容器的依赖注入源码解析(3)

爱好编程进阶

Java 程序员 后端开发

【直播预告】程序员修炼之道——如何实现敏捷开发与稳健运行的有机统一

FinClip

程序员 小程序运营

AI简报-视频去交错(Deinterlance)

AIWeker

人工智能 深度学习 5月月更 去交错

摆平各类目标检测识别AI应用,有它就够了!

华为云开发者联盟

计算机视觉 CANN 昇腾 目标检测识别 YoloV3

“超级计算机”——GPU云服务器

Finovy Cloud

gpu GPU服务器 GPU算力

SpringDataJPA之关联关系

爱好编程进阶

Java 程序员 后端开发

史上最全图解JVM,京东小哥带你了解性能提升100%背后的秘密武器

爱好编程进阶

Java 程序员 后端开发

使用APICloud AVM多端框架开发企业移动OA办公的项目实践

YonBuilder低代码开发平台

企业应用 APP开发 APICloud 多端开发 avm.js

等保和分保的区别是什么?哪个更厉害?

行云管家

网络安全 等保 等级保护 分保

优化了MYSQL大量写入问题,老板奖励了1000块给我

爱好编程进阶

Java 程序员 后端开发

极光笔记 | 极光基于元数据驱动数据治理浅谈

极光GPTBots-极光推送

数据治理 元数据

【刷题第十天】21. 合并两个有序链表

白日梦

5月月更

讨论两种Redis中Token的存储方式

华为云开发者联盟

Token key 存储token userid

HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

华为云开发者联盟

HTTP 请求转发 web 容器 F5

【解决】jsPDF之长图片生成PDF

爱好编程进阶

Java 程序员 后端开发

Tomcat介绍(三)

爱好编程进阶

程序员 后端开发

令人欣慰!阿里大牛把Spring微服务架构设计整理成了500多页文档,真香

爱好编程进阶

Java 程序员 后端开发

云计算的云是指什么?最简单的解释是什么?

行云管家

云计算 云服务 私有云 混合云

【Jvm】Jvm类加载机制

爱好编程进阶

Java 程序员 后端开发

厉害了!把 HashMap 剖析的只剩渣了!

爱好编程进阶

Java 程序员 后端开发

大佬总结的4条宝贵经验,送给初入职场的你,从此一飞冲天

爱好编程进阶

Java 程序员 后端开发

一文聊透 Netty IO 事件的编排利器 pipeline | 详解所有 IO 事件的触发时机以及传播路径

bin的技术小屋

网络编程 Netty java netty 5月月更

「每日一问」并发编程的特性是什么

爱好编程进阶

Java 程序员 后端开发

编写自己的 WordPress 模板

海拥(haiyong.site)

WordPress 5月月更

如何在缺乏商业项目经验的前提下成功通过面试,兼说我如何甄别非商业项目经验

爱好编程进阶

Java 程序员 后端开发

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