Using Microservices to Modernize a Monolithic Webservice - Vähä-Mäkilä, Juhani (My University, 2022)
Software modernization is a topic of discussion in companies around the world. Instead of being a single project, modernization should be an ongoing project but that might not always be possible. Microservice architecture could be a good choice when a monolithic web application is modernized though it has its disadvantages as well. This thesis asks three research questions: ”What modernization techniques and strategies exist for monolith modernization into microservices?”, ”Which one to choose for the example case?” and ”Is this kind of modernization worth it?”. To research into the first research question, a literary review is done to research in to existing formal decomposition methods. Formal decompositions are done to the monolithic system being studied and the findings from these are evaluated with the microservice architecture plan that already exists in the case study company to find answers to the second research question. Evaluation is also done between the microservice architecture plans. The existing monolithic application is evaluated against the microservice architecture plans. Besides the formal decompositions interviews were conducted in the case study company to gather relevant data for these evaluations. Based on the research for the case study target, microservice architecture is a viable solution for modernizing a monolithic web application. If there is enough relevant expert knowledge in the company, formal decompositions are not necessarily needed though they provide a good base where to start working from.

Ohjelmistojen modernisointi on keskustelunaihe useissa yrityksissä ympäri maailmaa. Yksittäisen projektin sijaan sen pitäisi olla jatkuvasti käynnissä oleva hanke, mutta se ei välttämättä ole aina mahdollista. Monoliittista verkkosovellusta modernisoidessa mikropalveluarkkitehturi voi olla varteenotettava vaihtoehto, vaikka sillä on myös omat haittapuolensa. Opinnäytetyössä kysytään kolme tutkimuskysymystä: ”What modernization techniques and strategies exist for monolith modernization into microservices?”, ”Which one to choose for the example case?” ja ”Is this kind of modernization worth it?”. Ensimmäiseen tutkimuskysymykseen haetaan vastausta kirjallisuuskatsauksen avulla, jossa perehdytään useisiin olemassa oleviin muodollisiin dekomponointimenetelmiin. Vastausten saamiseksi toiseen tutkimuskysykseen tutkimuksen kohteena olevaan monoliittiseen verkkosovellukselle tehdään dekomponointeja muodollisilla menetelmillä. Näiden pohjalta saatuja havaintoja verrataan tapaustutkimusyrityksessä jo olemassa olevaan mikropalveluarkkitehtuurisuunnitelmaan. Arviointia tehdään myös mikropalveluarkkitehtuurisuunnitelmien ja monoliittisen sovelluksen välillä. Muodollisten dekomponointien lisäksi tapaustutkimusyrityksessä järjestettiin haastatteluita arviointeja varten. Tutkimusten perusteella mikropalveluarkkitehtuuri on varteenotettava ratkaisu monoliittisen verkkosovelluksen modernisointiin. Mikäli yrityksessä on riittävästi asiantuntijatietoa, muodollista dekomponointeja ei välttämättä tarvita, vaikka ne tarjoavatkin hyvän pohjan työskentelyn aloittamiseen.
Keywords: modernization, microservice, micro-service, microservice architecture, monolithic, webservice