《DevOps实践指南》笔记:第3章
《DevOps实践指南》笔记:第3章
第3章 第二步:反馈原则
在复杂系统中安全地工作
复杂系统特征:1)无法将系统视为一个整体,去理解各个部分是如何组合在一起的。2)复杂系统的组件之间通常是紧耦合且紧密关联的,不能仅仅依据组件的行为来解释系统的行为。3)相同的事情做两次,结果未必相同。
如何让复杂系统变得安全?管理复杂的工作,从中识别出设计和操作的问题;群策群力解决问题,从而快速地构建新知识;在整个组织中,将区域性的新知识应用到全局范围;领导者要持续培养有以上才能的人。
及时发现问题
我们要不断地对设计和假设进行验证。目标是更早、更快、以尽可能低的成本、从尽可能多的维度增加系统的信息流,并尽可能清晰地确定问题的前因后果。能排除的假设越多,定位和解决问题的速度就越快,从而提高我们的顺应力、敏捷性以及学习和创新能力。
整个价值流里要有快速、频繁和高质量的信息流——每个工序的操作都会被度量和监控,任何缺陷或严重偏差都能被快速发现和处理。建立全方位的监控系统。
反馈回路不但能让问题的快速探测和修复成为可能,而且还能告诉我们如何防止问题复发。反馈至关重要,因为它是我们工作的向导。我们必须不断地验证目标,验证实施是否满足了客户的需求,而测试仅仅是一种反馈。”
群策群力,战胜问题获取新知
群策群力的原因如下:
❏ 防止把问题带入下游的处理环节,否则不但修复的成本和工作量会呈指数级增加,而且还会欠下技术债;
❏ 防止工作中心启动新的工作,那样可能会在系统中引入新的错误;(单件流)
❏ 如果问题还没有得到解决,那么工作中心在下一次操作中,可能还会遇到相同的问题,需要更高的修复成本。
循环(即PDCA环)——计划(Plan)、实施(Do)、检查(Check)、改进(Act)
在源头保障质量
通常因为清晰度和及时性不足,自上而下的官僚主义和控制系统变得无效,导致了“应该做事的人”和“实际做事的人”之间存在巨大差异。
质量控制无效的例子如下:
❏ 需要其他团队帮忙完成一系列乏味、易出错和手动执行的任务,这些任务本应该由需求方自己采用自动化方式完成。
❏ 需要那些远离实际工作场所且公务繁忙的人批准,迫使他们在不了解工作情况和潜在影响的情况下做出决策,或者仅仅是例行公事式地盖章批准。
❏ 编写大量含有可疑细节,且在写后不久就过时了的文档。
❏ 将大量工作推给运维团队和专家委员去审批和处理,然后等待回复。
为下游工作中心而优化
在技术价值流中,我们通过为运维而设计来为下游工作中心做优化,包括运维的非功能性需求(如架构、性能、稳定性、可测试性、可配置性和安全性)与用户功能同样重要。
《DevOps实践指南》笔记:第3章相关推荐
- Java并发编程实战笔记2:对象的组合
设计线程安全的类 在设计现车让安全类的过程之中,需要包含以下三步: 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并发访问策略 实例封闭 通过封闭机制与合适的加锁策略结合起来 ...
- Java并发编程实战笔记—— 并发编程1
1.如何创建并运行java线程 创建一个线程可以继承java的Thread类,或者实现Runnabe接口. public class thread {static class MyThread1 ex ...
- Java并发编程实战笔记
如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误.有三种方式可以修复这个问题: i.不在线程之间共享该状态变量 ii.将状态变量修改为不可变的变量 iii.在访问状态变 ...
- 《java并发编程实战》第11章-性能与可伸缩性
11.1 对性能的思考 11.1.1 性能的提升意味着什么 提升性能意味着用更少的资源做更多的事情, 在任何时刻,提升性能的前提是要保证程序的正确性 当操作由于某种特定的资源而受到限制时,通常就称该操 ...
- Java并发编程实战_不愧是领军人物!这种等级的“Java并发编程宝典”谁能撰写?...
前言 大家都知道并发编程技术就是在同一个处理器上同时的去处理多个任务,充分的利用到处理器的每个核心,最大化的发挥处理器的峰值性能,这样就可以避免我们因为性能而产生的一些问题. 大厂的核心负载肯定是非常 ...
- 【极客时间】《Java并发编程实战》学习笔记
目录: 开篇词 | 你为什么需要学习并发编程? 内容来源:开篇词 | 你为什么需要学习并发编程?-极客时间 例如,Java 里 synchronized.wait()/notify() 相关的知识很琐 ...
- 《Java 并发编程实战》--读书笔记
Java 并发编程实战 注: 极客时间<Java 并发编程实战>–读书笔记 GitHub:https://github.com/ByrsH/Reading-notes/blob/maste ...
- Java并发编程实战————恢复中断
中断是一种协作机制,一个线程不能强制其他线程停止正在执行的操作而去执行其他操作. 什么是中断状态? 线程类有一个描述自身是否被中断了的boolean类型的状态,可以通过调用 .isInterrupte ...
- Java并发编程实战————Executor框架与任务执行
引言 本篇博客介绍通过"执行任务"的机制来设计应用程序时需要掌握的一些知识.所有的内容均提炼自<Java并发编程实战>中第六章的内容. 大多数并发应用程序都是围绕&qu ...
- 前置条件,不变性条件,后置条件 --《java并发编程实战》
阅读<java并发编程实战>4.1.1章 收集同步需求时, 反复出现了"不变性条件","不可变条件","后验条件",令我一头雾水 ...
最新文章
- 【5】python核心编程 第八章-条件和循环
- unity3d做会减少的血条_Unity3d中NGUI加强版血条(Healthbar)的制作
- Android Studio中关于9-patch格式图片的编译错误
- 编写一个程序解决选择问题。令k=N/2。
- selenium报错 : WebDriverException: ‘chromedriver‘ executable needs to be in PATH解决方案
- win7虚拟机_UTM 虚拟机不越狱运行 win7,百分百可以
- 全国各地将推广电子证照,取代一证通
- SQL Server迁移数据库文件(ldfmdf文件)到其他盘
- 村村响农村广播-盐池县农村IP广播案例
- Matlab求加权平均数,MATLAB Accumarray加权平均值
- java生成随机数的代码_java生成随机数的代码
- VTK学习笔记(二十八)ExtractEnclosedPoints python示例
- 射频识别技术漫谈(1)——概念、分类
- 《亲密关系》读书笔记
- python的加减乘除运算_python四则运算
- 与10.110.12.30 mask 255.255.255.224属于同一网段的主机IP地址是?
- oppoa57升级android版本,OPPO A57刷机教程_OPPO A57升级更新官方系统包
- golang 将EBCDIC转成ASCII
- 墙都不扶就服你!作为一名程序员我不忘初心,完整版开放下载
- 贴吧涂鸦–毕加索的画板
热门文章
- android 部分韩国手机采用KSC5601编码保存联系人,MTK平台手机无法显示联系人姓名
- MATLAB数字图像去噪处理系统[GUI]
- dynamo方程怎么写_Revit如何通过Dynamo绘制抛物线
- 2021年危险化学品生产单位安全生产管理人员考试技巧及危险化学品生产单位安全生产管理人员模拟试题
- 有什么好用书摘APP 记录书摘的便签软件推荐
- XunLei7.x colse autoUpdate
- java学习:列举输出时,加号之中含有字符串的部分情况,以及部分输出结果,及最终结论
- 随手画个圆,你是怎么画的?我们分析了10万个圆,得到了这样的结论
- CoralGlobal珊瑚跨境与渣打银行强强联合推出e企达
- Render WEB PAGE 3D引擎渲染网页