Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-10190
Autor(en): Beck, Samuel
Titel: Simulation-based evaluation of resilience antipatterns in microservice architectures
Erscheinungsdatum: 2018
Dokumentart: Abschlussarbeit (Bachelor)
Seiten: xiii, 104
URI: http://elib.uni-stuttgart.de/handle/11682/10207
http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-102074
http://dx.doi.org/10.18419/opus-10190
Zusammenfassung: 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.
Monolithische Anwendungen werden nach und nach durch Systeme ersetzt, die nach dem hervortretenden Microservice Architekturmuster entwickelt wurden. Microservices werden bereits mit einem Fokus auf Fehlertoleranz entworfen, da verteilte Systeme mit einer vielfältigen Reihe an potentiellen Fehlerpunkten einhergehen. Resilience Entwurfsmuster sind die effektivste Methode, um Fehler an der Ausbreitung durch ein System zu hindern. Manche Unternehmen die viele Microservicesysteme betreiben wenden Ansätze wie Chaos Engineering an, in welchen Fehler direkt in das Produktionssystem injiziert werden, um sicherzustellen, dass diese Mechanismen wie angenommen funktionieren. Doch die Entscheidungsfindung für die Auswahl von Fehlerinjektionsexperimenten ist weiterhin eine offene Herausforderung und die diese Experimente nehmen viel Zeit und Aufwand in Anspruch. Diese Arbeit entsteht im Kontext des Orcas Projekts, welches das effiziente Resilience-Benchmarking von Microservicearchitekturen durch Einbeziehung von Architekturwissen und Wissen über die Beziehungen zwischen (Anti-) Mustern und geeigneten Fehlerinjektionen in die Entscheidungsfindung zum Ziel hat. Eine effiziente Weise diese Fehlerinjektionsexperimente zu untersuchen könnte sein sie zu simulieren bevor vielversprechende Fehlerinjektionen auf dem echten System durchgeführt werden. Dies ist der von dieser Arbeit verfolgte Ansatz. Um dies zu erreichen wird ein existierender Microservice Resilience Simulator erweitert und verbessert, um realistische und genaue Simulationen von Microservicearchitekturen, Fehlerinjektionen und dem Circuit Breaker Resilience Entwurfsmuster zu ermöglichen. Des Weiteren wird ein Architekturmodellextraktionsansatz entwickelt, welcher Tracing verwendet, um Informationen über Architekturen zu sammeln und automatisch in einem Architekturmodell zusammenzufassen. Dieses dient als Eingabe für den Simulator und die Orcas Decision Engine, welche das nächste Fehlerinjektionsexperiment vorschlägt. Abschließend, wird die Arbeit dieser Thesis mit der Orcas Decision Engine verknüpft, um effizientes und schnelles Testen von Fehlerinjektionen zu ermöglichen. In der Evaluation werden mehrere Experimente an zwei Microservicesystemen durchgeführt, um die Genauigkeit der extrahierten Architekturmodelle und des erweiterten Simulators zu untersuchen. Die Ergebnisse der Evaluation ergeben, dass der entwickelte Architekturmodellextraktionsansatz vielversprechend ist, aber Einschränkungen aufgrund seiner Verwendung von dynamischer Analyse durch Tracing aufzeigt. Des Weiteren ergeben sie, dass die Erwartungen an die Genauigkeit des Simulators nicht zufriedenstellend erfüllt werden. Jedoch weißt der Simulator in der Evaluation ein realistisches Verhalten bezüglich Fehlerinjektionen und der Zustandsübergänge des Circuit Breaker Entwurfmusters auf, was es ermöglicht den Simulator zu verwenden, um versteckte Antipatterns ins Microservicesystemen aufzudecken und die Wirksamkeit von Fehlerinjektionen zu beurteilen — sein primärer Anwendungsfall im Orcas Kontext.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Simulation-based Evaluation of Resilience Antipatterns in Microservice Architectures.pdf1,74 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.