Publication | Closed Access
Gremlin: Systematic Resilience Testing of Microservices
127
Citations
10
References
2016
Year
Unknown Venue
Software MaintenanceEngineeringRobustness TestingSoftware EngineeringSoftware AnalysisReliability EngineeringSoftware Performance TestingSystems EngineeringReliabilitySystem TestingMicroservices DesignUnknown BugsService-oriented ComputingPresent GremlinProgram AnalysisSoftware TestingHigh AvailabilityModern Internet ApplicationsSystematic Resilience TestingFault InjectionSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1