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.
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.
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.
- Researching Resilience: Lack of Corpus
- What is SFIT?
- Dynamic Reduction
- Cinema Examples
- Industry Examples
- Instrumenting GRPC
- Instrumenting Remote Service Calls
- Instrumenting Services To Receive Calls
- Enabling Fault-Injection in the Client
- Static Analysis