|Beck, Samuel: Simulation-based evaluation of resilience antipatterns in microservice architectures. |
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Bachelorarbeit Nr. 63 (2018).
121 Seiten, englisch.
Monolithic applications are gradually getting replaced by systems built after the emerging microservice architectural pattern. Microservices are designed for failure since highly distributed systems come with a diverse range of potential failure points. Resilience patterns are the most effective measure to keep failures from spreading through a system once they occur. Some companies that build many of their systems as microservices employ approaches like Chaos Engineering in which faults are injected directly into the production system to uncover flaws in the service’s design. But the decision making for the selection of fault injecting experiments remains an open challenge and these experiments take a lot of time and effort. This thesis is created in the context of the Orcas project that aims for efficient resilience benchmarking of microservice architectures by incorporating architectural knowledge and knowledge about the relationships between (anti) patterns and suitable fault injection into the decision making. An efficient way to explore those fault injection experiments could be to simulate them before promising fault injections are conducted on the real system. That is the approach proposed by this thesis. To achieve this, an existing microservice resilience simulator is extended and refined to be able to accurately and realistically simulate microservice architectures, fault injections and the circuit breaker resilience pattern. Furthermore, an architectural model extraction approach is developed which uses tracing to gather architectural information and condense it into automatically created architectural models that serve as input for the simulator and the Orcas Decision Engine, which suggests the next fault injection experiment. Finally, the work of this thesis is connected with the Orcas Decision Engine to enable efficient and fast testing of fault injections. In the evaluation, multiple experiments are conducted on two exemplary microservice systems to investigate the accuracy of the extracted architectural models and the extended simulator. The results of the evaluation reveal that the developed architectural model extraction approach is promising, but shows some limitations due to its employment of dynamic analysis through tracing. Furthermore, they show that the expectations to the simulator’s accuracy are not satisfied acceptably. However, it shows realistic behavior in terms of fault injections and state transitions of the circuit breaker pattern during the evaluation what makes it possible to use the simulator to uncover hidden antipatterns in microservice systems and, therefore, to assess the potency of fault injections, what is its primary use-case in the Orcas context.
|Abteilung(en)||Universität Stuttgart, Institut für Softwaretechnologie, Sichere und Zuverlässige Softwaresysteme|
|Betreuer||van Hoorn, Dr. André; Düllmenn, Thomas; Pitakrat, Dr. Teerat; Blumenthal, Markus|
|Eingabedatum||16. Mai 2019|