对于大多数组织而言,采用 DevOps 需要思维模式的转变。除非您了解 DevOps 的核心,否则您可能会认为这只是炒作或另一个流行语——或者更糟糕的是,您可能认为您已经采用了 DevOps,因为您正在使用正确的工具。
让我们深入探讨 DevOps 的含义,并探索如何在您的组织中应用系统思考。
什么是系统思考?
系统思考是一种解决问题的整体方法。它与分析性思维相反,后者将问题从“大局”中分离出来,以便更好地理解它。相反,系统思考研究问题的所有要素,以及这些要素之间的相互作用。
大多数人都不习惯这种思维方式。从孩提时代起,我们大多数人就被不同的老师分别教授数学、科学和所有其他科目。这种学习方法贯穿我们的一生,从学校到大学再到工作场所。当我们刚加入一个组织时,我们通常只在一个部门工作。
不幸的是,世界并非如此简单。复杂性、不可预测性,有时甚至是混乱是不可避免的,需要更广阔的思维方式。系统思考帮助我们理解我们所处的系统,这反过来使我们能够管理它们,而不是受它们控制。
根据系统思考,一切都是一个系统:您的身体、您的家庭、您的社区、您的城市、您的公司,甚至您所属的社群。这些系统有机地演变;它们是活的、流动的。您越了解系统的行为,就越能更好地管理和利用它。您成为他们的变革推动者,并对他们负责。
系统思考与 DevOps
所有系统都包含 DevOps 通过其实践和工具来解决的属性。了解这些属性有助于我们正确地适应 DevOps。让我们看看系统的属性以及 DevOps 如何与每个属性相关联。
系统如何运作
下图表示一个系统。为了实现目标,系统需要输入,经过处理后产生输出。反馈对于推动系统朝着目标前进至关重要。没有目标,系统就会消亡。

如果一个组织是一个系统,那么它的部门就是子系统。工作流程贯穿每个部门,从识别市场需求(左侧的第一个输入)开始,到发布满足该需求的解决方案(右侧的最后一个输出)结束。每个部门产生的输出都作为链中下一个部门所需的输入。
一个组织拥有的专业团队越多,部门之间的交接就越多。为客户创造价值的过程越有可能产生瓶颈,因此交付价值所需的时间就越长。此外,当工作在团队之间传递时,目标与已完成工作之间的差距会扩大。
DevOps 旨在优化整个组织的工作流程,以更快地向客户交付价值——换句话说,DevOps 缩短了上市时间。这部分是通过最大化自动化来实现的,但主要是通过针对组织的目标。这增强了优先级排序,并减少了交付过程中发生的重复工作和其他低效率。
系统退化
所有系统都受到熵的影响。没有什么可以阻止系统退化;那是不可逆转的。衰退的趋势显示了系统的失败性质。此外,系统会受到各种类型的威胁,失败只是时间问题。
为了减轻熵,系统需要持续的维护和改进。只有采取新的行动或更改输入时,才能延迟熵的影响。
这种退化模式及其相反的力量——生存,可以在生物体、社会关系和其他系统以及组织中观察到。事实上,如果一个组织不进化,熵肯定会增加。
DevOps 试图通过促进持续学习和改进来打破组织内的熵过程。借助 DevOps,组织变得具有容错能力,因为它认识到失败的必然性。DevOps 实现了无责文化,提供了从失败中学习的机会。事后分析 是组织采用固有失败的一种 DevOps 实践的示例。
有意接受失败的想法听起来可能违反直觉,但这正是 Chaos Monkey 等技术中发生的情况:有意引入失败以提高系统的可用性和可靠性。DevOps 表明,以受控方式对系统施加一些压力并不是一件坏事。就像肌肉可以通过锻炼变得更强壮一样,系统也会从挑战中受益。
系统复杂性
下图显示了系统可能有多复杂。在大多数情况下,一个结果可能有多个原因,一个原因可能产生多个结果。系统拥有的要素和交互越多,系统就越复杂。

在这种情况下,我们无法立即确定特定事件的原因。同样,我们无法 100% 确定如果采取特定行动会发生什么。我们不断地进行假设并处理假设。
系统复杂性可以用科学方法来解释。例如,在最近的一项研究中,喂食过量盐的小鼠表现出脑血流量受到抑制。如果说小鼠被喂食糖和盐,那么同一个实验就会有不同的结果。一个变量可以彻底改变复杂系统中的结果。
DevOps 通过鼓励实验(例如,使用科学方法)和减少反馈周期来处理复杂性。插入系统中的较小更改可以更快地进行测试和验证。通过“快速失败”方法,组织可以快速转型并实现弹性。对变化做出快速反应使组织更具适应性。
DevOps 还旨在通过使交付价值的过程更加有形来最大限度地减少猜测并最大限度地提高理解。通过衡量流程、揭示缺陷和优势以及尽可能多地监控,DevOps 帮助组织发现他们需要做出的改变。
系统局限性
所有系统都有限制其性能的约束;系统的整体容量受到其限制的限制。我们大多数人从经验中了解到,在满负荷下运行时间过长的系统可能会崩溃,并且大多数系统在具有一定松弛度的情况下运行得更好。忽视限制会使系统面临风险。例如,当我们长时间处于过大的压力下时,我们会生病。同样,过度使用的汽车发动机可能会损坏。
这一原则也适用于组织。不幸的是,组织不能一次将所有东西都放入一个系统中。尽管这种限制有时可能会导致挫败感,但当输入减少时,工作质量通常会提高。
想想巴西圣保罗主要道路上的限速从 90 公里/小时降至 70 公里/小时时发生的情况。研究表明,事故数量减少了 38.5%,平均速度提高了 8.7%。换句话说,整个道路系统得到了改善,更多的车辆安全到达了目的地。
对于组织而言,DevOps 建议进行全局而非局部改进。在约束之后进行一些改进并不重要,因为对系统根本没有影响。DevOps 解决的一个约束示例是对专业团队的依赖。DevOps 为组织带来了更协作的文化、知识共享和跨职能团队。
结论
在采用 DevOps 之前,请了解其中涉及的内容以及您希望如何将其应用于您的组织。系统思考将帮助您完成这项工作,同时也能让您对新的可能性敞开心扉。DevOps 今天可能被视为一种流行的趋势,但在 10 年或 20 年后,它将成为常态。
评论已关闭。