DevOps基础-1.3-DevOps的原则:三大方法

释放双眼,带上耳机,听听看~!

 我们继续学习DevOps课程,这篇我们来讨论下原则,这些原则能够指导你如何获取核心DevOps的价值和在实际工作中实现DevOps。最受遵循的原理是:The Three Ways。这个模型是由Gene Kim和Mike Orzen提出来的,Gene Kim是"Visible Ops" and "The Phoenix Project"的作者,Mike Orzen是"Lean IT"的作者。他们提出的三种方式(方法)主要包括这些内容:系统思考,加大反馈循环,不断实验和学习的文化。以下是三种方式的图解。

 

1.第一种方法

    在第一种方法中,系统思考。主要告诉我们,在价值链中应该聚焦在整个Pipeline管道的整体输出上面。而我们很容易犯这样的错误,为了优化价值链中一部分,却以牺牲整体结果为代价。当你尝试在一个程序中优化性能,例如,在某一部分增加性能或者系统资源会导致性能瓶颈转移到其他意外的某处。增加更多程序服务器,可能会造成连接数据库的链路压力变大,从而导致数据库服务崩溃而宕机。

     所以,你应该从整体系统角度去优化问题,同样的原理也适合在IT组织中运用。部署团队(运维)会通过建立相关流程机制,使他们自己工作顺利执行,他们的生产力数据看起来很好。但是,这些相同的变化,可能会损害开发过程和降低软件交付能力。这种整体流程,通常被叫做“from concept to cash”(从概念到现金)。如果不同开发在世界不同办公地点,开发完成的软件,但是却不能以可以使用的方式交付给用户,那么这很失败。Ps:我个人来解释下什么是from concept to cash,这句话来自一本美国的软件开发原则指导一本书名。意思就是,开发公司需要,在客户提出概念(理解成需求)的短时间内,就完成软件开发,交付给客户,让客户没有时间去提出需求变更,立马拿到软件开发签订的合同约定的金钱。

      开发和运维最大的分歧就是遵守“from concept to cash”流程发生错误。在定义成功指标和评估变更结果是,建议以系统思考为指导。PS:个人对第一种方式的理解,就是我们看到的软件开发过程,开发负责开发,完成开发就交付给运维去部署上线,就是这么一个简单的流水线的模型。

 

2.第二种方法

      第二种方法,是一个反馈的闭环。就是在组织的各个部分之间创建,缩短和放大反馈循环。反馈循环这个术语最初来源工程控制系统。短期,高效的反馈循环是高效的产品研发,软件开发和运维的钥匙。用一个简单的bug来描述,如果这个bug是开发人员在把代码提交到控制系统之前发现,而不是通过测试人员发现的。这样的话,修改和修复问题的时间就节约了很多时间。如果这个bug是被QA人员发现的,而且被放在bug系统中跟踪,提交了bug给指给开发去修复。虽然这样bug最终还是修复了,但是过去了很长时间,即浪费了很多时间。如果这个bug在软件发布之后被用户发现,直接影响终端用户,然后客户反馈到公司,然后反馈到开发人员手中,开发人员去修复bug,这样会浪费更长时间,这样浪费了时间也相应消耗了更多金钱。

      有效的反馈是驱动改善旨在改进系统控制回路的最大动力。在创建多团队流程,可视化指标和设计交付流程时,使用加大反馈循环可以很好帮助我们。第二种方式是开发到运维的形成了闭环,这种闭环要比第一种要高效很多。Bug举例修复时间和进去角度就是为了描述开发和运维形成闭环的好处。打通了开发和运维之间那堵墙和减少了很多分歧,使整个软件开发到部署线上的流程大大缩短。当然这里,提醒一下,流程里面当然不能少了测试团队参与。

 

3.第三种方法

      第三种方法,就是要创建一种既能保持不断实验和学习的工作文化。你和你的团队应该乐于学习新鲜事物,最好是去尝试使用它们,而不是陷于不断分析的死循环中。但不仅仅是要学习新事物,还需要你把自己工作中掌握的技能和工具结合实践,整合,不断实践。

      这里重点就是做,通过不断重复练习来掌握你需要的技能。你发现了新技术,需要去学习并尝试用新技术。你可能听说过其他技术员工说过的话,“Working code wins”(代码赢得工作),“If it hurts, do it more”(如果失败了,需要做更多尝试)。这些都是描述这种文化,那就是用实践去代替说说而已。在创建团队流程和标准,或者领导能力的一部分方面,都可以使用第三种方式:不断实验和学习。

     鼓励分享和尝试新想法。本质上,工程师是发现问题并解决问题,并且这可能会成为对新鲜事物的否定和不敢尝试新鲜技术。在通往卓越的道路上,承认并战胜这些诱惑。没有任何技术,那么是Docker容器技术和亚马逊云相关智能技术是你解决问题的灵丹妙药。

     你如何去使用它们是最重要的。当你打算继续你的DevOps之旅,最重要的是你要明白那些已有的实践和工具是如何解决你的实际问题。这三种方法,提供了一个使用的架构帮你获取核心的DevOps价值并运用在实际工作中。随着你在DevOps中不断进展,始终要以系统、全局思考问题。

给TA打赏
共{{data.count}}人
人已打赏
安全运维

故障复盘的简洁框架-黄金三问

2021-9-30 19:18:23

安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索