Standardized Templates for Addressing Maintainability Issues Associated with Microservices

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Authors

Arponen, Oskari

Date

2024-06-17

Department

Major/Subject

Software Engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

64

Series

Abstract

Compared to traditional monolithic architectures, the microservices architecture has grown in popularity during the last decade. Companies and organizations increasingly utilize microservices due to the discovered benefits they provide. However, as the popularity of microservices has grown, the importance of addressing maintainability issues of developing and maintaining microservices has intensified. Microservices require effort and knowledge in terms of configuration, creating a connection with a database, the operations for the given database, as well as documentation. Additionally, this creates inconsistencies between microservice configurations, as different teams and developers working on microservices work differently. The thesis implements a Spring Boot based microservice template as a proof of concept for addressing maintainability issues of microservices, as well as speeding up the development process. The proof of concept focuses on omitting generic microservice configurations in Spring Boot, as well as the configuration process of operations, which are typically seen in microservices by using generic classes as well as auto-configuration files. The results are tested and analysed from the perspective of a new developer, by implementing a microservice based on the template instructions. The analysis of the proof of concept shows that the template addresses maintainability issues, as well as speeds up the process of microservice creation. However, creating the template requires some effort and experience with microservices, as generic classes and configurations have to be discovered and analyzed. The configuration and structure of the template also varies between projects, and there is not a single template which works in all projects. Creating microservice templates brings value for organizations and companies. Utilizing Spring Boot microservice templates addresses the issues of inconsistencies between microservices and bloating code bases, while also speeds up the process of microservice creation.

Verrattuna perinteisiin monoliittirakenteisiin, mikropalveluarkkitehtuuri on kasvattanut suosiotaan viimeisen vuosikymmenen aikana. Yritykset ja organisaatiot käyttävät yhä enemmän mikropalveluita niiden tarjoamien etujen takia. Kuitenkin mikropalveluiden suosion kasvaessa on noussut entistä tärkeämmäksi käsitellä mikropalvelujen kehitys- ja ylläpidettävyysongelmia. Mikropalvelut vaativat vaivaa ja osaamista konfiguraation, tietokantayhteyden luomisen, tietokannan käytön sekä dokumentaation osalta. Tämä aiheuttaa epäjohdonmukaisuuksia mikropalveluiden konfiguraatioissa, kun eri tiimit ja kehittäjät työskentelevät mikropalveluiden parissa eri tavoin. Opinnäytetyö toteuttaa Spring Boot -pohjaisen mikropalvelumallin konseptitodistuksena vastauksena mikropalveluiden ylläpidettävyyshaasteisiin sekä nopeuttaakseen kehitysprosessia. Konseptitodistus keskittyy poistamaan geneeriset mikropalveuiden konfiguraatiot Spring Bootissa sekä toimintojen konfigurointiprosessin, jotka ovat tyypillisiä mikropalveluille, käyttäen geneerisiä luokkia ja automaattikonfiguraatiotiedostoja. Tulokset testataan ja analysoidaan uuden kehittäjän näkökulmasta, kun mikropalvelu toteutetaan mallin ohjeiden mukaisesti. Konseptitodistuksen analyysi osoittaa, että malli käsittelee ylläpidettävyyden ongelmia ja kiihdyttää mikropalvelun kehitysprosessia. Mallin luominen vaatii kuitenkin melkoisesti vaivaa ja kokemusta mikropalveluista, sillä geneeriset luokat ja konfiguraatiot on löydettävä ja analysoitava. Mallin konfiguraatio ja rakenne vaihtelevat myös projekteittain, eikä ole yhtä mallia, joka toimisi kaikissa projekteissa. Mikropalvelumallien luominen tuo arvoa organisaatioille ja yrityksille. Spring Boot-mikropalvelumallien hyödyntäminen käsittelee epäjohdonmukaisuuksia mikropalveluiden välillä ja välttää koodikannan turvotusta, samalla nopeuttaen mikropalveluiden kehitysprosessia.

Description

Supervisor

Vuorimaa, Petri

Thesis advisor

Vuorimaa, Petri

Keywords

microservices, software architecture, template, PostgreSQL, Java, spring boot

Other note

Citation