Filibuster: Service-level Fault Injection Testing


Overview

Filibuster is the prototype implementation of Service-level Fault Injection Testing (ACM SoCC ‘21) written in Python.

Service-level Fault Injection Testing is a technique for identifying resilience issues in microservice-based applications in development, before code ships to production. Filibuster has been designed to be easy to use, lightweight, and able to be integrated into a continuous integration environment, like GitHub Actions or Amazon’s CodeBuild CI/CD environment.

Filibuster open-source and available on GitHub.


Roadmap

Filibuster currently supports Python services implemented in Flask that communicate using either gRPC or HTTP. Java support for Armeria web services that communicate using gRPC or HTTP has been completed and is currently being tested.

Authors

Filibuster was developed by Christopher Meiklejohn, Andrea Estrada, Yiwen Song, Heather Miller, and Rohan Padhye in the Composable Systems Lab in the Institute for Software Research at Carnegie Mellon University.

Alternative text

Table of Contents

Depending on your role, we recommend different sections of our documentation.

  • For general readers, interested in learning how Filibuster can be used on a microservice application to improve resilience, we recommend the Tutorial.

  • For application developers, looking to use Filibuster on their application to identify resilience issues, we recommend the Tutorial.

  • For infrastructure engineers, looking to extend Filibuster to support different programming languages and remote procedure call frameworks, we recommend you review the sections on Extending Filibuster and Writing Instrumentation.