title: Untersuchung von Microservice-Applikationen in Hinsicht auf mögliche problematische Architekturgrenzen
title: Identifikation von Indikatoren potenziell problematischer Architekturgrenzen in Microservice-basierten Applikationen und Entwicklung eines automatischen Werkzeugs zu deren Erkennung.
titleType: Subtitle
Creators: name: Kasper, Bianca
Publisher: name: FH Vorarlberg (Fachhochschule Vorarlberg)
Year: 2024
Subjects: subject: 004 Informatik

description: Die Frage nach einer ’guten’ Aufteilung einer Applikation in Microservices ist besonders hinsichtlich der Wartbarkeit äußerst relevant. Ob die Wartbarkeit einer solchen Anwendung aufgrund der Aufteilung in Microservices möglicherweise beeinträchtigt wird, ist jedoch schwierig festzustellen. Die vorliegende Masterarbeit beschäftigt sich mit der Identifikation von Architekturgrenzen, welche mit solchen Nachteilen einhergehen könnten; solche Architekturgrenzen werden als Wrong Cuts bezeichnet. Im Rahmen der vorliegenden Arbeit soll ein Werkzeug implementiert werden, welches Entwicklern und Entwicklerinnen eine Einschätzung ermöglicht, ob in ihrer Anwendung möglicherweise solche Wrong Cuts vorliegen könnten. Um diese Problemstellung zu bearbeiten, müssen zunächst mögliche Kennwerte identifiziert werden, die Hinweise darüber erlauben, ob eine Microservice-basierte Anwendung ’gut’ aufgeteilt worden ist. Daran anschließend folgt die Auswahl und Analyse der Messbarkeit eines geeigneten Kennwertes. Schlussendlich wird ein Werkzeug entwickelt, um diesen Kennwert in einer Microservices-Anwendung zu ermitteln. Diese Teilschritte führten insgesamt zu der konkretisierten Fragestellung, wie sich die Kohäsion eines Microservices auf Basis von Sensitive Class Cohesion Metric (SCOM) messen lassen kann. Es wurde ein Werkzeug entwickelt, welches den SCOM-Wert anhand eines JSON-Logs berechnet. In Zuge dessen wurde erarbeitet, wie die für die Berechnung notwendigen Daten durch den Einsatz von OpenTelemetry und Jaeger erhalten werden können. Das entwickelte Werkzeug wurde zunächst im Rahmen eines synthetischen Demo-Projektes getestet, bevor es auf die TeaStore Applikation angewandt wurde. Es konnte ein Werkzeug zur Bestimmung der Kohäsion auf Basis der SCOM-Metrik entwickelt werden. Durch die Zero-Code-Instrumentation von OpenTelemetry und dem zur Verfügung gestellten Skript zum Erhalt der gesammelten Daten über Jaeger wird Softwareentwicklern und Softwareentwicklerinnen eine Möglichkeit geboten, die Aufteilung ihrer Microservice-Applikation in Hinblick auf die Kohäsion zu untersuchen.
description: The question of a ’good’ division of an application into microservices is particularly relevant in terms of maintainability. However, it is difficult to determine whether the maintainability of such an application may be impaired due to the division into microservices. This master’s thesis deals with the identification of architectural boundaries that could be associated with such disadvantages; such
architectural boundaries are referred to as Wrong Cuts. The aim of this Thesis is to implement a tool that enables developers to assess whether such Wrong Cuts might exist in their application. In order to address this problem, possible parameters must first be identified that provide an indication of whether a microservice-based application has been ’well’ divided. This is followed by the selection and Analysis of the measurability of a suitable parameter. Finally, a tool is developed to determine this characteristic value in a microservices application. These intermediate steps led to the specific question of how the cohesion of a microservice can be measured on the basis of Sensitive Class Cohesion Metric (SCOM). A tool was developed that calculates the SCOM value using a JSON log. In the course of this, it was worked out how the data required for the calculation can be obtained by using OpenTelemetry and Jaeger. The developed tool was first tested in a synthetic demo project before it was applied to the TeaStore application. A tool for determining cohesion based on the SCOM metric was developed. OpenTelemetry’s zero-code instrumentation and the script provided to obtain the collected data via Jaeger offer software developers a way to analyse the distribution of their microservice application with regard to cohesion.