Saved in:
Bibliographic Details
Main Authors: Assad, Michael, Meiklejohn, Christopher, Miller, Heather, Krusche, Stephan
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2404.01886
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913298334613504
author Assad, Michael
Meiklejohn, Christopher
Miller, Heather
Krusche, Stephan
author_facet Assad, Michael
Meiklejohn, Christopher
Miller, Heather
Krusche, Stephan
contents In microservice applications, ensuring resilience during database or service disruptions constitutes a significant challenge. While several tools address resilience testing for service failures, there is a notable gap in tools specifically designed for resilience testing of database failures. To bridge this gap, we have developed an extension for fault injection in database clients, which we integrated into Filibuster, an existing tool for fault injection in services within microservice applications. Our tool systematically simulates database disruptions, thereby enabling comprehensive testing and evaluation of application resilience. It is versatile, supporting a range of both SQL and NoSQL database systems, such as Redis, Apache Cassandra, CockroachDB, PostgreSQL, and DynamoDB. A defining feature is its integration during the development phase, complemented by an IntelliJ IDE plugin, which offers developers visual feedback on the types, locations, and impacts of injected faults. A video demonstration of the tool's capabilities is accessible at https://youtu.be/bvaUVCy1m1s.
format Preprint
id arxiv_https___arxiv_org_abs_2404_01886
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Can My Microservice Tolerate an Unreliable Database? Resilience Testing with Fault Injection and Visualization
Assad, Michael
Meiklejohn, Christopher
Miller, Heather
Krusche, Stephan
Software Engineering
In microservice applications, ensuring resilience during database or service disruptions constitutes a significant challenge. While several tools address resilience testing for service failures, there is a notable gap in tools specifically designed for resilience testing of database failures. To bridge this gap, we have developed an extension for fault injection in database clients, which we integrated into Filibuster, an existing tool for fault injection in services within microservice applications. Our tool systematically simulates database disruptions, thereby enabling comprehensive testing and evaluation of application resilience. It is versatile, supporting a range of both SQL and NoSQL database systems, such as Redis, Apache Cassandra, CockroachDB, PostgreSQL, and DynamoDB. A defining feature is its integration during the development phase, complemented by an IntelliJ IDE plugin, which offers developers visual feedback on the types, locations, and impacts of injected faults. A video demonstration of the tool's capabilities is accessible at https://youtu.be/bvaUVCy1m1s.
title Can My Microservice Tolerate an Unreliable Database? Resilience Testing with Fault Injection and Visualization
topic Software Engineering
url https://arxiv.org/abs/2404.01886