devops 应用

对于大多数组织而言,采用DevOps需要转变观念。 除非您了解DevOps的核心,否则您可能会认为这是在大肆宣传,或者只是另一个流行语。更糟糕的是,您可能会因为使用了正确的工具而认为已经采用了DevOps。

让我们更深入地了解DevOps的含义,并探索如何在组织中应用系统思维。

系统在想什么?

系统思考是解决问题的整体方法。 与分析性思维相反,后者将问题与“全局”分开以更好地理解它。 相反,系统思维研究问题的所有要素以及这些要素之间的相互作用。

大多数人不习惯这样思考。 从小开始,我们大多数人都是由不同的老师分别教授数学,科学和其他所有学科的。 从学校到大学再到工作场所,这种学习方法贯穿了我们的一生。 当我们第一次加入组织时,通常只在一个部门工作。

不幸的是,世界并不是那么简单。 复杂性,不可预测性以及有时会出现混乱是不可避免的,需要更广泛的思维方式。 系统思考可以帮助我们理解我们所隶属的系统,从而使我们能够管理它们而不是由它们来控制。

根据系统思维,一切都是系统:您的身体,家庭,邻里,城市,公司,甚至您所属的社区。 这些系统有机地演化。 他们还活着,充满活力。 您越了解系统的行为,就可以更好地管理和利用它。 您成为他们的变革推动者,并对他们负责。

系统思考与DevOps

所有系统都包含DevOps通过其实践和工具解决的属性。 了解这些属性有助于我们正确地适应DevOps。 让我们看一下系统的属性以及DevOps与每个系统之间的关系。

系统如何运作

下图表示一个系统。 为了达到目标,系统需要输入,该输入将被处理并生成输出。 反馈对于使系统朝目标迈进至关重要。 没有目的,系统就会死掉。

如果组织是系统,则其部门是子系统。 工作流程遍及每个部门,从确定市场需求(左边的第一个输入)开始,然后发布满足需求的解决方案(右边的最后一个输出)。 每个部门生成的输出用作链中下一个部门的必需输入。

组织拥有的专业团队越​​多,部门之间的交接越多。 为客户创造价值的过程更容易产生瓶颈,因此花更长的时间交付价值。 同样,当团队之间通过工作时,目标与所做工作之间的差距也会扩大。

DevOps旨在优化整个组织的工作流程,以更快地为客户提供价值-换句话说,DevOps缩短了上市时间。 这部分是通过最大程度地提高自动化程度来完成的,但主要是针对组织的目标。 这样可以确定优先级,并减少重复的工作以及交付过程中发生的其他效率低下的情况。

系统恶化

所有系统都受熵的影响。 没有什么可以防止系统降级。 那是不可逆的。 下降趋势表明了系统的故障性质。 而且,系统会受到各种威胁,而故障只是时间问题。

为了减轻熵,系统需要不断的维护和改进。 仅当采取新的动作或更改输入时,才能延迟熵的影响。

这种恶化及其相反的作用力,生存模式可以在生物体,社会关系,其他系统以及组织中观察到。 实际上,如果组织没有发展,那么熵肯定会增加。

DevOps试图通过促进持续学习和改进来打破组织内的熵过程。 使用DevOps,组织可以容错,因为它可以识别失败的必然性。 DevOps支持一种无责的文化,该文化提供了从失败中学习的机会。 事后剖析是包含固有故障的组织使用的DevOps实践的示例。

故意包含故障的想法听起来似乎违反直觉,但这恰恰是在诸如Chaos Monkey之类的技术中发生的事情:故意引入故障是为了提高系统的可用性和可靠性。 DevOps建议以可控的方式向系统施加压力并不是一件坏事。 就像通过锻炼变得更强壮的肌肉一样,该系统将从挑战中受益。

系统复杂度

下图显示了系统的复杂程度。 在大多数情况下,一种影响可以有多种原因,而一种原因则可以产生多种影响。 系统具有的元素和交互越多,则系统越复杂。

在这种情况下,我们无法立即确定发生特定事件的原因。 同样,我们无法100%地确定如果采取特定措施会发生什么情况。 我们不断地进行假设并处理假设。

系统的复杂性可以用科学的方法来解释。 例如,在最近的一项研究中,喂食过量盐的小鼠显示出受抑制的脑血流。 如果说,给小鼠喂糖和盐,则同一实验将有不同的结果。 一个变量可以从根本上改变复杂系统中的结果。

DevOps通过鼓励实验(例如,使用科学方法)并减少反馈周期来处理复杂性。 可以更快速地测试和验证插入到系统中的较小更改。 使用“ 快速失败 ”方法,组织可以Swift进行调整并实现弹性。 快速响应变化使组织更具适应性。

DevOps还旨在通过使交付价值的过程更加有形来最大程度地减少猜测和最大化理解。 通过衡量流程,揭示缺陷和优势并进行尽可能多的监控,DevOps可以帮助组织发现他们需要进行的更改。

系统限制

所有系统都有限制其性能的约束。 系统的整体容量受到其限制的限制。 我们大多数人都从经验中了解到,满负荷运行时间过长的系统可能会崩溃,并且大多数系统在有些松弛的情况下都可以更好地运行。 忽略限制会使系统处于危险之中。 例如,当我们长时间承受过多压力时,我们会生病。 同样,过度使用的汽车发动机也可能受到损坏。

该原则也适用于组织。 不幸的是,组织不能一次将所有内容都放入系统中。 尽管这种限制有时可能会导致挫败感,但是当减少投入时,工作质量通常会提高。

考虑一下当巴西圣保罗的主要道路限速从90 km / h降至70 km / h时发生的情况。 研究表明,事故数量减少了38.5%,平均速度提高了8.7%。 换句话说,整个道路系统得到了改善,更多的车辆安全地到达了目的地。

对于组织,DevOps建议进行全局而非局部改进。 约束后是否进行任何改进都没有关系,因为对系统完全没有影响。 例如,DevOps解决的一个限制是对专业团队的依赖。 DevOps为组织带来了更具协作性的文化,知识共享和跨职能团队。

结论

在采用DevOps之前,请了解涉及的内容以及如何将其应用于组织。 系统思考将帮助您实现这一目标,同时也为新的可能性打开思路。 DevOps在当今可能被视为一种流行趋势,但是在10或20年后,它将保持现状。

翻译自: https://opensource.com/article/18/3/how-apply-systems-thinking-devops

devops 应用

devops 应用_如何在DevOps中应用系统思考相关推荐

  1. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

  2. 在excel日期比对大小_如何在Excel中防止分组日期

    在excel日期比对大小 As a teenager, group dates can be fun. If you have strict parents, that might be the on ...

  3. 表格在整个html居中显示,html 表格字符居中显示_如何在HTML中居中显示表格?

    html 表格字符居中显示_如何在HTML中居中显示表格? html 表格字符居中显示_如何在HTML中居中显示表格? html 表格字符居中显示 HTML table provides the ab ...

  4. ubuntu合并终端_如何在Ubuntu中安装多个终端以及更改默认终端

    终端是任何Linux系统的关键部分.它允许您通过shell访问Linux系统.虽说现在的Linux发行版,比如Ubuntu,CentOS等已经基本上可以采用GUI来完成绝大部分一般性的任务.但是,终端 ...

  5. bcb 如何在DLL中捕捉系统级异常

    bcb 如何在DLL中捕捉系统级异常 http://topic.csdn.net/t/20031023/09/2385627.html -------------------------------- ...

  6. java 正则表达式 开头_如何在Java中修复表达式的非法开头

    java 正则表达式 开头 您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误. 这是一个动态错误,这意味着编译器会发现某些不符合Jav ...

  7. python 线性回归模型_如何在Python中建立和训练线性和逻辑回归ML模型

    python 线性回归模型 Linear regression and logistic regression are two of the most popular machine learning ...

  8. devops 文化_需要建立DevOps文化

    devops 文化 DevOps是从根本上改变IT组织中的文化吗? 这个看似简单的问题有时会引起激烈的争论,即使深入探讨细节,也更像是关于如何思考转型的辩论,而不是关于最终状态的辩论. 备份一分钟-您 ...

  9. 合并的表格怎么加横线_如何在excel中文字后面加横线

    如何在excel中文字后面加横线以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何在excel中文字后面加横线 好办啊 ...

最新文章

  1. 应用案例 | Blink 有何特别之处?菜鸟供应链场景最佳实践
  2. 《虚拟化与云计算》推荐序二
  3. python小实验(1):字符串处理
  4. 【自动驾驶】15.一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换)
  5. 日常生活小技巧 -- word中插入visio和视频
  6. vue-cli 新建模板项目---vue-cli
  7. Codeforces Round #674 (Div. 3) F. Number of Subsequences 简单计数dp
  8. 程序员被沦陷!国内程序员真的饱和了?
  9. ubuntu 操作记录
  10. @程序员,让8年京东架构师为你解析云原生监控和日志解决方案!
  11. 简书粉丝列表老bug
  12. Access中的模糊查询
  13. 【电源】开关电源、线性稳压电源
  14. 生成工资条 恢复工资表 宏 巨集 vba
  15. 【AI视野·今日NLP 自然语言处理论文速览 第十七期】Thu, 1 Jul 2021
  16. 100+精选技术干货合辑(持续更新中)
  17. 轻松摆好人像摄影姿势
  18. English Reading - Thai cave rescue boys relive 'moment of miracle'
  19. 美团云深度学习平台-快速开始
  20. ConcurrentLinkedQueue 源码解析(JDK8)

热门文章

  1. SpringSecurity + JWT实现单点登录
  2. wkhtmltopdf的介绍与使用
  3. 使用javascript来实现最原始的ajax操作
  4. Rust LeetCode 练习:929 Unique Email Addresses
  5. Java SAO操作-使用lambda代替字符串
  6. 【Scheme归纳】5 数据结构
  7. Java笔记9:构造方法,内部类
  8. 【5岁小孩对唱情歌 超萌超可爱】
  9. insertAdjacentHTML方法:在指定的地方插入html标签语句
  10. 记录一次java.lang.ClassCastException的java类型转换异常解决方案-附最终解决方案