引言
在这个瞬息万变的技术革命时代,DevOps不仅仅是一种技术实践,它更是一种文化革新。它如同一股不可阻挡的潮流,重塑着软件开发与运维的边界。在这场变革中,我重新翻开了《DevOps 实践指南》这本书,它不仅为我提供了一个全新的视角,更让我在反思过去几年的实践经验时,对书中的核心理念有了更深的领悟。
三大原则
DevOps 中的三大原则:流动原则、反馈原则、持续学习与实验原则,也是实施DevOps的三大步骤。
第一步“流动”,实现开发到运维的工作快速地从左向右流动。其核心包含:
- 将工作任务清单与流程可视化;
- 根据团队大小限制同时进行的任务,“保质”的前提下“保量”;
- 快速流转,快速发现问题;
- 减少交接,减少信息损失与时间浪费。
第二步“反馈”,建立从右到左的快速、持续反馈机制。其核心包含:
- 建立监控系统能够及时发现问题;
- 建立类似“安灯绳”、全民响应的机制;
- 在源头保障质量,而非单纯依靠QA部门。这里有一句话很经典:“当有人因为 6个月前开发人员所造成的事故而对着他们咆哮时,开发人员其实学不到任何东西”。
- 站在你下游的工作角度去优化自己的工作,将外部客户、内部客户放在同等地位。
"安灯绳"的故事:在丰田制造工厂里,每个工作中心都是一条绳索,每个工人和经理都受过培训,他们会在出现问题时拉下安灯绳,比如,当零件有缺陷时,当需要的零件用光时,或者是加工时间比文档中描述的长时。在安灯绳被拉动时,团队领导就能第一时间得知并立即着手解决问题。如果问题不能在指定的时间(如 55 秒)内解决,就会停掉整个生产线,调动整个企业一起协作,直到成功地找出解决问题的对策。
第三步“持续改进”,从组织、文化、制度等方面制定措施去持续优化,这个就是老生常谈的话题了,我总结了书中核心的几个要点:
- 发生问题要对事不对人,不要对人员进行追责;
- 接受团队里的新想法,保持团队的活力;
- 对日常工作的改进比日常工作更重要;
- 采用灾备演练、提升自动化测试覆盖率等手段提升抗脆弱性;
- 领导层需要建立学习文化和工作氛围去帮助员工解决问题。
“三原则框架”
DevOps 的三大步骤其实是具备通用性的,特别适用于小公司、小团队。对于小型组织来说,要把事情做好,完全可以把这三大原则作为一个基础框架,按照框架来实施具体政策。可以起个名字,就叫“三原则框架”
1. 从左到右的工作流
“从左到右的工作流”很形象,核心是团队需要梳理好工作事项和工作流程,每个人对整体流程、具体事项都很熟悉,知道最终的目标。要做到团队里的每个人都要对工作流程和工作事项非常熟悉应该具备几个要素:团队规模小、工作流程足够简单、人员素质高。
团队规模小,可以参考“2个披萨原则”,小团队管理简单,人数控制在5-10左右。团队规模越大组织层级就越多,团队之间会有利益冲突,管理也更复杂。
工作流程足够简单,很多事情的本质其实很简单,但是随着业务不停增加、团队规模不断扩大,原本简单的流程变得过于复杂。对领导层来说,重点要限制业务的盲目扩张。业务的扩展必然会导致团规模的扩大,而且会消耗组织的核心战略资源。
人员素质高,对小团队来说,每一个团队名额都很重要,要选择合适的人员。人员素质不仅仅是业务、技术能力,还要考量人员的学习能力、适应能力等等,候选者也应该能融入团队文化与氛围。
2. 从右到左的反馈机制
团队的工作要有反馈机制,目标达成要有正向反馈,工作出问题要有负向反馈。正向反馈能给团队带来信心,负向反馈反映的就是工作中存在的问题。
书中提到的“安灯绳”机制我觉得在小团队中可以试着推行,例如当团队中反馈的问题在2个小时内还未解决时,拉通整个团队去解决,这是一个团队学习提升的机会。在我的以前的工作,有过很少的几次技术难题出现过同一组的团队一起来讨论解决,这让我印象很深刻。但在绝大多数,工作中出现问题时先去咨询上级领导,解决不了再拉其他人员讨论,一层层拉人直到最终有人拍板或者解决。如果有人主动解决了某个问题,以后类似的问题往往会直接让他解决或者找他咨询。整个过程只有一个或者几个人学到了某些知识,绝大部分人只是知道有这个问题,连谁解决、怎么解决的都不一定知道,更不要说学到什么了。
除“安灯绳”机制外,站在下游的角度去优化自己的工作也很重要,一是让每个角色意识到自己工作的价值;二是让上下游充分沟通去优化各自的工作,而不是在出现问题时相互指责。这样价值流的最下游也能将用户的反馈带给上游,从而帮助团队更好的优化流程与工作。
3. 持续改进
持续改进,很简单但是最重要!按照熵增定律,随着时间发展,就算不改变现状,流程也会随着时间变得混乱。我们在日常工作中其实都在无意识地去改进自己的工作,但是个体的改进存在随机性,对最终结果的影响是有限的,我们要从整个价值流的角度去进行优化,这也是团队领导者非常重要的工作。
学习型组织的特质之一就是持续学习,对现有工作进行优化,领导者需要为团队创建学习的文化和氛围。为团队创建这种文化和氛围其实是有代价的,也很困难,我作为一个过来人深有体会。在实际工作中你面对的人员素质参差不齐,价值观也难以对齐。有时间你花费了大量精力所创建起来的氛围,说不定由于领导的一个命令或者公司的一个决定就瞬间瓦解白费。我认为在高素质、小规模的团队里创建这种文化相对容易,这也是很多小规模创业公司能够成功的重要因素。
结语
除“三原则框架”外,书中的核心知识还有很多值得其他借鉴的地方,本次只对 DevOps 最核心的三大原则进行了总结,书中还对三大步骤中的具体落地方式进行了描述,并举了很多例子。以后有机会再结合我个人的实践再对如何落地进行总结。