The Simian Army is a collection of open source cloud testing tools created by the online video streaming company, Netflix. The tools allow engineers to test the reliability, security, resiliency and recoverability of the cloud services that Netflix runs on Amazon Web Services (AWS) infrastructure.
Netflix engineers started creating the autonomous software agents, which are called monkeys, soon after moving to the cloud with AWS. Each monkey is designed to help make Netflix's service less fragile and better able to support continuous service, with minimal degradation, when parts of the cloud experience random failures.
Members of the Simian Army include:
- Chaos Monkey - randomly shuts down virtual machines (VMs) to ensure that small disruptions will not affect the overall service.
- Latency Monkey - simulates a degradation of service and checks to make sure that upstream services react appropriately.
- Conformity Monkey - detects instances that aren’t coded to best-practices and shuts them down, giving the service owner the opportunity to re-launch them properly.
- Security Monkey - searches out security weaknesses, and ends the offending instances. It also ensures that SSL and DRM certificates are not expired or close to expiration.
- Doctor Monkey - performs health checks on each instance and monitors other external signs of process health such as CPU and memory usage.
- Janitor Monkey - searches for unused resources and discards them.
Each of these tools helps make cloud service less fragile and better able to support continuous service, with minimal degradation, when parts of the cloud have a problem. Potential problems can be detected and addressed. Furthermore, induced failures provide knowledge that can help prevent future failures and also provide guidance for dealing with any that do occur.
The word Netflix engineers continue to conceptualize and develop new monkeys and invite the community to do so as well.