【问题标题】:How might Chaos Engineering look as part of a pipeline?混沌工程如何成为管道的一部分?
【发布时间】:2017-10-03 09:28:47
【问题描述】:

Chaos engineering 实践正变得非常广泛使用。一个常见的例子是 Netflix 自己的Chaos Monkey。但是,Chaos Monkey 经常针对随机目标临时运行。我很好奇混沌实验如何在典型的CI/CD pipeline 中发挥作用,以增强特定服务的弹性。

  • 由于混沌实验(通常)需要一个功能齐全的环境,它们何时运行?它会与测试并行运行,还是在下游运行?
  • 您会在每次提交时进行混沌实验,还是只进行一些?
  • 混沌实验可以运行多长时间?例如,60 分钟的 CPU 峰值可能会干扰“快速故障”方法。
  • 混沌实验会导致管道失败吗?什么会构成“失败”?

【问题讨论】:

    标签: continuous-integration pipeline chaos


    【解决方案1】:

    我们的混沌工程工作才刚刚开始,但我会就您的问题提出一些想法。

    至少有三类不同的实验:

    • 我们期望底层基础架构自动处理的实例/容器终止。
    • 更高级别但相当局部的故障,例如缓慢或不可用的依赖项。
    • 数据中心或区域停机等大规模故障。

    对于构建管道,最佳位置将在中间(即更高级别但本地化的故障),因为通常软件本身在响应故障方面发挥作用。例如,该软件可能包括一个断路器,它会跳闸、节流、自动故障转移等。如果这些是软件功能,那么它们可以工作也可以不工作,构建应该发现这一点。

    就故障恢复能力是系统要求而言,是的,失败的实验会使管道失败。例如,假设 build 392 有一个正常工作的断路器,而 build 393 没有。这将是一个失败,因为构建从满足要求变为不满足要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-09
      • 2020-12-12
      • 2020-01-30
      • 2020-02-23
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多