Decomposition of monolithic web application to microservices
Zaymus, Mikulas (2017)
Zaymus, Mikulas
Jyväskylän ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017060111908
https://urn.fi/URN:NBN:fi:amk-2017060111908
Tiivistelmä
Solteq Oyj has an internal Wellbeing project for massage reservations. The task of this thesis was to transform the monolithic architecture of this application to microservices.
The thesis starts with a detailed comparison between microservices and monolithic application. It points out the benefits and disadvantages microservice architecture can bring to the project. Next, it describes the theory and possible strategies that can be used in the process of decomposition of an existing monolithic application to microservices.
The practical part of the thesis describes the implementation steps. It starts with the analysis of an existing application architecture and technology stack. After a detailed analysis of
application the choices made in the process of design of decomposition to microservices are discussed.
The used platform for the new application design was Amazon Web Services. Among the used AWS services can be found: Amazon S3, Amazon Route 53, Amazon DynamoDB, Amazon EC2, AWS Lambda, Amazon API Gateway and Amazon CloudFormation.
The implementation was carried out by using Node.js and new microservices were built based on AWS Lambda functions. For deployment and resource management of AWS
Lambda functions Serverless framework was used.
The thesis results in the design for decomposition of a monolithic application to microservices and a partial implementation of the designed transformation process. The final solution was deployed and tested on Amazon Web Services.
The thesis starts with a detailed comparison between microservices and monolithic application. It points out the benefits and disadvantages microservice architecture can bring to the project. Next, it describes the theory and possible strategies that can be used in the process of decomposition of an existing monolithic application to microservices.
The practical part of the thesis describes the implementation steps. It starts with the analysis of an existing application architecture and technology stack. After a detailed analysis of
application the choices made in the process of design of decomposition to microservices are discussed.
The used platform for the new application design was Amazon Web Services. Among the used AWS services can be found: Amazon S3, Amazon Route 53, Amazon DynamoDB, Amazon EC2, AWS Lambda, Amazon API Gateway and Amazon CloudFormation.
The implementation was carried out by using Node.js and new microservices were built based on AWS Lambda functions. For deployment and resource management of AWS
Lambda functions Serverless framework was used.
The thesis results in the design for decomposition of a monolithic application to microservices and a partial implementation of the designed transformation process. The final solution was deployed and tested on Amazon Web Services.