2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

如何衡量持续交付

  • 2017-09-25
  • 本文字数:1930 字

    阅读完需:约 6 分钟

在实施持续交付时,稳定性和吞吐量是两个可衡量的度量指标。这些度量指标有助于降低不确定性,帮助你做出更好的决策,让整个持续交付过程不偏离正确的方向。

持续交付独立咨询师 Steve Smith 将在精益敏捷苏格兰2017 大会上呈现一个关于如何衡量持续交付的演讲。大会将于10 月4 号至6 号在爱丁堡召开。

InfoQ 采访了 Smith,并从他那里了解到了一些信息,比如实施持续交付为什么会如此困难、为什么说度量指标有助于实施持续交付以及该用到哪些度量指标、他从英国政府部门使用度量指标这一实践当中学到了什么、Google 的 SRE 概念“错误预算(error budget)”与他的持续交付度量指标有什么联系。

InfoQ:实施持续交付为什么会如此困难?

Steve Smith:有两部分人在实施持续交付——一部分人知道它很难,另一部分人则否认这一点。持续交付的难点在于,你试图在组织中引入大量的技术和组织变革。

实现变更的自动化并不难,比如自动化数据库迁移或事后故障检测。工具的选择也不难——很多工具都很强大,只要你不去选择最糟糕的那个就好。难就难在如何在组织的约束当中应用这些变更。每个组织的持续交付都不一样,在一开始就要意识到这一点。

InfoQ:度量指标对实施持续交付有什么帮助?

Smith:度量指标有助于降低不确定性,帮助你做出更好的决策。你因此可以了解到你的实施过程是否偏离了正确的方向。

我一般会建议我的客户先从 Improvement Kata 开始,创建可迭代的周期,逐步改进当前的工作方式。但在你畅想愿景时,你怎么知道愿景离现实有多远?当你想要建立下一个改进里程碑的时候,你怎么知道该怎样设定目标?当你完成自动化数据库迁移的时候,你怎么知道它是否给当前的状态带来了改进?

度量指标无法回答这些问题,不过它们可以作为指引,告诉你应该去哪里去寻求答案。我在英国政府的一个重要部门工作了两年半,我们有 60 个团队在实施持续交付。如果没有度量指标,我们就不知道哪些团队表现出色,不知道哪些团队需要我们的帮助,不知道该发扬光大哪些实践或避免哪些不好的实践。有了这些度量指标,我们就知道需要与哪些团队展开沟通以及该沟通些什么。

InfoQ:你建议应该衡量哪些度量指标?

Smith:持续交付就是要改进稳定性,加快发布速度,所以毫无疑问,你需要衡量稳定性和速度。这两项指标虽然不是很直观,但要衡量它们并不难。在“ How To Measure Anything ”这本书中,Douglas Hubbard 描述了如何使用澄清链(clarification chain)来衡量无形的东西——创建有形的资产并将其与相应的度量指标联系在一起。

对于我们来说,我们已经知道该衡量哪些指标了。 DevOps 年度报告中,Nicole Forsgren、Jez Humble 等人陈述了组织在实施持续交付过程中是如何改进稳定性和吞吐量这两项指标的。他们通过失败率(Failure Rate)和失败恢复时间(Failure Recovery Time)来衡量稳定性,通过交付时间(Lead Time)和频率(Frequency)来衡量吞吐量。从 2013 年开始,我就很看好 Nicole 喝 Jez 在这方面所做的工作,而且我也深入研究过这些指标与持续交付之间的关系。所以我建议衡量这两项指标。

InfoQ:在英国政府部门实施持续交付的过程中,你学到了什么?

Smith:我从中总结了一个经验,不借助度量指标实施持续交付就好比在生产环境中没有监控措施。没有度量指标的指引就好像无头苍蝇到处乱撞。你无法知道哪些变更被成功实施,需要将其发扬光大,哪些是失败的,需要尽快回退。

在这个政府部门里,我们创建了一个内部网站用于展示每个团队和服务的稳定性和吞吐量度量指标。借助这些,我们就知道该与哪些团队展开沟通,也了解到了一些不寻常的问题。例如,有一个团队在短时间内大幅改进了部署的稳定性,但他们却不知道自己做了哪些事情让稳定性获得提升的。而实际上是因为他们构建了自己的日志和监控仪表盘。我们后来把他们仪表盘的 JSON 文件抽取出来,并开发了一个 DSL 用于生成相同的 JSON,把它推广到所有的团队。几周之后,很多团队向我们反应生产环境的服务运维变得更加容易了。

InfoQ:你是如何理解 Google SRE 概念“错误预算”的?它与你的持续交付度量指标有什么关系吗?

Smith:“ Site Reliability Engineering ”这本书写的非常好。Betsy Beyer 等人将可靠性定义成 MTBF 和 MTTR 的功能之一,这个与将持续交付定义成失败率和失败恢复时间的功能之一有着异曲同工之妙。

错误预算是一个很好的概念。我总是建议产品经理定义好自己的运营需求,包括产品的可靠性。如果他们衡量严格的发布稳定性和吞吐量,并在稳定性低于某个阈值的时候阻止自动部署到生产环境,那一定会很有意思。我见过一些公司对构建过程中的静态分析、OWASP 测试进行打分。不过我没有见过对部署稳定性进行打分,但我希望能够看到这样的事情发生。

查看英文原文: How to Measure Continuous Delivery

2017-09-25 19:003012
用户头像

发布了 322 篇内容, 共 150.1 次阅读, 收获喜欢 148 次。

关注

评论

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

保姆级教程!基于声网 Web SDK实现音视频通话及屏幕共享

声网

AGI时代即将降临,现代化产业建设的出路又在何处?

加入高科技仿生人

低代码 AGI 现代化产业

Macbook技巧,Type-c接口失灵怎么办

互联网搬砖工作者

火山引擎DataLeap:数据秒级生产,揭秘电商实时数仓最佳实践!

字节跳动数据平台

数据治理 电商 数据研发 企业号 3 月 PK 榜

未来智安入选FreeBuf《CCSIP 2022中国网络安全行业全景册(第五版)》

未来智安XDR SEC

Matlab常用图像处理命令108例(八)

timerring

图像处理

国有企业财务数智化转型实践,用友BIP一路随行

用友BIP

财务数智化

如何通过Java更改Word中的页面大小和页面方向

在下毛毛雨

Java word 页面布局

《中国奇谭》打动万千观众,一首歌道尽现代人心酸

曲多多(嗨翻屋)版权音乐

音乐 音乐播放

CDN省钱大法!华为云开年采购季低价购,CDN0.03元/GB起,短信0.006元/条起

科技怪授

CDN 华为云

五大方面多管齐下,用友助力企业建设世界一流司库体系

用友BIP

基于声网 Flutter SDK 实现互动直播

声网

flutter

焱融为国家电网打造存算一体的融合基础架构 助推能源行业新基建

焱融科技

文件存储 容器存储 分布式文件存储 高性能存储 国家电网

企业支出如何一眼看全局,用友BIP很在行

用友BIP

商旅费控

前端有边界,但低代码没有

引迈信息

前端 后端 低代码 ChatGPT

解决运行VMWare虚拟机报错“打不开 /dev/vmmon:断裂管道”

互联网搬砖工作者

专场直播预约 | KaiwuDB 离散制造业场景解决方案

KaiwuDB

数据库 KaiwuDB 离线制造业 行业解决发展

以“业财合一”构建业务财务体系,让财务更在行,让业务会经营

用友BIP

从“可用”到“好用” 京东云构建融合开放适配国产化应用的全栈产品矩阵

京东科技开发者

国产化 京东云 国产化替代 京东云峰会

华为云视频直播,流量大放“价”,超好用!

科技怪授

什么是安全文件传输

镭速

华为工单宝——为企业客户提供更强大的数字化现场作业解决方案

科技怪授

CDN 华为云

强大的录屏:Camtasia 2022 汉化激活版

真大的脸盆

Mac 软件 屏幕录制 录屏软件 录屏工具

阿里表哥甩我一份Redis笔记,看完还进不了阿里让我卖豆腐去

Java 数据库 nosql redis 缓存

Tapdata Connector 实用指南:云原生数仓场景之数据实时同步到 Databend

tapdata

数据库 大数据

8年Java架构师面试官教你正确的面试姿势,10W字面试题搞定春招!

小小怪下士

Java 程序员 后端 java面试

什么是智慧公厕?智慧公厕存在的意义!

光明源智慧厕所

智慧城市

【3.10-3.17】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

浪潮inBuilder低代码平台社区版来了!

inBuilder低代码平台

开源 低代码 企业级低代码平台

如何衡量持续交付_DevOps & 平台工程_Ben Linders_InfoQ精选文章