Architectural transformation of SaaS-solutions from monoliths to microservices

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

65

Series

Abstract

The prevalent software architecture style of modern software development has changed from monolithic applications to microservice-based ones. Large organizations are modernizing their development methods, which often include transitioning to the microservice software architecture. Microservices solve many challenges that are present in monolithic applications, including scalability limitations, development collaboration challenges and restrictions in technologies and tooling. Many companies have achieved significant improvements to their solution via architectural transformations. This thesis studies the literature surrounding software architecture and transformations. Motivations for transforming the architecture of an application are showcased through recent transformations that have occurred in large organizations. As a counterpoint, examples of failed implementations of microservices are studied to understand scenarios where the architecture style fails to perform. Aspects of both monolithic and microservice-based software architecture are compared with various examples and literature review, and methods for organizing the transformation are explored from technical solutions to concept-based ones. The main subject of this thesis is the case study on the Finnish procurement analytics company Sievo, which has been transforming their solution architecture since 2016. Sievo's history is explored to uncover motivations that led to the decision to commit to the transformation process. The process is analyzed to find out what aspects of the Sievo solution bring unique challenges and differentiate the situation from the examples presented in the literature review. The current development environment and organizational structure of the company is evaluated, and the effectiveness of the microservice implementation measured through interviews and investigation of the company's internal documentation. Reasons for the ongoing 9-year transformation process are found from the requirement of robust customization that the company's business practices require. Sievo's transformation to microservices also brings two unique transformations that complicate the process, those being lifting the solution from private data centers to cloud hosting, and transforming the nature of the application from single-tenancy to multi-tenancy.

Vallitseva ohjelmistoarkkitehtuurin muoto nykypäivän ohjelmistokehityksessä on vaihtunut monoliittisista rakenteista mikropalveluihin. Suuret ohjelmistoyritykset modernisoivat kehityskäytäntöjään, joka usein sisältää siirtymän monoliittisesta palvelusta mikropalvelupohjaiseen toteutukseen. Mikropalvelut ratkaisevat monta monoliittisten palveluiden haastetta, kuten skaalautuvuusrajoitteita, yhteisen kehityksen haasteita sekä rajoituksia liittyen teknologioihin sekä työkaluihin. Useat yritykset ovat saavuttaneet valtavia parannuksia sovellukseensa arkkitehtuurimuutoksen seurauksena. Tämä diplomityö tutkii kirjallisuutta ohjelmistoarkkitehtuurin sekä muutoksien ympärillä. Syitä ohjelmiston arkkitehtuurin muuttamiseksi löydetään esimerkeistä, jotka kattavat lähiaikoina tapahtuneita arkkitehtuurimuutoksia suurissa ohjelmistoyrityksissä. Vastaesimerkkinä esitellään tapauksia, joissa mikropalveluihin pohjautuva arkkitehtuuri ei onnistuneesti palvele tilannetta, jotta ymmärretään, mitä haasteita mikropalvelut pystyvät ratkaisemaan. Monoliittisten sekä mikropalveluihin pohjautuvien ohjelmistoarkkitehtuurien eroja havainnollistetaan erilaisten esimerkkien sekä kirjallisuustutkimuksen avulla, sekä toimintatapoja arkkitehtuurimuutoksen organisointiin käydään läpi teknologiapohjaisista lähestymistavoista konseptimuotoisiin tapoihin. Diplomityön päätutkimuksen kohde on suomalaisen ohjelmistoyrityksen, Sievon, arkkitehtuurimuutos, joka on ollut käynnissä vuodesta 2016 alkaen. Yrityksen historiaa tutkitaan löytääksemme syyt, jotka saivat Sievon sitoutumaan ohjelmistoarkkitehtuurinsa muutokseen. Arkkitehtuurimuutosta analysoidaan, jotta löydetään Sievon ohjelmiston aiheuttamat uniikit haasteet, jotka erottavat tilanteen kirjallisuustutkimuksessa esitetyistä esimerkeistä. Sievon nykyistä kehitysympäristöä sekä yrityksen rakennetta arvioidaan, sekä mikropalveluimplementaation tehokkuutta vertaillaan haastatteluiden sekä yrityksen sisäisen materiaalin läpikäymisen avulla. Syyt, jotka pitkittävät jo yhdeksän vuotta kestänyttä arkkitehtuurimuutosta löytyvät raskaasta kustomisaatiomahdollisuuksista, jota yrityksen toimintatapa tarjoaa asiakkailleen. Sievon mikropalvelumuutos tuo myös mukanaan kaksi erillistä muutosta, mukaanlukien sovelluksen nostaminen yrityksen datakeskuksista pilvipalveluun, sekä ohjelmiston luonteen muuttaminen single-tenant sovelluksesta multi-tenant sovellukseksi.

Description

Supervisor

Ylä-Jääski, Antti

Thesis advisor

Lauttia, Markus

Other note

Citation