<p>I think that chaos testing will promote DevOps unless people have been informed in advance and proper alert management has been enabled. If people do not get triggered then this will not work.</p>

CC BY-SA 4.0
2019-01-27T17:45:50.493Z
2019-01-27T17:45:50.493Z
030
<p>Back in the day <a href="https://devops.stackexchange.com/q/191/210">this Q&amp;A</a> was created.</p>

<p>ChaosMonkey is a tool that is able to stop random services on a platform in a certain time period. The goal of this is to get a stable platform that is fault tolerant. If this happens during the day when most of the Engineers are working, they get proactive and the infrastructure will be hardened.</p>

<p>At the moment, more and more services are created in AWS, GCP and Azure. The services on these platforms are getting more and more critical. Now it is time to onboard more and more engineers. Especially most of the developers are still silo minded, i.e. some of them only want to develop, but this is shifting drop by drop.</p>

<p>According to <a href="https://en.wikipedia.org/wiki/Chaos_Monkey" rel="nofollow noreferrer">Wikipedia</a>, ChaosMonkey was invented at Netflix and additional resilience tools were created as well:</p>

<pre><code>| Purpose                                        | Tool              |
|:----------------------------------------------:|:-----------------:|
| Stops random services in production randomly   | Chaos Monkey      |
| Drop an availability zone, e.g. in AWS         | Chaos Gorilla     |
| Communication delays                           | Latency Monkey    |
| Fix unhealthy services                         | Doctor Monkey     |
| Dispose unused resources                       | Janitor Monkey    |
| Detect nonconforming instance and notify owner | Conformity Monkey |
| Disable instances that are vulnerable          | Security Monkey   |
| Detect problems between 10-18                  | 10-18 Monkey      |
</code></pre>

<p>Based on this table one could also achieve also the same purpose by start to write some shell scripts that stop random services for example.</p>

<p>Based on the information that was read, the definition of resilience-testing is basically testing if an app and underlying infrastructure is error prone in production.</p>

<p>This is also confirmed by <a href="https://usersnap.com/blog/resilience-testing/" rel="nofollow noreferrer">this blog post</a> that refers to how resilience testing is done at AWS, but also describes IBMs view on this type of testing. According to IBM there are two parts that have to be taken into account, i.e. problem impact and service level. In an ideal world the customer will not notice any downtime at all, but if a machine dies (minutes) or a complete data center (hours) then the customer could experience downtime. The most important thing to be transparently as possible to the customer and to minimize impact.</p>

<p>Currently, resilience-testing is not used in the company, but the more is read about it, it becomes interesting. Especially as it is also aligned with DevOps and the company tries to make Engineers DevOps minded. It looks like that resilience-testing promotes a DevOps mindset.</p>

<p><strong>Resilience testing is DevOps related</strong></p>

<p>Some people could argue that testing is not part of DevOps, but according to <a href="https://en.wikipedia.org/wiki/Chaos_Monkey" rel="nofollow noreferrer">Wikipedia</a>, tools like ChaosMonkey are aligned with the DevOps toolchain.</p>

CC BY-SA 3.0
2018-04-27T08:38:27.030Z
You seem to be answering yourself here.. I fail to see what you're asking about out of the question title, and the rest of the question seems to self answer
Tensibai
CC BY-SA 3.0
2018-04-27T08:43:27.113Z
@Tensibai The more I think about it. I basically would like to know how other users implemented resilience testing and what the effects are since they have implemented. On one hand I think it is an opinionated question, but on the other hand it could provide new insights. Will it be fine to ask this? If not, what could be done to change this question a bit so that it is acceptable to ask?
030
CC BY-SA 3.0
2018-04-27T09:18:37.050Z
Well, you may add this in the question itself, actually out of the title there's no question at all. I don't find it that much opinion based, but maybe it will turn into a poll list. I don't have a strong opinion for or against this question ATEOTD
Tensibai
CC BY-SA 3.0
2018-04-27T09:24:27.607Z
@Tensibai Thank you for the feedback. I have changed the title.
030
<resilience-testing>
Apply resilience-testing in a company (to promote DevOps)? If true, why, how and what effect does it have on the Engineers? If false, why not?
030
# Apply resilience-testing in a company (to promote DevOps)? If true, why, how and what effect does it have on the Engineers? If false, why not?

(Asked by: username_0 on 2018-04-27)

Back in the day this Q&A was created.
ChaosMonkey is a tool that is able to stop random services on a platform in a certain time period. The goal of this is to get a stable platform that is fault tolerant. If this happens during the day when most of the Engineers are working, they get proactive and the infrastructure will be hardened.
At the moment, more and more services are created in AWS, GCP and Azure. The services on these platforms are getting more and more critical. Now it is time to onboard more and more engineers. Especially most of the developers are still silo minded, i.e. some of them only want to develop, but this is shifting drop by drop.
According to Wikipedia, ChaosMonkey was invented at Netflix and additional resilience tools were created as well:
| Purpose                                        | Tool              |
|:----------------------------------------------:|:-----------------:|
| Stops random services in production randomly   | Chaos Monkey      |
| Drop an availability zone, e.g. in AWS         | Chaos Gorilla     |
| Communication delays                           | Latency Monkey    |
| Fix unhealthy services                         | Doctor Monkey     |
| Dispose unused resources                       | Janitor Monkey    |
| Detect nonconforming instance and notify owner | Conformity Monkey |
| Disable instances that are vulnerable          | Security Monkey   |
| Detect problems between 10-18                  | 10-18 Monkey      |

Based on this table one could also achieve also the same purpose by start to write some shell scripts that stop random services for example.
Based on the information that was read, the definition of resilience-testing is basically testing if an app and underlying infrastructure is error prone in production.
This is also confirmed by this blog post that refers to how resilience testing is done at AWS, but also describes IBMs view on this type of testing. According to IBM there are two parts that have to be taken into account, i.e. problem impact and service level. In an ideal world the customer will not notice any downtime at all, but if a machine dies (minutes) or a complete data center (hours) then the customer could experience downtime. The most important thing to be transparently as possible to the customer and to minimize impact.
Currently, resilience-testing is not used in the company, but the more is read about it, it becomes interesting. Especially as it is also aligned with DevOps and the company tries to make Engineers DevOps minded. It looks like that resilience-testing promotes a DevOps mindset.
Resilience testing is DevOps related
Some people could argue that testing is not part of DevOps, but according to Wikipedia, tools like ChaosMonkey are aligned with the DevOps toolchain.

**Tags:** resilience-testing

> **Comments:**
> **username_1**: You seem to be answering yourself here.. I fail to see what you're asking about out of the question title, and the rest of the question seems to self answer  
> **username_0**: @username_1 The more I think about it. I basically would like to know how other users implemented resilience testing and what the effects are since they have implemented. On one hand I think it is an opinionated question, but on the other hand it could provide new insights. Will it be fine to ask this? If not, what could be done to change this question a bit so that it is acceptable to ask?  
> **username_1**: Well, you may add this in the question itself, actually out of the title there's no question at all. I don't find it that much opinion based, but maybe it will turn into a poll list. I don't have a strong opinion for or against this question ATEOTD  
> **username_0**: @username_1 Thank you for the feedback. I have changed the title.  

---

## 1 answers

### Answer by username_0 on 2019-01-27. Score: 0 | Accepted answer

I think that chaos testing will promote DevOps unless people have been informed in advance and proper alert management has been enabled. If people do not get triggered then this will not work.


---

