Logo do repositório
 
A carregar...
Miniatura
Publicação

Methodology for Recommendation of Microservices Architectures

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
Felix_2023.pdf4.19 MBAdobe PDF Ver/Abrir

Resumo(s)

Software architecture is a crucial element of software development, as it defines the elements and relationships of a system, guiding the development team and managing complexity as the system grows. The increasing popularity of microservices architecture has brought a new challenge for developers in choosing the best microservices architecture for their specific needs. This kind of architecture involves breaking down a system into independent services, each focused on a specific business capability, establishing communication through lightweight mechanisms. Choosing the right microservices architecture presents an interesting challenge because the architecture must consider various factors such as scalability, reliability, security, performance, and maintainability. This requires a detailed examination of the existing literature and best practices, as well as a practical analysis of real-world case studies. To address this challenge, this thesis developed a methodology for determining a suitable microservices architecture based on specific requirements. The methodology includes various requirements that were used to evaluate several architectural design alternatives. To improve its automation and make it easier to use, a recommendation system, that uses the methodology, was implemented in order to automatically consider user preferences and suggest the architecture. The contribution of this thesis is an innovative solution that assists in determining an appropriate microservices architecture based on specific requirements. The developed solution does not only recommend a suitable architecture and its relevant components such as security and observability, but also provides a dynamically generated graphical overview of the resulting architecture.
No desenvolvimento de software uma das componentes mais importantes é a arquitetura de software. Esta define os elementos e as relações de um sistema, orienta a equipa de desenvolvimento e ajuda a controlar a complexidade do sistema à medida que este vai progredindo. A crescente popularidade dos microsserviços trouxe um novo desafio para os desen- volvedores de software na escolha da melhor arquitetura de microsserviços para as suas necessidades específicas. Este tipo de arquitetura envolve a divisão de um sistema em serviços independentes, cada um focado numa funcionalidade específica, estabelecendo comunicação através de mecanismos leves. Escolher a arquitetura de microsserviços mais apropriada apresenta um desafio interes- sante, pois a arquitetura deve considerar vários fatores como escalabilidade, confiabilidade, segurança, desempenho e manutenibilidade. Esta escolha requer uma examinação da li- teratura existente e das melhores práticas, bem como uma análise prática de casos de estudo. Para enfrentar este desafio, esta tese desenvolveu uma metodologia para determinar uma arquitetura de microsserviços adequada com base em requisitos específicos. A metodologia inclui um conjunto de requisitos que foram utilizados para avaliar diferentes alternativas de design de arquiteturas. Posteriormente, para melhorar a sua automação e tornar a sua utilização mais simples, foi implementado um sistema de recomendação que, através do uso da metodologia, tem em consideração as preferências do utilizador e sugere a arquitetura. A contribuição desta tese é uma solução inovadora que ajuda a determinar uma arqui- tetura de microsserviços apropriada com base nos seus requisitos específicos. O sistema de recomendação não recomenda apenas uma arquitetura adequada e os seus componentes relevantes, como segurança e observabilidade, mas também gera dinamicamente uma visualização gráfica da arquitetura final.

Descrição

Palavras-chave

Methodology Software Architecture Microservices Architecture Recommendation System Requirements Architectural Design Alternatives

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Licença CC