Getting Started with Chaos Engineering – design of an implementation framework in practice

Research output: Chapter in Book/Report/Conference proceedingPaper in conference proceedingpeer-review

Abstract

Background. Chaos Engineering is proposed as a practice to verify a system’s resilience under real, operational conditions. It employs fault injection, is originally developed at Netflix, and supported by several tools from there and other sources. Aims. We aim to intro- duce Chaos Engineering at ICA Gruppen AB, a group of companies whose core business is grocery retail, to improve their systems’ resilience, and to capture our knowledge gained from literature and interviews in a process framework for the introduction of Chaos Engineering. Method. The research is conducted under the design science paradigm, where the problem is conceptualized through a literature study of Chaos Engineering and exploratory interviews in the company. The solution framework is designed based on the literature and a tool survey, and validated by letting software en- gineers at ICA apply parts of it to the software systems of ica.se website, including its e-shop. Results. The main contributions are a synthesis of Chaos Engineering literature and tools, in depth un- derstanding of the needs of the case company, and guidelines for introducing Chaos Engineering. Conclusions. The applied parts were concluded to be feasible and they successfully discovered a set of initial improvement opportunities for the system’s resilience, as well as a suitable Chaos Engineering practice for future resilience testing of the system. We recommend companies using the frame- work as a guide for the implementation of Chaos Engineering.
Original languageEnglish
Title of host publicationProceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) Industry Track
EditorsMarcelo Cataldo, Marcus Ciolkowski
PublisherAssociation for Computing Machinery (ACM)
Number of pages10
ISBN (Electronic)978-1-4503-7580-1
DOIs
Publication statusPublished - 2020

Subject classification (UKÄ)

  • Software Engineering

Cite this