Publicação
Estudo sobre a importância dos princípios e padrões das arquiteturas orientadas a microsserviços
| Resumo: | Com o atual crescimento do desenvolvimento de software e aumento da procura para solução de diversos problemas, começa-se a verificar a incapacidade de certas abordagens arquiteturais para lidarem com alguns dos desafios atuais. Efetivamente, alguns destes desafios estão relacionados com o aumento da adesão das pessoas à tecnologia, personalização das aplicações, implementação rápida de novas funcionalidades, crescimento e complexidade das aplicações, otimização da produtividade das equipas de desenvolvimento, adequação das melhores tecnologias, entre outros. Deste modo, as arquiteturas orientadas a microsserviços resolvem alguns destes problemas atuais. Este projeto de dissertação tem como objetivo estudar as arquiteturas orientadas a microsserviços, os seus princípios, padrões e testar a aplicabilidade dos mesmos a um caso de estudo do mundo real, um sistema E commerce, com a finalidade de resolver alguns dos problemas e desafios desta abordagem arquitetural. As categorias de padrões de arquiteturas orientadas a microsserviços estudadas são: Decomposição, Manutenção de Dados, Mensagens Transacionais, APIs Externas, Descoberta de Serviços e Segurança. Dos padrões estudados e implementados, os que tiveram resultados interessantes foram o Saga e CQRS, devido a resolverem problemas relacionados com a manutenção dos dados, que se torna complexa com a característica distribuída deste tipo de arquiteturas. A avaliação da aplicabilidade destes padrões ao caso de estudo, faz-se em comparação do desenho e implementação, com o estudo do estado de arte, através dos pontos positivos e negativos, bem como são efetuados testes à aplicação desenvolvida para conclusão de resultados. Por fim, foram efetuados testes de carga, para verificar a capacidade de escalabilidade, mas principalmente o impacto que as decisões arquiteturais têm na performance e disponibilidade das funcionalidades. |
|---|---|
| Autores principais: | Pereira, José André Martins |
| Assunto: | Arquiteturas de software CQRS Microsserviços Padrões de desenho Saga Software architecture Microservices Design patterns Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| Ano: | 2023 |
| País: | Portugal |
| Tipo de documento: | dissertação de mestrado |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | português |
| Origem: | RepositóriUM - Universidade do Minho |
| Resumo: | Com o atual crescimento do desenvolvimento de software e aumento da procura para solução de diversos problemas, começa-se a verificar a incapacidade de certas abordagens arquiteturais para lidarem com alguns dos desafios atuais. Efetivamente, alguns destes desafios estão relacionados com o aumento da adesão das pessoas à tecnologia, personalização das aplicações, implementação rápida de novas funcionalidades, crescimento e complexidade das aplicações, otimização da produtividade das equipas de desenvolvimento, adequação das melhores tecnologias, entre outros. Deste modo, as arquiteturas orientadas a microsserviços resolvem alguns destes problemas atuais. Este projeto de dissertação tem como objetivo estudar as arquiteturas orientadas a microsserviços, os seus princípios, padrões e testar a aplicabilidade dos mesmos a um caso de estudo do mundo real, um sistema E commerce, com a finalidade de resolver alguns dos problemas e desafios desta abordagem arquitetural. As categorias de padrões de arquiteturas orientadas a microsserviços estudadas são: Decomposição, Manutenção de Dados, Mensagens Transacionais, APIs Externas, Descoberta de Serviços e Segurança. Dos padrões estudados e implementados, os que tiveram resultados interessantes foram o Saga e CQRS, devido a resolverem problemas relacionados com a manutenção dos dados, que se torna complexa com a característica distribuída deste tipo de arquiteturas. A avaliação da aplicabilidade destes padrões ao caso de estudo, faz-se em comparação do desenho e implementação, com o estudo do estado de arte, através dos pontos positivos e negativos, bem como são efetuados testes à aplicação desenvolvida para conclusão de resultados. Por fim, foram efetuados testes de carga, para verificar a capacidade de escalabilidade, mas principalmente o impacto que as decisões arquiteturais têm na performance e disponibilidade das funcionalidades. |
|---|