写点什么

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

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

关注

评论

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

干啥啥都行,这次又拿了第一名!

青藤云安全

网络安全 主机安全 青藤云安全

解读Vue3模板编译优化

yyds2026

Vue

基于OpenHarmony L2设备,如何用IoTDeviceSDKTiny对接华为云

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜

用低代码平台搭建低代码平台

iofod jude

大专学历通过大数据培训好找工作吗?

小谷哥

我偷偷学了这5个命令,打印Linux环境变量那叫一个“丝滑”!

wljslmz

Linux 运维 环境变量 11月月更

使用Online unsafe recovery恢复v6.2同城应急集群

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 数据库架构设计 6.x 实践

TiDB上云之TiDB Operator

TiDB 社区干货传送门

集群管理 TiDB 底层架构 管理与运维 数据库架构设计

如何通过机器学习赋能智能研发协作?

LigaAI

人工智能 智能化 LigaAI 研发协作平台 亚马逊云科技

武汉web前端培训学习前景如何

小谷哥

学历通过大数据培训学习合适吗?

小谷哥

java培训学习后怎么样

小谷哥

记一次TiDB数据库报错的处理过程

TiDB 社区干货传送门

管理与运维

4步消除漏洞积压

SEAL安全

漏洞修复 软件供应链安全 漏洞管理 11月月更

佛萨奇1.0 2.0矩阵公排项目系统开发详情

开发微hkkf5566

Spark+ignite实现海量数据低成本高性能OLAP

米兰小铁匠

大数据 spark 分布式数据库 Ignite 内存计算

手写一个webpack插件

Geek_02d948

webpack

COSCon'22 第七届中国开源年会圆满落幕

腾源会

开源

在web前端学习中如何学习知识点

小谷哥

对比四大智能合约语言:Solidity 、Rust 、 Vyper 和 Move

One Block Community

区块链 程序员 编程语言 Solidity Move

Etcd API 未授权访问漏洞修复

TiDB 社区干货传送门

监控 实践案例 故障排查/诊断

固定QPS异步任务功能再探

FunTester

软件测试 | 测试开发 | 工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?

测吧(北京)科技有限公司

测试

GPU服务器到底有什么作用?

Finovy Cloud

云渲染 GPU渲染 云渲染平台

看直播,领报告 |《勒索软件的认识与防御指南》最新发布!

青藤云安全

网络安全 勒索病毒 主机安全 勒索 青藤云安全

聊聊Vuex原理

yyds2026

Vue

深度解读Webpack中的loader原理

Geek_02d948

webpack

文盘Rust -- 起手式,CLI程序

TiDB 社区干货传送门

开发语言

文盘Rust -- 把程序作为守护进程启动

TiDB 社区干货传送门

开发语言

Vue.nextTick核心原理

yyds2026

Vue

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