News for hackers. Stuff that matters.
Re:Netflix Chaos Monkey Upgraded by yalooze on Wednesday October 19, 2016 @10:44AM (#12744209)
I wonder what the reasoning was for having version 2 only terminate instances (vs burning up CPU, taking disks offline, etc.)? I assume it's something to do with what Chaos Monkey is NOT trying to solve (ie. eating up CPU is caught elsewhere by another system and out of scope for Chaos Monkey now). Just trying to think it through...
Re:Netflix Chaos Monkey Upgraded by aaronblohowiak on Wednesday October 19, 2016 @12:52PM (#12745409)
See my other reply in this thread for our reasoning. https://news.ycombinator.com/item?id=12744567
Re:Netflix Chaos Monkey Upgraded by cortesoft on Wednesday October 19, 2016 @11:03AM (#12744400)
Was wondering the same thing... I know in our environment, unexpected events on a box cause more problems than entire server failures. We design around servers coming in and out; specific processes failing in random ways is harder to design around.
Re:Netflix Chaos Monkey Upgraded by saulrh on Wednesday October 19, 2016 @11:38AM (#12744726)
If you can handle a server failing and you have good reporting, you can handle many of those random issues by simply rebooting the affected server. So I can see them taking out things like "load up the memory" or "load up the CPU". Logic errors (bad RAM, corrupted packets, high packet loss) are another story, but I don't know if V1 did those.
Re:Netflix Chaos Monkey Upgraded by fyshotshot on Wednesday October 19, 2016 @12:23PM (#12745183)
Seems to me those kind of issues would be a good way to test your monitoring. For instance verifying that the appropriate people are notified or automatic action is taken when within a reasonable amount of time after the CPU on the box starts spiking.
Re:Netflix Chaos Monkey Upgraded by drdrey on Wednesday October 19, 2016 @02:18PM (#12746264)
We have another system for outlier detection that can kill instances that start behaving badly in terms of CPU, response time, error rates, etc.

http://techblog.netflix.com/2015/07/tracking-down-villains-o...

Re:Netflix Chaos Monkey Upgraded by jsingleton on Wednesday October 19, 2016 @10:55AM (#12744333)
I would assume that terminating is easy via the AWS API, whereas some of the other things need a process on the instance. You shouldn't really be connecting to boxes directly over SSH if you do DevOps correctly, so maybe they blocked port 22 to enforce this.
Re:Netflix Chaos Monkey Upgraded by benhoyt on Wednesday October 19, 2016 @12:28PM (#12745225)
What do you mean by "do devops correctly" to avoid SSH on boxes? (I'm a developer, not devops.)
Re:Netflix Chaos Monkey Upgraded by devonkim on Wednesday October 19, 2016 @12:38PM (#12745303)
"Devops" has bazillions of meanings, but avoiding (human) ssh to production boxes is a generally sound principle these days because our infrastructures are becoming harder to understand by poking at boxes one or two at a time now even for forensic analysis.
Re:Netflix Chaos Monkey Upgraded by dberg on Wednesday October 19, 2016 @01:06PM (#12745561)
So logging in to a server to check a logfile (assuming i dont or cant do centralized logging) is considered anti-devops ?

Edit: Sorry responded to wrong parent, sigh.

Re:Netflix Chaos Monkey Upgraded by sametmax on Wednesday October 19, 2016 @01:26PM (#12745742)
It's just a matter of scale. If you are at the scale of netflix, vm are probably too complex black boxes, and logs output somewhere else anyway. Plus the problem may involve the interraction of several vm, or the network, or other composants together.
Re:Netflix Chaos Monkey Upgraded by saryant on Wednesday October 19, 2016 @11:52PM (#12749634)
At this scale, you basically have to have centralized logging. When you have thousands of parallel instances of a single application, searching logs box-by-box just isn't practical.

Consider also that if you're elastically scaling EC2 instances and you need logs off an instance that's since been terminated, too late! That disk is gone. So again, you need a central log service.

Re:Netflix Chaos Monkey Upgraded by vacri on Thursday October 20, 2016 @01:12AM (#12749866)
Parsing logs isn't the only way to troubleshoot.
Re:Netflix Chaos Monkey Upgraded by flukus on Thursday October 20, 2016 @01:23AM (#12749901)
It's not even the best way, just sometimes it's the only way.
Re:Netflix Chaos Monkey Upgraded by jaffa214525 on Wednesday October 19, 2016 @12:58PM (#12745476)
Immutable infrastructure [1] is preferred. If SSH is detected, you must assume something on the server changed, and has deviated from the baseline.

[1] https://www.oreilly.com/ideas/an-introduction-to-immutable-i...

Re:Netflix Chaos Monkey Upgraded by RBerenguel on Wednesday October 19, 2016 @12:41PM (#12745326)
If deployment is automated and "clean", images get baked into machines and they just start. For instance, we use Ansible against the machine itself on boot, so we don't really need ssh access to it: everything is automated (but we keep it open to troubleshoot anything that may happen)
Re:Netflix Chaos Monkey Upgraded by moondev on Wednesday October 19, 2016 @11:02AM (#12744392)
Everything goes through Spinnaker now, which in turn supports all clouddriver provides including aws, gcp, azure and kubernetes. Resource limits should be set by instance type. It's more of an application level thing than infrastructure which is what chaos monkey is supposed to simulate
Re:Netflix Chaos Monkey Upgraded by FireBeyond on Wednesday October 19, 2016 @01:41PM (#12745899)
I actually agree with you about immutable infrastructure, as I work at implementing it.

But that's dangerously close to the "One True Way". Which is certainly not the case - so much of this is evolving, and a wide variety of situations and circumstances.

Re:Netflix Chaos Monkey Upgraded by Nitramp on Thursday October 20, 2016 @01:44AM (#12749966)
To test a distributed system, there's not a lot of value to simulate all the many different conditions that can happen on a machine. From the system's perspective, you don't really care what happens on a single computer.

The conditions you need to simulate are (a) the machine being abruptly gone or (b) the machine still accepting requests, but being very slow in returning them and maybe (c) machine returning incorrect results. Seen from the outside, everything that can happen is usually (a) or (b), and with ECC memory and reasonable software (?) hopefully never (c).

Re:Netflix Chaos Monkey Upgraded by bbarn on Thursday October 20, 2016 @12:15AM (#12749697)
I think it could be because it doesn't provide the value to the development teams. Why chase a memory leak or a CPU bug if it's just being caused by your fault testing app?

To prevent the negative effect of random machines dissapearing though.. that's a challenge that involves good ops, devs, even UI/UX I would imagine, and closer to something that users experience negatives because of in real life.