DevOps三步工作法精讲

A presentation at DevOpsDays Shenzhen 2018 in November 2018 in Shenzhen, Guangdong, China by Martin Liu 刘征

Slide 1

Slide 1

”  DEVOPS ⼯工作三步法 应该如何将DevOps应⽤用到现有 的⼯工作环境,怎样帮助企业实现 DevOps转型

Slide 2

Slide 2

中国DevOps社区组织者 刘征 Martin Liu Ops背景 云计算 ⼯具链 !2

Slide 3

Slide 3

Slide 4

Slide 4

DevOps⼯工作三步法 实践者应该遵循的原则和⼼心法

流动原则: 建⽴立从左⾄至右快速的、平滑的、能向客户交 业务 客户 付价值的⼯工作流。 开发 $ 运维 反馈原则: 建⽴立从右到左的,贯穿于整个价值流的快 速、频繁、⾼高质量量的反馈信息流 ✓ 持续学习和试验原则: 建⽴立持续学习与实验的⽂文化,从 开发 运维 开发 运维 ⽽而持续提升个⼈人技能 !4

Slide 5

Slide 5

第⼀一步:Flow 流动原则 从左到右 实现⼯工作从开发到运维、快速地、从左向右地流动。 为了了最⼤大程度的优化⼯工作流需要将⼯工作可视化,减⼩小每批次⼤大⼩小和等待时间。 通过内建质量量度⻆角向下游传递缺陷,并持续的(永不不停⽌止地)优化全局⽬目标。 !5

Slide 6

Slide 6

第⼀一步:流动原则 何不不先游戏⼈人⽣生,回到幼稚园 310秒 40秒 !6

Slide 7

Slide 7

第⼀一步:流动原则 实现从左⾄至右快速的流动的措施 ➡ 限制WIP 减少批量量⼤大⼩小 !7

Slide 8

Slide 8

使⽤用价值流图分析前置时间-找瓶颈 As Is - 当前状况分析 开发、部署、运维三个阶段 LT:前置时间 VA:增值时间(处理时间) %C/A:完整/精确百分⽐(询问下游⼯作中⼼) 总LT=133天 总VA=31天 整体%C/A=4.37% !8

Slide 9

Slide 9

使⽤用价值流图分析前置时间-优化它 To Be - 下个⽬目标状态 怎样显著提供现有流程环节的%C/A? 怎样急剧降低甚⾄消除每项活动LT⾥的⽆ ⽣产效率的时间? 怎样提⾼每项活动的VA? LT:前置时间 VA:增值时间(处理时间) %C/A:完整/精确百分⽐(询问下游⼯作中 ⼼) !9

Slide 10

Slide 10

在任何价值流中, 总是有⼀一个流动⽅方 向、⼀一个约束点, 任何不不针对此约束 点⽽而做的优化都是 假象。 —Goldratt博⼠士

Slide 11

Slide 11

第⼀一步:流动原则 持续识别和改善约束点 ➡ 1)识别系统的约束点 2)确定如何利利⽤用这个约束点 5)确保约束点已经突破了了,请回到第⼀一步,杜绝惯性导致的系统约束 3)基于上述决定,考虑全局 4)改善系统的约束点 !11

Slide 12

Slide 12

第⼀一步:流动原则 攻克和优化技术上的约束点 ➡ 1)环境搭建 ⾃自动化环境搭建 ⾃自助化环境搭建 2)代码部署 开发⼈人员⾃自助部署 开发⼈人员⾃自动化部署 分钟级别部署 3)准备和执⾏行行测试 ⾃自动化测试 ⾃自动化测试数据 ⾃自动化测试环境配置 4)解耦巨⽯石架构 演进式架构 消除架构师团队 绞杀者模式解耦 !12

Slide 13

Slide 13

第⼀一步:流动原则 实现从左⾄至右快速的流动的措施 ➡ 消除价值流⾥里里的浪费和困境 1. 半成品 8. ⾮非标准或⼿手⼯工操作 9. 填坑侠 2. 额外⼯工序 3. 额外功能 4. 任务切换 5. 等待 6. 移动 7. 缺陷 !13

Slide 14

Slide 14

第⼆二步:反馈原则 实现从右⾄至左持续的、快速的反馈信息流 ⬅ VUCA时代 – 易易变性 –不不确定性 – 复杂性 – 模糊性 管理理复杂性、群策群⼒力力、全⾯面传播 知识 !14

Slide 15

Slide 15

第⼆二步:反馈原则 从右到左 第⼆二步,在价值流从右向左的每个阶段中,应⽤用持续、快速的⼯工作反馈机制 该⽅方法通过放⼤大反馈环防⽌止问题复发,并能缩短问题检测周期,实现快速修复 通过这种⽅方式,我们能从源头控制质量量,并在流程中嵌⼊入相关的知识 这样不不仅能创造出更更安全的⼯工作系统,还可以在灾难事故发⽣生前就检测并解决它 !15

Slide 16

Slide 16

反馈回路路是学习型组织和系统 思维的重要组成部分。反馈和 前馈回路路能让系统内各部件之 间的关系增强或抵消 —Peter Senge博⼠士

Slide 17

Slide 17

在我负责质量量验证的时候,我将 ⾃自⼰己的⼯工作描述为‘建⽴立反馈循 环’。反馈⾄至关重要,因为它是我 们⼯工作的向导。我们必须不不断地 验证⽬目标,验证实施是否满⾜足了了 客户的需求,⽽而测试仅仅是⼀一种 反馈。 —Elisabeth Hendrickson

Slide 18

Slide 18

第⼆二步:反馈原则 实现从右⾄至左持续的、快速的反馈信息流 ⬅ 防⽌止把问题带⼊入下游的处理理环节,否则不不但 修复的成本和⼯工作量量会呈指数级增加,⽽而且 还会⽋欠下技术债。 防⽌止⼯工作中⼼心启动新的⼯工作,那样可能会在 系统中引⼊入新的错误。 如果问题还没有得到解决,那么⼯工作中⼼心在 下⼀一次操作(如55秒后)中,可能还会遇到 安灯拉绳 相同的问题,需要更更⾼高的修复成本 !18

Slide 19

Slide 19

第⼆二步:反馈原则 实现从右⾄至左持续的、快速的反馈信息流 ⬅ 内建质量量的反模式 – 需要其他团队帮忙完成⼀一系列列乏味、易易出错和⼿手⼯工执⾏行行的任务,这些任务本应该由 需求⽅方⾃自⼰己采⽤用⾃自动化⽅方式完成 – 需要那些远离实际⼯工作场所且公务繁忙的⼈人批准,迫使他们在不不了了解⼯工作情况和潜 在影响的情况下做出决策,或者仅仅是例例⾏行行公事式地盖章批准 – 编写⼤大量量含有可疑细节,且在写后不不久就过时了了的⽂文档 – 将⼤大量量⼯工作推给运维团队和专家委员去审批和处理理,然后等待回复 !19

Slide 20

Slide 20

第⼆二步:反馈原则 实现从右⾄至左持续的、快速的反馈信息流 ⬅ 为下游⼯工作中⼼心⽽而优化设计 !20

Slide 21

Slide 21

第三步:持续学习与实验 以科学思维持续探索未知 第三步,建⽴立具有创意和⾼高可信度的⽂文化。⽀支持动态、严格的科学得分⽅方法来进⾏行行主 动地承担⻛风险,促进组织学习的建⽴立 通过持续的缩短和放⼤大反馈环。你能创造: – 更更安全的⼯工作系统 –承担更更多的⻛风险并进⾏行行实验,帮助⾃自⼰己改进的更更快 作为第三步的⼀一部分 – 你可以设计你的⼯工作系统使其事半功倍 – 将局部优化转化为全局优化 !21

Slide 22

Slide 22

第三步:持续学习与实验原则 建⽴立⾼高度可信的学习⽂文化 !22

Slide 23

Slide 23

对事故和意外处理理的不不公正会阻 碍安全调查,让⼯工作者感到恐惧 (⽽而不不是专注),让整个组织更更 加官僚僚(⽽而⾮非更更加细致),甚⾄至 还会导致信息封闭、责任逃避和 ⾃自我保全意识的滋⽣生。 —Sidney Dekker博⼠士

Slide 24

Slide 24

⽐比⽇日常⼯工作更更重要的,是对⽇日常 ⼯工作的持续改进。 —Mike Orzen

Slide 25

Slide 25

第三步:持续学习与实验原则 建⽴立⾼高度可信的学习⽂文化 »持续安全运⾏行行 - 5700堆年年 »持续积累的集体智慧 »建设全局知识库 !25

Slide 26

Slide 26

第三步:持续学习与实验原则 建⽴立⾼高度可信的学习⽂文化 »⽇日本- 爱信精机 »持续不不断地对现有⽣生产线加压⼒力力 »提⾼高产能和解决问题的技能 »提⾼高产能的同时,也增强了了可靠性 »⼀一年年内吞吐量量凡翻番 !26

Slide 27

Slide 27

凤凰神话 达摩克利利斯之剑 九头蛇神话

Slide 28

Slide 28

总结:应⽤用devOps的四步法套路路 套路路的套路路 1-选择价值流 绿地/棕地? SOR/SOE? 从最赞同和创新的组开始 逐步扩⼤大范围 2-可视化价值流 识别相关⻆角⾊色 绘制价值流 组建专⻔门转型团队 配套必要的⼯工具 3-建⽴立组织和架构 组建市场导向团队 招募通才团队成员 合理理设计团队边界 保证松耦合和安全性 4-运维与开发融合 建⽴立提⾼高开发效率的⾃自助服务 将运维融⼊入开发⽇日常⼯工作 在团队中配置运维⼈人员 !28

Slide 29

Slide 29

铁三⻆角 DevOps状态报告证明:⾼高绩效组织的这些指标会形成正相关 !29

Slide 30

Slide 30

打破项⽬目管理理约束三⻆角形 速度模式 AWESOME QUALITY 质量量模式 !30

Slide 31

Slide 31

& 问答 时间 DevOps教练 ’ 微信公众号