Search for a command to run...
With the popularization of the Internet, people are increasingly using web services. In response to this growing demand, it is crucial for these services to accommodate an increasing number of users simultaneously. Therefore, it is important to explore and identify best practices for developing it, with the definition of system architecture being one of the most relevant aspects. The motivation behind this study lies in the need to understand and evaluate performance, scalability, and cost differences between two distinct architectural approaches: monolithic and microservices, in order to facilitate the architectural decision-making in software implementation. Additionally, there is a gap in the body of knowledge related to the principles to be adopted when implementing a microservices architecture, and one of the objectives is also to help alleviate this issue. To this end, a portion of an application (server-side/back-end) will be developed, where the applied architectures will initially be monolithic and then moved to microservices-based. For this purpose, an application domain will be defined, in which its requirements will be established, so that the developed component resembles a Minimum Viable Product as closely as possible, meaning an initial and basic version of a product. In the final phase of the project, both architectures will be subjected to performance tests in order to analyse the results of both and draw conclusions about the positive and negative factors of each.