Um Catálogo de Requisitos Não-Funcionais e Padrões Arquiteturais para Microsserviços

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Veronez, Marcio lattes
Orientador(a): Silva, Ivonei Freitas da lattes
Banca de defesa: Santander, Victor Francisco Araya lattes, Schemberger , Elder Elisandro lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Estadual do Oeste do Paraná
Cascavel
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação
Departamento: Centro de Ciências Exatas e Tecnológicas
País: Brasil
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: https://tede.unioeste.br/handle/tede/6215
Resumo: Non-functional requirements such as high availability, redundancy, and scalability are cited in the literature as motivations and advantages for migrating from a monolithic architecture to microservices. The use of architectural patterns can help meet these requirements. However, it is unclear which non-functional requirements should be prioritized prior to the migration process and what positive and negative impact the choice of certain architectural patterns may have on these requirements. A catalog of non-functional requirements and architectural patterns could help in planning migrations or restructurings from a monolithic to a microservices architecture. This study describes the key non-functional requirements that are important in scenarios of migration from monolithic systems to microservices, and architectural patterns that can help operationalize these requirements. To this end, we first map the motivations and driving forces that justify migrations from monolithic systems to microservices to non-functional requirements through a systematic mapping in the literature. Next, architectural patterns that can be used to satisfy the non-functional requirements are identified in the literature, along with the impact of choosing each pattern. These tradeoffs are analyzed using the NFR framework. Finally, the information is organized into a catalog that is evaluated through its implementation in scenarios of migration or restructuring to microservices. As a result, we have a catalog with 13 identified non-functional requirements, 89 architectural patterns, and Softgoals Interdependence Graphs for each requirement. The evaluations show that the catalog is viable and can help in eliciting non-functional requirements and selecting patterns in the context of migration or restructuring to microservices.