| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 146.99 KB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Most computer applications developed in recent decades are based on a monolithic model,
where all the functionalities are provided in a single block of code. This dissertation evaluates the
decomposition of a monolithic application into microservices, the advantages and disadvantages of
such an approach, the design and delivery possibilities, and the different technologies to be used.
The study describes and analyses each of the hypotheses in the light of the assumptions shared
by Trust Systems, meeting the objectives of simplifying the maintenance and development of new
functionalities and the capacity for scale and resilience of the final system. The functionalities
and dependencies of the monolithic application modules were analyzed in detail in order to assess
the possible microservices to be implemented and their contribution to the business processes to
be implemented by the system. This analysis made it possible to choose the most appropriate
decomposition pattern, design pattern and resilience pattern. The decomposition pattern chosen
was Decompose by business capability, while the design pattern adopted was the API Gateway based pattern. As for the resilience patterns, the Timeout and Retries patterns were selected. The
microservices were implemented using various technologies and frameworks, such as JHipster,
Java Spring, Keycloak, and PostgreSQL. This study also suggests a testing structure to follow
before making it available in production. It was concluded that decomposing applications into
microservices contributes to greater agility in development and easier availability of large-scale
applications that are less dependent on failures in parts of the system. The work carried out can be
used in other studies to help speed up decisions on the best way to split up a monolithic application.
Description
Tese de Mestrado, Engenharia Informática, 2024, Universidade de Lisboa, Faculdade de Ciências
Keywords
Microsserviços Monolítico Padrões de decomposição Padrões de desenho Padrões de resiliência Teses de mestrado - 2024
