50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

「架构实战营」模块七 王者荣耀商城异地多活架构设计

hxb

「架构实战营」

读《A Philosophy of Software Design》——(15)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(20)

术子米德

架构师成长笔记

架构实战营 - 模块7 - 作业

凌波微步

「架构实战营」

模块七作业

Geek_ec866b

架构训练营

读《A Philosophy of Software Design》——(17)

术子米德

架构师成长笔记

王者荣耀商城异地多活架构设计

tom

重学架构之王者荣耀商城异地多活架构设计

陈华英

架构实战营 「架构实战营」

解读谷歌Pathways架构(一):Single-controller与Multi-controller

OneFlow

人工智能 机器学习 深度学习 架构 深度学习框架

团队在线协作文档工具推荐

小炮

团队协作 文档协作

模块七

Leo

架构实战营

读《A Philosophy of Software Design》——(16)

术子米德

架构师成长笔记

王者荣耀(商城)异地多活架构模拟设计

随欣所遇

架构训练营5期

读《A Philosophy of Software Design》——(19)

术子米德

架构师成长笔记

Linux驱动开发-编写MMA7660三轴加速度传感器

DS小龙哥

4月月更

web前端培训-ES6 教程:全面了解 ES6 模块

@零度

前端 ES6

读《A Philosophy of Software Design》——(13)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(12)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(18)

术子米德

架构师成长笔记

Android C++系列:JNI中发送Http网络请求

轻口味

c++ android jni curl 4月月更

王者荣耀商城异地多活架构设计

浪飞

Springfox swagger2 API文档

Rubble

4月日更

一文扫清DDD核心概念理解障碍

慕枫技术笔记

后端 4月月更

适合 Kubernetes 初学者的一些实战练习 (五)

汪子熙

postgresql Kubernetes Cloud Native statefulset 4月月更

王者荣耀商城-异地多活设计

邹玉麒

架构训练营5期

智能足球裁判,能否突破专业运动的技术瓶颈​

这不科技

在不确定性中寻找确定性(28/100)

hackstoic

创业 创业心态

如何使用阿里云容器服务保障容器的内存资源质量

阿里巴巴云原生

读《A Philosophy of Software Design》——(10)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(11)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(14)

术子米德

架构师成长笔记

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