Title: Microservice Decomposition: A Case Study of a Large Industrial Software Migration in the Automotive Industry
Language: English
Authors: Stranner, Heimo 
Qualification level: Diploma
Keywords: Microservices; Monolith; großer industrieller Monolith; Softwaremigration; Zerlegungsansatz; Wartbarkeit; Skalierbarkeit; Expertenbewertung; begrenzte Kontexte; Fassaden
Microservices; Monolith; Large Industrial Monolith; Software Migration; Decomposition Approach; Maintainability; Scalability; Expert Evaluation; Bounded Contexts; Facades
Advisor: Grechenig, Thomas 
Assisting Advisor: Bernhart, Mario 
Issue Date: 2020
Number of Pages: 147
Qualification level: Diploma
Abstract: 
Microservices sind eine aufkommende Softwarearchitektur. Im Gegensatz zu einem Monolithen wird in einer Microservicearchitektur eine Reihe relativ kleiner Dienste bereitgestellt, die nur über das Netzwerk miteinander kommunizieren. Sie können unabhängig voneinander bereitgestellt und skaliert werden und arbeiten zusammen, um die volle Funktionalität zu erreichen. Monolithen leiden regelmäßig unter schlechter Skalierbarkeit und Wartbarkeit. Mehrere Zerlegungen wurden dokumentiert, um die Situation zu verbessern. In industriellen Umgebungen existieren bereits häufig Monolithen, die unter einer Teilmenge dieser negativen Eigenschaften leiden. Befürworter argumentieren, dass nach dieser Architektur die Wartbarkeit von Software im Vergleich zu einer monolithischen Architektur besser ist. In der akademischen Literatur sind mehrere Migrationen solcher Monolithen zu einer Microservice-Architektur dokumentiert, aber der Ansatz wird nicht immer detailliert beschrieben. Andere Veröffentlichungen stellen Ansätze für solche Migrationen vor, es fehlen jedoch umfangreiche akademische Evaluierungen. Genaue Beschreibungen der verwendeten Ansätze für solche Zerlegungen in Kombination mit groß angelegten Bewertungen im industriellen Kontext sind in der akademischen Literatur selten. Diese Arbeit beschreibt den verwendeten Ansatz für eine solche Zerlegung in der Automobilindustrie und dokumentiert Änderungen am System. Es werden begrenzte Kontexte verwendet, um zu bestimmen, welche Funktionalität zu einem eigenen Dienst werden soll. Fassaden ermöglichen einen schnellen Wechsel zwischen verschiedenen Implementierungen, wodurch das System ohne unnötige Unterbrechungen schrittweise geändert werden kann. Alternative Ansätze werden bewertet und Experteninterviews werden durchgeführt, um sowohl die Realisierbarkeit alternativer Ansätze als auch die mit dem aktuellen Ansatz erzielten Fortschritte zu bewerten. Als Ergebnis der Evaluierung stellt sich die Migration als Erfolg dar. Außerdem hat sich die Entwicklungsgeschwindigkeit verbessert.

Microservices are emerging software architecture. Contrary to a monolith, in a microservice architecture a set of relatively small services is deployed, which communicates with each other only over the network. They can independently be deployed, scaled and work together to achieve the full functionality. Monoliths regularly suffer from poor scalability and maintainability and several decompositions are documented with the aim to improve the situation. In industrial settings monoliths already often exist which suffer from any subset of these negative qualities. Proponents argue, that following this architecture the maintainability of software is better, compared to a contrasting monolithic architecture. In academic literature several migrations of such monoliths to a microservice architecture are documented, but the approach is not always described in detail. Other papers present approaches for such migrations but lack large scale evaluations. Precise descriptions of used approaches for such decompositions in combination with large scale industrial evaluations are rare in academic literature. This work describes the used approach for one such decomposition in the automotive industry and documents changes to the system. To summarize bounded contexts are used to determine which functionality should become its own service and facades allow to quickly switch between different implementations, which allows to gradually change the system without unnecessary disruptions. Alternative approaches are evaluated and expert interviews are conducted to assess both the viability of alternative approaches and the progress made using the current approach. While still ongoing, the experts agree that the migration is a success. While the migration is still ongoing, it can already be considered a success as a significant part of the development effort has shifted over to the newer services and the experts prefer working on them. The development speed has also improved drastically.
URI: https://doi.org/10.34726/hss.2020.81104
http://hdl.handle.net/20.500.12708/15254
DOI: 10.34726/hss.2020.81104
Library ID: AC15715559
Organisation: E194 - Institut für Information Systems Engineering 
Publication Type: Thesis
Hochschulschrift
Appears in Collections:Thesis

Show full item record

Page view(s)

50
checked on Feb 27, 2021

Download(s)

22
checked on Feb 27, 2021

Google ScholarTM

Check


Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.