本书主人公比尔为了让公司生存及正常运转,在埃瑞克的指导下,尝试出一套适合该公司的IT转型方案,整个转型过程就像我们从传统开发模式转型DevOps的开发模式一样,踩过很多坑,总结出很多道理,包括转型和日常工作。


本书中提到的常见DevOps转型问题:

1、变更流程不清晰,审批周期长,导致大多数团队不遵守变更流程;

2、变更紧急度或邮件处理紧急度常常被标记为“紧急”,导致真正紧急的内容延后;

3、库房堆积着大量的WIP;

4、工作项没有按照优先级分类。“你为什么选了那件任务来干活,而不是选别的?”; “因为这个是最先到达这个工作中心的总过呀,我们来者不拒”;

5、无版本控制。“我们目前还没通过冒烟测试。我担心的是,面对层出不穷的版本,我们已经混乱了——我们在记录整个发布的版本编号方面做得太马虎了。他们经常在解决一些问题的同时,又弄坏了别的东西。所以,他们现在发来的都是单个文件,而不是整个软件包”

6、也许把我们部门的业务全部外包出去,也不算太糟。我一直在从事软件开发工作。我已经习惯了,大家都要求出现奇迹,期盼那些不可能发生的事,人们在最后一刻改变需求

7、IT和业务的隔阂之一。“要说服业务部门去做正确的事情越来越困难。他们在飞机杂志上读到可以在云端管理整个供应链,每年只要499美元,然后这突然就成了公司的主要行动。当我们告诉他们,事实上没那么简单,并演示做好这个要付出什么样的代价时,他们就不见了。他们去哪儿了?去找推销外包服务的家伙谈了,那些人许诺能用十分之一的时间和价格做成这件事。”

8、开发忙于修锅,没有实践写代码。“我们的工程师一直疲于应付各种故障带来的版本更新,根本无暇顾及功能开发。而且部署工作需要的时间越来越长。”

9、所有的工作周期都花在了功能开发上,而没有用在稳定性、安全性、可扩展性、可维护性、可操作性、持续性以及其他诸如此类的美好性能上。

10、“想象一下,假如一个工作中心,有25%都只能由一个名叫布伦特的人来操作,工作流会变成什么样?”   “工作将无法按时完成,因为布伦特在同一时间只能呆在一个工作中心。” 所以公司里什么都会,什么都干的那个人才是影响工作进度的“罪魁祸首”,即约束点。解决办法是:把布伦特的工作标准化,让其他人能够执行。而且,因为你最终把那些步骤记录下来了,所以能在一定程度上保证稳定性和质量。你不仅减少了需要布伦特的工作中心数量,还生成了一些将来能够让其中一些工作中心自动化运行的文档。

11、“你就像个政委似的,走进车间,向所有的流水线工人耀武扬威,像个虐待狂一样管大家的闲事,还威胁他们按照你的命令行事,就是为了提高你自己微不足道的存在感。大部分时候,你弄坏的东西比你修好的东西还要多。更糟糕的是,你打乱了别人的工作安排,他们可是实际从事重要工作的人。”

12、从没有人把业务的重要评估指标同作为其前提条件的IT任务联系起来过。

13、理想状态下,工作流应该只朝一个方向移动:向前。一旦看到工作向后移动,我就会想到‘浪费’。也许是由于不合格品、缺少规范,或者返工……无论是哪一种情况,我们都得开展修复工作。


本书中给出一些关于DevOps转型或工作中的建议:

1、书中对“变更”的定义:对应用程序、数据库、操作系统、网络或硬件进行的物理、逻辑或虚拟操作。

2、优先消除瓶颈。选择优先级(先进先出的调度安排)的办法安排任务似乎合情合理,一直让第一个工作站保持忙碌,但是不应该根据第一个工作站的效率来安排工作,而是根据瓶颈资源所能完成的速度来安排工作。在瓶颈之外做出的改进都是假象、徒劳,而在瓶颈之前做出的任何改进则只会导致瓶颈处堆积更多的库存。“在大多数工厂里,总有那么一小部分资源,不论是人、机器还是原材料,决定了整个系统的产出。我们称之为约束点或者瓶颈。任何一项团队工作都是如此。不管你怎么称呼它,在你建立起一个可信赖的系统用以管理通向约束点的工作流之前,约束点经常是被闲置的,也就是说,约束点可能在很大程度上未被充分利用。”

3、常见的四类工作:业务项目,内部项目,变更工作,计划外工作。

4、三部工作法第一步是从左到右快速流动。第一步帮助我们理解在工作从研发部移向IT运维部时该如何建立快速工作流,因为那是业务部门与客户直接的衔接。第二步是从右到左快速反馈。第二步告诉我们如何缩短及放大反馈环路,从而在源头上解决质量问题,避免返工。第三步是在整个过程中持续学习。第三步告诉我们如何建立一种文化,既能鼓励探索、从失败中吸取教训,又能理解反复实践是精通工作的先决条件。

5、80%的风险由20%的变更造成。

6、我们要预先定义好高风险变更目录,在目录中的变更项目不仅要提交变更申请,而且要在通过审核后才能安排实施。

7、不要当“老好人”,是不是你的事情都去帮忙解决。

8、相同问题要归类。出现两次以上的问题、难题的解决过程要保存在知识库,避免同一个问题人为解决两次。

9、提交代码规范。我建议通知开发人员,提交的代码必须标注对应某个性能问题的缺陷编号。没有标注的都要退回。

10、你得带着实际解决方案来找我。

11、持续学习。“程序员们,乃至像我这样的经理,每隔几年要学的东西都几近疯狂。有时候完全是全新的数据库技术,全新的编程或项目管理方法,或者全新的技术交付模型,比如云计算。”

12、有时候运维比开发更消耗资源。“搞死你的不是前期投入,而是后台的运行和维护。”

13、开发与运维之间建立工作流--变更板(看板)。“你开发出了可视化工作管理工具,并在整个系统中运行起来了,并控制半成品。这是‘第一工作法’的关键部分。在开发部和IT运维部之间建立快速工作流。看板上的索引卡片是做成这件事最好的机制之一,因为每个人都能看到半成品。”

14、高效处理计划外的工作。计划外工作会让你丧失开展计划内工作的能力,因此必须不惜一切代价去消灭计划外工作,墨菲法则确实存在,因此总会有计划外工作,但你必须高效地处理它们。

15、“记住,重要的是结果,而非过程、管理,或者你完成了哪些工作。”

16、聚焦五步骤。高德拉特在《目标》里描述了五个聚焦步骤。

第一步,找出(Identify)系统中的瓶颈。
第二步,最大限度利用(Exploit)瓶颈,即决定如何挖尽瓶颈。
第三步,使企业的所有其他活动服从于第二步的决定,即迁就瓶颈。
第四步,打破(Elevate)瓶颈,提升瓶颈的产能,使瓶颈转移到别处。
第五步,重返(Repeat)第一步,找出新的瓶颈,别让 惰性成了瓶颈,即持续改善。

17、IT很重要。IT不是一个可以轻易委托外包的部门。公司的每一项重大活动都有IT的参与,而且IT对日常运作的方方面面都起着关键作用。

18、一个伟大的团队并不代表他们拥有最聪明的人。使团队变得伟大的因素,是每个人都互相信任。当那种神奇的动力出现,就会让整个团队充满力量。

19、海军陆战队员可不喜欢这种公开表露感情的事情。

20、解决各种复杂的业务问题需要团队合作,而团队合作需要相互信任。

21、展现自己脆弱的一面有助于建立起信任的基础

22、当我们把业务工作做错了,计划外工作就随之产生了。我们的计划外工作越来越多,大多是由我们脆弱的应用程序故障导致。

23、我们在接受工作之前,不对工作能力和工作要求作任何形式的分析。也就是说,我们总是在赶工,不得不走捷径,那就意味着在生产中出现更多脆弱的应用程序。也就意味着将来会出现更多的计划外工作和救火工作。

24、你刚才描述的是未偿还的‘技术债务’。它来自于走捷径,那在短时间内也许行得通。但是就像金融债务一样,久而久之,利息成本会越滚越高。如果一个部门没有付清它的技术债务,公司的每一份努力都将以计划外工作的形式来偿还那些技术债务的利息。”

25、“计划外工作还有一种副作用。当你把所有时间都用来救火,就没有时间和精力去制定计划了。当你们所做的只是被动应付,就没有足够时间开展繁重的脑力劳动,弄清楚是否可以接受新的工作。

26、我们给你们付工资,是为了让你们思考,而不只是执行!”

27、知道某个项目会失败,我需要你们说出来。而且,我需要你们的观点有数据支撑

28、完成哪些工作,要看谁的喉咙最响、叫得最多,谁能和督办员私底下搞好关系,或者谁和高层搭得上关系。”

29、“我们弄清楚约束点在哪里之后,就着手恢复理智。然后我们保护约束点,确保约束点从不浪费时间。而且我们竭尽全力确保工作流经约束点。”

30、以前从没见过大家这样专注地干一件事。项目冻结行动在减少优先级冲突以及有害的多任务处理方面效果惊人。我们知道,它已经让生产效率大为改观。”

31、每个工作中心都由四种东西组成:机器、人员、方法,以及测评。

32、构建一份资源清单。你们在完成工作之前,要先分类列出工作所需的全部前提条件,比如笔记本电脑型号、用户信息参数、软件及其许可证,以及它们的配置、版本信息、安全性、生产能力及持续性需求。材料清单以及所需工作中心和工艺的清单。一旦有了这个,再加上工作订单和你的资源,你最终就能够理解你的生产能力和需求是什么。这将让你最终明白,是否可以接受一个新工作并对其做出实际安排。

33、改进日常工作比开展日常工作更重要。

34、不断重复可以形成习惯,而有了习惯才能变得精通。不论是运动训练、乐器学习还是特种部队训练,只有通过实践和操练才能达到精通的地步。研究表明,每天训练5分钟比每周开展一次为期3小时的训练更有效。如果你想要营造一种真正的改进文化,就必须把那些习惯建立起来。

35、第二工作法’的一个关键部分是让等待时间可视化,那样就能知道你的工作何时在某人那里排了几天的队,或者还有更糟的情况,工作必须往后退,因为没有完成所有的部件,或者需要返工。举个例子:一个给定资源的等待时间,是那个资源忙碌时间的百分比除以空闲时间的百分比。因此,如果一个资源使用了50%,等待时间就是50/50。如果这个资源使用了90%,那么等待时间就是90/10。如果这个资源使用了99%,等待时间是99/1。当一个资源使用了99%,那么等待时间就是该资源使用50%时的99倍。

36、这种会议全都是政治表演,但这样高风险的政治表演绝对超过了我的职级。

37、通过看板让需求和半成品可视化,把看板引入我们的关键资源之中。这些关键资源所从事的任何活动都必须通过看板。不可以通过电子邮件、即时消息、电话,诸如此类的渠道。

38、告知真相是一种爱的表现。隐瞒真相是一种恨的表现。

39、他谈论的是系统思维,始终确保整个企业达成其目标,而不只是其中的一部分。

40、第一、弄清在哪些方面IT是被低估的——某些IT的流程或技术能够轻易破坏整个公司的目标实现;第二、找出他在哪些方面高估了IT的作用。

41、完成一项任务前要弄清楚:哪些流程是支持其目标的;哪些流程对完成任务有阻碍。

42、一旦研发资本以半成品的形式锁定超过一年而未向公司返还现金,它就几乎不可能再为公司产生回报了。

43、由IT引起的运营风险不是IT风险,而是业务风险。

44、不断重复可以建立起信任感和透明度,对需要团队合作的事情来说尤其如此。

45、在任何一个工作系统里,理论上的理想状态是单一工作流,这样能让生产能力最大化,同时让变化幅度最小化。通过持续不断地降低批量规模,就能达到这种状态。

46、在制造业,有一个指标叫‘节拍时间’,也就是跟上客户需求所需的周期时间。如果在工作流中有任何操作的时间比节拍时间要长,就无法跟上客户的需求了。

47、“我也碰到过一些非常聪明的人,他们秉持这种错误理念,即只有他们自己知道解决方案,才能永葆职位。这些人就是知识独食者。这个观念不对。没有人无可替代,无论这人有多优秀。当然可能特殊情况下解决问题需要的时间更长些,但缺了谁地球都能转。”

48、DevOps原则和模式就是通过整合企业文化、企业架构和技术实践,让下降式螺旋变成上升式螺旋。

49、“没人会强迫你学习……学习也并非生存必需。”

50、要想在现代技术上取得成功,必然需要多方向和多专业领域的协作。

51、运维人员的工作模式可能会变得像开发人员一样,他们必须在源代码控制系统里维护系统的配置,并在工作中使用持续集成/持续交付(CI/CD)的模式。

52、在过去的经济时代,企业通过移动原子创造价值。而现在,他们必须通过数字创造价值。

53、克里斯托弗·利特尔所说:“每个公司都是科技公司,无论他们认为自己处在哪个行业。银行也只是拥有银行执照的IT公司而已。”

《凤凰项目:一个IT运维的传奇故事》笔记相关推荐

  1. 《信贷的逻辑与常识》笔记

    序 银行信贷风险管理的反思 现状与趋势 银行贷款的质量变化与经济周期.宏观调控政策等存在很高的相关性 现在银行不良贷款的增加主要是前几年经济快速增长时企业过度投资.银行过度放贷所带来的结果. 从历史情 ...

  2. AI公开课:19.02.27周逵(投资人)《AI时代的投资逻辑》课堂笔记以及个人感悟

    AI公开课:19.02.27周逵(投资人)<AI时代的投资逻辑>课堂笔记以及个人感悟 目录 课堂PPT图片 精彩语录 个人感悟 课堂PPT图片 精彩语录 更新中-- 文件图片已经丢失-- ...

  3. 人工智能入门算法逻辑回归学习笔记

    逻辑回归是一个非常经典的算法,其中也包含了非常多的细节,曾看到一句话:如果面试官问你熟悉哪个机器学习模型,可以说 SVM,但千万别说 LR,因为细节真的太多了. 秉持着精益求精的工匠精神不断对笔记进行 ...

  4. 【逻辑回归学习笔记】

    算法描述 1.逻辑回归要做的事就是寻找分界面实现二分类. 2.问题假设:对一堆三角形和正方形分类. 3.数据输入:已知正方形和三角形的坐标和标签. 4.算法过程: 知识储备 1.分类和回归 ①分类的目 ...

  5. 逻辑回归函数学习笔记

    继续逻辑回归学习,今日笔记记录. 1.逻辑回归和线性回归的关系:对逻辑回归的概率比取自然对数,则得到的是一个线性函数,推导过程如下. 首先,看逻辑回归的定义 其次,计算两个极端y/(1-y),其值为( ...

  6. 2.2 逻辑回归-机器学习笔记-斯坦福吴恩达教授

    逻辑回归 上一节我们知道,使用线性回归来处理 0/1 分类问题总是困难重重的,因此,人们定义了逻辑回归来完成 0/1 分类问题,逻辑一词也代表了是(1) 和 非(0). Sigmoid预测函数 在逻辑 ...

  7. LVM逻辑卷分区笔记

    磁盘的静态分区有其缺点:分区大小难评估,估计不准确,当分区空间不够用的时候,系统管理员可能需要先备份整个系统,清除磁盘空间,然后重新对磁盘进行分区,然后恢复磁盘数据到新分区,且需要停机一段时间进行恢复 ...

  8. 适合理工直男的钟平老师逻辑英语学习笔记

    一切的一切都只是套路!             --鲁迅 核心公式: En: (状语1) 主(定语1) 谓(状语2) (宾)(定语2) (状语1) Ch: (状语1) (定语1)主 (状语2)谓 (定 ...

  9. 【数字逻辑】学习笔记 第四章 Part2 常用组合逻辑电路与竞争、险象

    文章目录 一.常用组合逻辑电路 1. 译码器 (1) 二进制译码器 74LS138(3/8译码器) a. 一般符号和图形符号 b. 74LS138功能表 c. 两片 `74LS138` 构成 `4-1 ...

  10. 线性回归、逻辑回归学习笔记

    学习源代码 import numpy as np import matplotlib.pyplot as plt def true_fun(X): # 这是我们设定的真实函数,即ground trut ...

最新文章

  1. vs2005编译DNW050A
  2. maya中英文切换插件_老司机都在用的30款maya常用插件
  3. (转)为什么人生气时说话用喊的?
  4. UbbCode用正则替换指定格式的输入实现想要的输出
  5. java sendmessage函数_vc中SendMessage自定义消息函数用法实例
  6. 免费硬件、万元奖池、百度内推,AI达人创造营邀你出战!
  7. 数据通路——专用数据通路
  8. 微处理器系统结构与嵌入式系统设计(一)
  9. YY直播产品体验报告
  10. 计算机二级考试vb试题,2016计算机二级考试《VB》真题练习
  11. Web前端和后端的异同
  12. 哪些因素影响苏州企业注册商标?
  13. 人人开源搭建后台管理系统 逆向工程生成CRUD代码
  14. 免费GPU汇总及选购
  15. unreal无损音乐百度云_Roxette女主唱Marie Fredriksson - Den Standiga Resan 个人瑞典语专辑 [APE]...
  16. Python从入门到入土的90行代码
  17. oracle 审计文件目录,审计ORACLE程序文件是否被修改
  18. 阿里云1+X-云计算开发与运维(单选题)
  19. 汇编语言----处理机控制指令及伪指令
  20. 数位dp入门题 洛谷P2657 [SCOI2009] windy 数

热门文章

  1. C++ 内存管理 —— 第一講:C++ 內存構件
  2. 002 - new javascript 基础
  3. NAS实现家用服务器
  4. ThinkPad T440s 改 T450s
  5. python curl 获取返回值_python-将curl查询转换为请求
  6. 在vue中禁止input框和textarea编辑的操作
  7. docker 开机自启动容器docker运行自启动
  8. iconfont怎么添加新的字体图标?
  9. Mysql修改数据库名
  10. mysql练习题记录之:学生表、课程表、成绩表、讲师表、等级表