Visible to the public Gremlin: Systematic resilience testing of microservicesConflict Detection Enabled

TitleGremlin: Systematic resilience testing of microservices
Publication TypeConference Paper
Year of Publication2016
AuthorsVictor Heorhiadi, Shriram Rajagopalan, Hani Jamjoom, Michael K. Reiter, Vyas Sekar
Conference Name36th IEEE International Conference on Distributed Computing Systems
Date Published06/2016
PublisherIEEE
Conference LocationNara, Japan
KeywordsRedundancy for Network Intrusion Prevention Systems (NIPS)
Abstract

Modern Internet applications are being disaggregated into a microservice-based architecture, with services being updated and deployed hundreds of times a day. The accelerated software life cycle and heterogeneity of language runtimes in a single application necessitates a new approach for testing the resiliency of these applications in production infrastructures. We present Gremlin, a framework for systematically testing the failure-handling capabilities of microservices. Gremlin is based on the observation that microservices are loosely coupled and thus rely on standard message-exchange patterns over the network. Gremlin allows the operator to easily design tests and executes them by manipulating inter-service messages at the network layer. We show how to use Gremlin to express common failure scenarios and how developers of an enterprise application were able to discover previously unknown bugs in their failure-handling code without modifying the application.

Citation Keynode-26798
Refereed DesignationRefereed