While being funny, it also holds a lot of truth. I guess that Netflix can hire really top-notch devs who do not accidentally force downtime to their software.
While being funny, it also holds a lot of truth. I guess that Netflix can hire really top-notch devs who do not accidentally force downtime to their software.
Chaos Monkey helps ensure that you are resilient to single instance failure. Kong helps ensure that we are resilient to region failure.
Most of the developer-induced pain (which is most frequent source of pain) happens at the service level -- a bad code push that somehow made it through canary, accidentally doing something you shouldn't, misconfiguring something, etc. For tolerating service-level failures, we use different tools that minimize the fallout of the failure injection. Specifically, FIT (and the soon to be revealed ChAP.) These tools allow us to be more surgical in our injection of failure and tie that into our telemetry solutions.
We only inject failures we expect to be resilient to. Sadly, that is a subset of the failures that people cause ;)
I wouldn't trust developers to do what Chaos Monkey does at such a scale, no matter how good you think they are.
I have had issues killing errant JVMs and Rackspace nodes (yes sadly we are still on Rackspace).
I can understand why 2.0 is much more focused given the plethora of monitoring solutions.
The bigger your application stack is (micro-services, API calls, network calls), the more failure you would need to test out and there's no way to "trust" developers to do it themselves.
Also, Netflix hires a lot of top-notch developers and their infrastructure is pretty awesome.
[I don't work @ Netflix, just a devops dude :)]
Their developers can still make the same mistakes that we do, but their architecture is better designed to handle that. Just a thought.