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

智能推荐

Spring Cloud(六)配置中心(Spring Cloud Config)_本地运行config-prod.properties-程序员宅基地

文章浏览阅读241次。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config 。Spring Cloud Config就是我们通常意义上的配置中心。Spring Cloud Config-把应用原本放在本地文件的配置抽取出来放在中心服务器,本质是配置信息从本地迁移到云端。..._本地运行config-prod.properties

Linux常见基本指令合集及其效果展示_linux 展示-程序员宅基地

文章浏览阅读268次,点赞2次,收藏6次。首先先问大家一个问题:在磁盘上建一个空文件,这个文件会占据磁盘的储存空间吗?实践出真知,我们发现新建一个文本文档,它的大小是0kB,这时有小伙伴就会认为既然它的大小是0KB,那么它当然也就不会占用磁盘空间咯。然而真的是这样吗?我们打开这个文件的属性来一探究竟:我们发现系统不仅记录了这个空文件的大小,同时还有它的文件名、文件类型、所在位置、创建时间等信息,难道这些信息不要占用系统空间吗,当然要!一个空文件同样会占用系统空间文件 = 文件内容 + 属性路径的本质就是这颗多叉树的搜索路径。_linux 展示

iTOP-3588开发板快速启动手册Windows安装串口终端调试串口常见问题(二)_windows 调试串口-程序员宅基地

文章浏览阅读140次,点赞10次,收藏3次。问题二:非旺玖原装PL2303,请联系供货商或PL2303TA不支持WINDOWS11及后续版本问题。进设备管理器,找到端口COM,有问题会提示“非旺玖原装的PL2303,请联系您的供货商”。更多内容可以B站搜索迅为RK3588开发板;2.4.2 驱动问题。_windows 调试串口

python怎么输出_Python如何输出整数-程序员宅基地

文章浏览阅读7.7k次。Python输出整数的方法:先使用str()函数将数字转换成字符串赋值给变量i,再用“if i.count('.') == 0”语句判断字符串中是否没有小数点,如果是则输出这个字符串,这样输出的数字就都是整数了示例代码如下:x = [23.5, 45.6, 987, 698, 123, 654]for i in x:i = str(i)if i.count('.') == 0:print(I)执行..._python的print整数

js中好用的方法(复制剪贴板、时间转换、大数字单位转换)_js 粘贴板时间-程序员宅基地

文章浏览阅读146次。js中好用的工具方法复制内容到手机剪贴板:/** * 拷贝数据到剪贴板 */ public static CopyToClipBoard(str){ let copyDom = document.createElement("input"); // 获得需要复制的内容 copyDom.setAttribute("value",str); //不需要让他displaynone // copyDom._js 粘贴板时间

FTP上传下载工具类_vsftp下载工具类-程序员宅基地

文章浏览阅读419次。记录一篇将图片等静态资源上传至vsftpd服务器的工具类package com.zhouym.baiwei.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.i..._vsftp下载工具类

随便推点

EDM邮件群发的关键要素?如何高效地发信?-程序员宅基地

文章浏览阅读267次,点赞6次,收藏4次。EDM邮件群发虽然看似简单,但其中蕴含的要素却十分丰富。AokSend,依托强大API/SMTP接口,实现EDM邮件高效群发。精准触达,一键发送,让您的营销信息迅速覆盖目标客户,提升品牌影响力!

对话框未进入PreTranslateMessage函数-程序员宅基地

文章浏览阅读235次。定义了两个对话框CDlgParent和CDlgChild,CDlgChild已设置Child属性,CDlgParent未重定义PreTranslateMessage函数,在CDlgChild的PreTranslateMessage函数中设断点,未运用原因: 对话框均在动态库中定义,且为使用共享MFC DLL的规则DLL,此方式无法响应PreTranslateMessage消息,但应用程序可不使..._mfc pretranslatemessage 不进入

UI自动化测试之5大常见问题(建议收藏)(1),2024年最新从青铜到王者的路线-程序员宅基地

文章浏览阅读722次,点赞10次,收藏19次。1)UFT即原来的QTP与ST合并而来,由HP公司开发,是一个企业级的商业自动化测试工具,提供了强大易用的录制回放功能,同时兼容对象识别模式与图像识别模式,支持B/S和C/S两种架构的软件测试;一款基于python语言编写的自动化测试框架工具,具备良好的扩展性,支持关键字驱动,支持多种类型的客户端和接口,可进行分布式测试;3)Selenium自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

Linux创建操作网桥的两种命令及持久化_bridge命令-程序员宅基地

文章浏览阅读1.4w次,点赞4次,收藏48次。1.基础介绍1.1 简述1.2 网桥配置命令及安装(CentOS系统)2. brctl和bridge命令建桥2.1 brctl命令说明及范式2.2 brctl场景使用2.3 bridge命令及范式3.ip命令建桥3.1 ip命令建桥说明4.桥的持久化1.基础介绍1.1 简述什么是网桥  网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。它是Linux上用来做TCP/IP二层协议交._bridge命令

css3大全-程序员宅基地

文章浏览阅读153次。孔子曰:学而不思则罔,思而不学则殆。废话不多说,直接上。浅谈兼容css相较于js html来说,兼容性问题最不是事,CSS在最初设计时,就有一个协议:如果不能识别选择器属性,那么就默认不处理,不报错。这个也是CSS得以发展的非常重要的特征。下面是各个浏览器私有前缀:IE -ms-Chrome -webkit-Firefox -moz-Safari -webkit-..._css 文字后仰

Linux学习笔记 01 - Linux概况_linux 从哪个版本开始支持lvm-程序员宅基地

文章浏览阅读760次。一、操作系统的发展历程操作系统是用来=控制和管理系统资源、方便用户使用计算机的程序的集合,是人机交互的接口。大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。1. 服务器专用的 UNIX 操作系统UNIX 操作系统与1969年由美国贝尔实验室肯·汤普森(K.Thompson)和丹尼斯·麦卡利斯泰尔·里奇(D.M.Ritchie)开发完成,是真正意义上的多用户多任务操作系统。UNIX的商业版版本主要包括SUN公司(现被Oracle公司收购)的Solaris、IBM_linux 从哪个版本开始支持lvm