Extracting Microservices from a Monolithic Application

dc.contributor.authorAxelsson, Emil
dc.contributor.authorKarlkvist, Erik
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.examinerScandariato, Riccardo
dc.contributor.supervisorHebig, Regina
dc.date.accessioned2019-08-15T07:58:40Z
dc.date.available2019-08-15T07:58:40Z
dc.date.issued2019sv
dc.date.submitted2019
dc.description.abstractMicroservices is a relatively new way of developing backend applications. Usually in backend applications, often referred to as monolithic applications, the code is developed and deployed as a single software artifact. In microservices, this artifact is split up into multiple small applications or services, where each service can be developed and deployed independently from one another. Microservices have gained popularity since it enables targeted scaling of specific features and a more fault tolerant system, among other benefits. However, the microservice system has to be designed and implemented in such a way that they enable these benefit, which comes with several challenges. In this thesis, an action research methodology was used to find and validate information about microservices. The research was therefore split into two phases. The first phase focused on knowledge gathering, and the second phase on validating the knowledge gathered by migrating a microservice from a monolith. During the first phase the challenges that comes with microservices were explored together with different strategies that can be applied to combat the challenges. Information about microservices was found through reviewing literature and conducting interviews with developers who has worked with microservices. Several challenges were found, were the most dominant challenge was analyzing the domain and defining service boundaries. Another area of focus during the first phase was to find any advantages or disadvantages of being a small company when developing microservices. A migration strategy was created at the end of the phase based on the knowledge gathered. The strategy includes all necessary steps that needs to be conducted in order to successfully migrate microservices from a monolith. In the second phase, the migration strategy was tried out and a microservice was migrated. Generally the strategy worked well and it resulted in a fully functional microservice. However, some issues were found during implementation, which resulted in some adaptations to the strategy. One of the goals for the migration strategy was that it should be generalized and usable in any context where there is a previous monolith. Whether or not the migration strategy is applicable to other monoliths has not been validated, and further research on it might be necessary.sv
dc.identifier.coursecodeDATX05sv
dc.identifier.urihttps://hdl.handle.net/20.500.12380/300119
dc.language.isoengsv
dc.setspec.uppsokTechnology
dc.subjectmicroservicessv
dc.subjectservicessv
dc.subjectsoftware architecturesv
dc.subjectservice boundariessv
dc.titleExtracting Microservices from a Monolithic Applicationsv
dc.type.degreeExamensarbete för masterexamensv
dc.type.uppsokH
Ladda ner
Original bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 19-42 Axelsson Karlkvist.pdf
Storlek:
1.72 MB
Format:
Adobe Portable Document Format
Beskrivning:
License bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
1.14 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: