title: Microservices im Praxiseinsatz
title: Modernisierung von Legacy-Systemen mit Microservices
titleType: Subtitle
Creators: name: Schweiger, Stefan
Publisher: name: FH CAMPUS 02 (CAMPUS 02 Fachhochschule der Wirtschaft)
Year: 2023
Subjects: subject: 004 Datenverarbeitung; Informatik

description: Durch die Aufteilung eines Systems in eine Vielzahl kleine, autonom agierende Services versprechen Microservices viele Vorteile wie beispielsweise die Komplexität von Software-Systemen zu reduzieren sowie deren Flexibilität und Wartbarkeit zu erhöhen. Dabei sollen Services von selbstständigen, voneinander unabhängigen Teams entwickelt, bereitgestellt und betrieben werden, um schnell auf geänderte Anforderungen reagieren und einzelne Systemteile ohne Beeinträchtigung des Gesamtsystems ändern zu können. Dies ermöglicht in weiterer Folge die gesonderte Skalierung einzelner Teile eines Systems, um so die Verfügbarkeit gezielt erhöhen und Betriebskosten reduzieren zu können. Diese Arbeit führt eine kritische Betrachtung dieses Architekturansatzes durch und ermittelt, welche Voraussetzungen notwendig sind, um damit monolithische, webbasierte Systeme zu modernisieren oder zu erweitern. Aufbauend auf einer theoretischen Ausarbeitung, welche in die Grundlagen von Microservices-Architekturen einführt, Methoden zur Erweiterung und Modernisierung monolithischer Legacy-Systeme beschreibt sowie Wege zeigt, wie ein bestehendes System aufgeteilt werden kann, wird ein Fragebogen ausgearbeitet, um die Erwartungshaltung von Personen im Umfeld der Softwareentwicklung zu erheben. Die Untersuchung zeigte, dass Unternehmen ein großes Interesse und eine hohe Erwartungshaltung an diesen technologischen Ansatz haben, sich aber auch der damit einhergehenden Nachteile, wie unter anderem die Erhöhung der technischen Komplexität des Gesamtsystems oder den steigenden Anforderungen an Betrieb und Infrastruktur, bewusst sind. Weiters wurde festgestellt, dass sich dieses Architekturparadigma nicht für jedes Unternehmen eignet und in der Regel organisatorische Änderungen für deren Einführung notwendig sind. Abschließend wird eine Handlungsempfehlung präsentiert, die, unter Berücksichtigung der zuvor ermittelten Ergebnisse, Möglichkeiten aufzeigt, diesen Architekturansatz auf bestehende Systeme anzuwenden sowie notwendige Voraussetzungen veranschaulicht, welche eine Organisation für die Einführung von Microservices zu erfüllen hat.
description: By splitting a system into small, autonomous services, the microservice paradigm promises many advantages, such as reducing the complexity of software systems and increasing their flexibility and maintainability. These services are independently deployable units and should be fully developed, deployed and operated by only one team in order to be able to react quickly to changed requirements and to replace individual components without affecting the overall system. Furthermore, this enables each service to be scaled independently and can help to reduce overall operating costs. The goal of this thesis was to determine the prerequisites for using this architectural approach to modernizing or extending monolithic, web-based systems. First, a literature review was performed to provide an introduction to the basic principles of microservice architectures and to describe several ways to divide and extend an existing system. This information was used to design a survey to identify the expectations of people in the software development industry for this topic. The results show that companies have a great interest in and high expectations for this technological approach, but are also aware of the related disadvantages, such as the increased technical complexity of the overall system or the increasing demands on operation and infrastructure. Furthermore, it was found that this architecture paradigm is not suitable for every company, and organizational changes are usually necessary for its implementation. Finally, a recommendation for action is presented, which shows the possibilities to apply microservice architectures to existing systems and describes prerequisites that an organization has to fulfill for the introduction of this kind of software architecture.