Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices
Ano de defesa: | 2022 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , |
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/6034 |
Resumo: | As arquiteturas de microsserviços são afetadas pelos chamados antipadrões, que são maus hábitos de implementação que afetam a qualidade do software. Considerando que a grande maioria dos sistemas baseados em microsserviços são migrados de sistemas legados monolíticos, esses antipadrões podem ser uma herança indesejável que deve ser evitada pois isto afeta negativamente a arquitetura de microsserviços, causando problemas de manutenibilidade, gerenciamento e evolução do sistema. Alguns desses antipadrões de microsserviços devem ser mitigados nas fases iniciais do processo de migração, ou seja, durante a pré-migração. Para ajudar profissionais e pesquisadores a mitigar antipadrões de microsserviços durante a pré-migração, esta dissertação apresenta um estudo exploratório que examina as estratégias existentes. Este estudo aborda os antipadrões já catalogados na literatura e define quais podem ser mitigados por meio de um melhor planejamento na fase de pré-migração ao passar de sistemas monolíticos para sistemas baseados em microsserviços. Este estudo se baseia em multi-métodos compostos por um mapeamento sistemático da literatura, uma revisão rápida e entrevistas com profissionais. Em seguida, os resultados são analisados por meio da análise temática. Como resultado, dez estratégias foram identificadas, que são, adotar o domain-driven design, uso da strangler pattern, identificar o alto acoplamento, usar uma estratégia de backlog, agrupamento de entidades, classificar dados como subsistema de negócios, olhar primeiro para os dados, uso de clean architecture, adotar twelve factor app e adotar uma estratégia de garantia de evolução do sistema. |