DevOps模式: 定义你的DevOps-程序员宅基地

遗憾的是,很少有人真的关心 “DevOps 是什么”,当然其实也不重要。比 DevOps 是什么来说,更重要的是 “DevOps 能做�什么”。据 John Willis 的说法,DevOps 运动的发起人 Patrick Debois 一直拒绝给 DevOps 下定义是一件了不起的事情。 Patrick Debois 他不希望把 DevOps 据为己有。DevOps 应该属于社区,属于每一个愿意投身于 DevOps 目标的个人和组织。

由于第一届 DevOpsDays 奠定 DevOps 的基础。组织者 Patrick Debois 作为第一个"官方" DevOps 发言人。第一届 DevOps 的产出内容给未来的 DevOps 发展方向上起到决定性作用。因此,DevOps 模式中的 DevOps 的相关定义均参考Patrick Debios 的博客。

然而,在我过去经历的不同的 DevOps 转型/改进项目中的经历来看。不同的组织,不同的部门,甚至是同一个部门的人,大家对 DevOps 的理解并不一致。这对 DevOps 长时间在组织内发挥改进作用是不利的。

模式:定义你的 DevOps (Define Your DevOps)

模式名称:定义你的 DevOps (Define Your DevOps)

模式别名:定制化 DevOps 定义 (Customize DevOps Definition)

模式类别: 策略模式

风险: 中 - 采用的时候要注意场景和条件,否则会出现反模式。

价值:中 - 采用该模式产生中期固定的收益,但要持续做才可以获得收益。

见效时间:快 - 2 周内可看到显著改进。

说明:

根据组织的需要,在基于对 DevOps 历史和实践的理解上建立对组织发展有益的 DevOps 的定义。DevOps 的定义包括 DevOps 的组织改进范围,DevOps 的度量,DevOps 的实践。在采用 DevOps 实践的过程中,要先取得 DevOps 共识并基于共识采取 DevOps 度量。否则无法确定 DevOps 带来的改进。

此外,DevOps 的定义会随着组织在的不同阶段而变化。要定期重新定义当前阶段的DevOps 目标,否则会导致"DevOps教条主义" 反模式和" DevOps 复制者"反模式。

DevOps 的定义要在实施 DevOps 的组织内达成共识。否则会陷入"片面的 DevOps" 反模式。

相关模式:DevOps 共识,DevOps 范围,建立 DevOps 度量,短期 DevOps 提升

相关反模式: DevOps 教条主义,DevOps 复制者,片面的 DevOps

相关引用:

https://en.wikipedia.org/wiki/DevOps

https://youtu.be/o7-IuYS0iSE

http://www.jedi.be/blog/2009/12/22/charting-out-devops-ideas/

http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices/

反模式:DevOps 教条主义 ( DevOps Dogmatism )

如果不定义适合自己的 DevOps,或者对 DevOps 理解太单一。会导致"DevOps 教条主义"和"DevOps模仿者"反模式。

反模式名称:DevOps 教条主义(DevOps Dogmatism)

反模式类别: 策略反模式

不良后果: 无法达到 DevOps 改进预期的效果

常见原因:

  1. 认为 DevOps 是静态,完整的理论体系。
  2. 认为体系化的 DevOps 资料,例如:文献、书籍可以覆盖所有 DevOps 内容。

说明:

DevOps 的目标是"通过一系列行之有效的管理实践和技术实践,以消除软件全生命周期的中的浪费,提升软件及其过程的质量、效率和反馈频率。从而使组织能够更好的适应外部的变化。"

在此基础上,DevOps 相关的实践和模式是不断随着组织上下文和技术上下文的发展而发展的。

注意,DevOps 教条主义的表现形式是 DevOps 复制者反模式。但 DevOps 复制者反模式并不一定会导致 "DevOps 教条主义"反模式。DevOps 教条主义的关键在于 DevOps 的实践是不继续发展的。而 DevOps 复制的关键在于 DevOps 不需要进行定制。

修正模式:定义你的 DevOps,DevOps 度量

相关反模式:DevOps 复制者

相关引用:

http://www.jedi.be/blog/2012/05/12/codifying-devops-area-practices

反模式:DevOps 复制者 (DevOps Copycats)

反模式名称:DevOps 复制者 (DevOps Copycats)

反模式别名:无

反模式类别: 策略反模式

不良后果: 完全复制别人的 DevOps 实践做法,而不进行分析和定制化。导致无法达到 DevOps 转型或者改进的效果。

常见原因:

  1. 简单的复制成功企业的经验,而没有分析成功的上下文。
  2. 成功的案例很少会展示失败的部分。
  3. 没有度量机制进行改进。

说明:

在同一行业内发现成功案例会很容易错误的以为案例可以复制。缺乏对案例成功的上下文分析会导致同样的实践产生了不同的效果。因此,有必要分析自身的上下文和成功案例上下文的区别,或者进行试点以总结经验。以便更好的定制化 DevOps 实践。任何外部的实践都只具备参考意义。

对外部案例的尝试不算是 DevOps 复制者。DevOps 复制者的关键在于尝试后没有进行回顾复盘并不进行改变。

注意,DevOps 教条主义的表现形式是 DevOps 复制者反模式。但 DevOps 复制者反模式并不一定会导致 "DevOps 教条主义"反模式。DevOps 教条主义的关键在于 DevOps 的实践是不继续发展的。而 DevOps 复制的关键在于 DevOps 不需要进行定制。

修正模式:定义你的 DevOps,DevOps 度量

相关模式:和该模式相关的其它模式,其它模式也会导致同样的反模式。

相关反模式:DevOps 教条主义

相关引用:相关资料的引用。

关于 DevOps 模式

DevOps 模式的索引在 Github 上开源,地址是 https://github.com/wizardbyron/devops_patterns 欢迎通过 issue 和pull request 提交你的建议。

你可以通过关注我的公众号了解 DevOps 模式和反模式,也可以加入我的付费知识星球“DevOps 模式” 和所有 DevOps 的实践者共同交流,我将在知识星球中定期回答那些最受关注的问题。

274927-bf46a7dad03b0999.jpg
付费知识星球

关于我

我是顾宇,是一名在埃森哲工作的职业咨询师。我目前专注于产品服务设计、敏捷软件开发、DevOps 、云计算以及应用架构领域的技术和实践落地。热爱阅读、写作、旅行和健身。具有强大的好奇心的经济学和脑科学爱好者,喜欢结交不同领域的朋友,一起体验并分享世界上未知的美好。

欢迎关注我的公众号:顾宇的研习笔记

274927-bdba2dc670dcf0b7.jpg
我的公众号
274927-aae7578c2529db14.png
知识共享署名-禁止演绎 4.0 国际许可协议

本作品采用知识共享署名-禁止演绎 4.0 国际许可协议进行许可

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/byronm/article/details/90585483

智能推荐

Docker 快速上手学习入门教程_docker菜鸟教程-程序员宅基地

文章浏览阅读2.5w次,点赞6次,收藏50次。官方解释是,docker 容器是机器上的沙盒进程,它与主机上的所有其他进程隔离。所以容器只是操作系统中被隔离开来的一个进程,所谓的容器化,其实也只是对操作系统进行欺骗的一种语法糖。_docker菜鸟教程

电脑技巧:Windows系统原版纯净软件必备的两个网站_msdn我告诉你-程序员宅基地

文章浏览阅读5.7k次,点赞3次,收藏14次。该如何避免的,今天小编给大家推荐两个下载Windows系统官方软件的资源网站,可以杜绝软件捆绑等行为。该站提供了丰富的Windows官方技术资源,比较重要的有MSDN技术资源文档库、官方工具和资源、应用程序、开发人员工具(Visual Studio 、SQLServer等等)、系统镜像、设计人员工具等。总的来说,这两个都是非常优秀的Windows系统镜像资源站,提供了丰富的Windows系统镜像资源,并且保证了资源的纯净和安全性,有需要的朋友可以去了解一下。这个非常实用的资源网站的创建者是国内的一个网友。_msdn我告诉你

vue2封装对话框el-dialog组件_<el-dialog 封装成组件 vue2-程序员宅基地

文章浏览阅读1.2k次。vue2封装对话框el-dialog组件_

MFC 文本框换行_c++ mfc同一框内输入二行怎么换行-程序员宅基地

文章浏览阅读4.7k次,点赞5次,收藏6次。MFC 文本框换行 标签: it mfc 文本框1.将Multiline属性设置为True2.换行是使用"\r\n" (宽字符串为L"\r\n")3.如果需要编辑并且按Enter键换行,还要将 Want Return 设置为 True4.如果需要垂直滚动条的话将Vertical Scroll属性设置为True,需要水平滚动条的话将Horizontal Scroll属性设_c++ mfc同一框内输入二行怎么换行

redis-desktop-manager无法连接redis-server的解决方法_redis-server doesn't support auth command or ismis-程序员宅基地

文章浏览阅读832次。检查Linux是否是否开启所需端口,默认为6379,若未打开,将其开启:以root用户执行iptables -I INPUT -p tcp --dport 6379 -j ACCEPT如果还是未能解决,修改redis.conf,修改主机地址:bind 192.168.85.**;然后使用该配置文件,重新启动Redis服务./redis-server redis.conf..._redis-server doesn't support auth command or ismisconfigured. try

实验四 数据选择器及其应用-程序员宅基地

文章浏览阅读4.9k次。济大数电实验报告_数据选择器及其应用

随便推点

灰色预测模型matlab_MATLAB实战|基于灰色预测河南省社会消费品零售总额预测-程序员宅基地

文章浏览阅读236次。1研究内容消费在生产中占据十分重要的地位,是生产的最终目的和动力,是保持省内经济稳定快速发展的核心要素。预测河南省社会消费品零售总额,是进行宏观经济调控和消费体制改变创新的基础,是河南省内人民对美好的全面和谐社会的追求的要求,保持河南省经济稳定和可持续发展具有重要意义。本文建立灰色预测模型,利用MATLAB软件,预测出2019年~2023年河南省社会消费品零售总额预测值分别为21881...._灰色预测模型用什么软件

log4qt-程序员宅基地

文章浏览阅读1.2k次。12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了一、为啥要使用第三方Log库,而不用平台自带的Log库二、Log4j系列库的功能介绍与基本概念三、Log4Qt库的基本介绍四、将Log4qt组装成为一个单独模块五、使用配置文件的方式配置Log4Qt六、使用代码的方式配置Log4Qt七、在Qt工程中引入Log4Qt库模块的方法八、获取示例中的源代码一、为啥要使用第三方Log库,而不用平台自带的Log库首先要说明的是,在平时开发和调试中开发平台自带的“打印输出”已经足够了。但_log4qt

100种思维模型之全局观思维模型-67_计算机中对于全局观的-程序员宅基地

文章浏览阅读786次。全局观思维模型,一个教我们由点到线,由线到面,再由面到体,不断的放大格局去思考问题的思维模型。_计算机中对于全局观的

线程间控制之CountDownLatch和CyclicBarrier使用介绍_countdownluach于cyclicbarrier的用法-程序员宅基地

文章浏览阅读330次。一、CountDownLatch介绍CountDownLatch采用减法计算;是一个同步辅助工具类和CyclicBarrier类功能类似,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。二、CountDownLatch俩种应用场景: 场景一:所有线程在等待开始信号(startSignal.await()),主流程发出开始信号通知,既执行startSignal.countDown()方法后;所有线程才开始执行;每个线程执行完发出做完信号,既执行do..._countdownluach于cyclicbarrier的用法

自动化监控系统Prometheus&Grafana_-自动化监控系统prometheus&grafana实战-程序员宅基地

文章浏览阅读508次。Prometheus 算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,_-自动化监控系统prometheus&grafana实战

React 组件封装之 Search 搜索_react search-程序员宅基地

文章浏览阅读4.7k次。输入关键字,可以通过键盘的搜索按钮完成搜索功能。_react search