title: From Backend to Frontend - Case study on adopting Micro Frontends from a Single Page ERP Application monolith
Creators: name: Kroiß, Manuel
Publisher: name: TU Wien
Year: 2021
Subjects: subject: Micro Frontend
subject: Application Shell
subject: Micro Frontend Performanceanalyse
subject: Micro Frontend
subject: Application Shell
subject: Micro Frontend Performance Analysis

description: Viele Softwareunternehmen verwenden bereits eine Microservice (MS) Architektur, um deren Software sowie die Entwicklungsteams dieser Software skalieren zu können. Diese Architektur verbessert die Projektwartbarkeit und erlaubt es den Entwickler*innen,schnell auf geänderte Anforderungen zu reagieren oder neu entwickelte Technologien einzusetzen.Dennoch verwenden viele Firmen diesen Architekturtyp nur für Services, welche im Hintergrund laufen, und entwickeln eine einzige, monolithische Frontend Applikation,welche mit den verschiedenen Services im Hintergrund kommuniziert.Existierende Micro Frontend (MF) Entwicklungsansätze werden meistens direkt von Softwaregiganten wie Amazon oder SAP entwickelt, welche sich hauptsächlich auf serverseitige Renderingansätze spezialisieren. Es gibt nur wenig Literatur, welche die Verwendung des MS Architekturtyps für clientseitig gerenderte Frontends geprüft hat. Keine dieser Arbeiten behandelt eine MF Performanceanalyse oder benutzt verschiedene clientseitige Frontend Technologien in einer MF Architektur.Diese Arbeit liefert eine Analyse von existierenden MS Arbeiten und zeigt, wie diese Prinzipien auf MFs übertragen werden können. Die in dieser Arbeit durchgeführte Fallstudie inkludiert eine Implementierung der gleichen Applikation als monolithisches Frontend, eine MF Architektur aufbauend auf dem single-spa MF Framework und eine MF Architektur, die mit Webpack Module Federation entwickelt wurde.Der letzte Teil der Arbeit beschreibt eine Performanceanalyse, welche diese drei Fallstudien in der gleichen Umgebung bereitstellt und überprüft. Diese Analyse zeigt auf, dasses möglich ist, ein monolitisches Frontend durch eine MF Architektur zu ersetzen,ohne Performanceverluste hinnehmen zu müssen. Stattdessen profitiert man von dieser Ersetzung und kann auf die Vorteile, die bereits jetzt in MSs genutzt werden, auch im Frontend zurückgreifen.
description: Many software engineering companies already use Microservice (MS) architectures to support scaling their software and the development teams. This architecture improves the project’s maintain ability and allows developers to react to changing requirements or use newly developed technology.Nevertheless, most of those companies utilize this architectural style only for the backendservices and build one extensive monolithic frontend application that communicates with the different MSs.Existing Micro Frontend (MF) development approaches are mostly directly developed by big software engineering enterprises such as Amazon or SAP and mainly focus on serverside rendering. Only a few research papers analyzed using the MS architectural style forclient-side rendered frontend solutions. None of those papers covers MF performance analysis or uses different client-side frontend technologies in one MF architecture.This paper provides an analysis of existing MS literature and shows how one can adopt those principles to MFs. A case study performed in this work exposes an implementation of the same application as a monolithic frontend, an MF architecture using the single-spaMF framework, and an MF architecture built with Webpack Module Federation.The last part of the thesis presents a performance analysis that investigated those three cases in the same deployment environment and reveals that one can replace an existing monolithic frontend over an MF architecture without losing runtime performance but profit from the advantages that MSs already exhibit for the backend.