When you run an infrastructure at Twitter scale, hardware and network failures become unavoidable. Each of these failures has the potential to negatively impact the user experience, so it’s important that we design our systems to be as resilient to failure as possible. To test how our services react to unexpected failures, we created a framework that can inject controlled failure conditions into t