Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10400.22/23519 |
Resumo: | Uma arquitetura de microsserviços é composta por diferentes serviços independentes, que possuem as suas próprias camadas conseguindo comunicar entre si. Os mecanismos de comunicação síncrona utilizados neste tipo de arquitetura conduzem ao aumento da latência e ao risco da existência de timeouts. Sabendo-se da possível ocorrência de falhas mecanismos de controlo sobre o estado do sistema são recomendados. Complementarmente, a escalabilidade deve de estar presente consoante as necessidades. Este tipo de arquitetura combinada com abordagens orientadas a eventos pode-se revelar uma alternativa razoável quando se possui requisitos de desempenho, tolerância a falhas e escalabilidade. Uma visão geral do estado de arte das arquiteturas de microsserviços orientadas a eventos é realizada, com recurso a uma revisão sistemática da literatura. Aqui são exploradas as preocupações, desafios, topologias, tecnologias e métricas a considerar aquando da exploração da temática das arquiteturas de microsserviços orientadas a eventos. Após a recolha de informação, uma análise de valor sobre o valor deste projeto de tese é construída, com recurso ao processo de inovação New Concept Development (NCD). Alcançando-se a ideia mais relevante de explorar, apoiada pela aplicação do método Analytic Hierarchy Process (AHP), ou seja, o desenvolvimento de dois protótipos de microsserviços orientados a eventos arquitecturalmente distintos. O primeiro aplicando a topologia mediadora e o segundo aplicando o modelo ator. Escolhida a ideia mais relevante de se explorar é realizada a análise e a conceção da solução. Abordando-se o problema de negócio de estacionamento de veículos, bem como são construídos os processos de engenharia de requisitos e de análise funcional com recurso ao método Quality Function Deployment (QFD). Depois evidencia-se as alterações arquiteturais a realizar às aplicações típicas da empresa, para que estas contemplem as abordagens referentes à aplicação da topologia mediadora e do modelo ator. Posteriormente, a implementação dos protótipos correspondentes é realizada, começando-se pela definição das dependências principais de cada protótipo, depois os detalhes de implementação mais relevantes dos mesmos são expressos. O processo de implementação é concluído com a realização de testes, assegurando a qualidade dos protótipos alcançados. Ulteriormente, a avaliação dos protótipos desenvolvidos é suportada segundo certas métricas, alcançadas com base na abordagem Goal, Questions, Metrics (GQM), permitindo avaliar o desempenho, a escalabilidade, a disponibilidade e a monitorabilidade de cada protótipo. Os resultados atingidos permitiram comparar os diferentes protótipos, sendo o protótipo baseado na topologia mediadora aquele que melhor harmoniza desempenho, disponibilidade, monitorabilidade e escalabilidade. Por fim, as conclusões do trabalho de mestrado são expressas, onde se apresentam os resultados atingidos, as contribuições, ameaças e pontos de trabalho futuro. |
id |
RCAP_670738a7d653732596ce19137ad1d64d |
---|---|
oai_identifier_str |
oai:recipp.ipp.pt:10400.22/23519 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventosArquitetura de softwareMicrosserviçosOrientados a eventosSoftware ArchitectureMicroservicesEvent-drivenUma arquitetura de microsserviços é composta por diferentes serviços independentes, que possuem as suas próprias camadas conseguindo comunicar entre si. Os mecanismos de comunicação síncrona utilizados neste tipo de arquitetura conduzem ao aumento da latência e ao risco da existência de timeouts. Sabendo-se da possível ocorrência de falhas mecanismos de controlo sobre o estado do sistema são recomendados. Complementarmente, a escalabilidade deve de estar presente consoante as necessidades. Este tipo de arquitetura combinada com abordagens orientadas a eventos pode-se revelar uma alternativa razoável quando se possui requisitos de desempenho, tolerância a falhas e escalabilidade. Uma visão geral do estado de arte das arquiteturas de microsserviços orientadas a eventos é realizada, com recurso a uma revisão sistemática da literatura. Aqui são exploradas as preocupações, desafios, topologias, tecnologias e métricas a considerar aquando da exploração da temática das arquiteturas de microsserviços orientadas a eventos. Após a recolha de informação, uma análise de valor sobre o valor deste projeto de tese é construída, com recurso ao processo de inovação New Concept Development (NCD). Alcançando-se a ideia mais relevante de explorar, apoiada pela aplicação do método Analytic Hierarchy Process (AHP), ou seja, o desenvolvimento de dois protótipos de microsserviços orientados a eventos arquitecturalmente distintos. O primeiro aplicando a topologia mediadora e o segundo aplicando o modelo ator. Escolhida a ideia mais relevante de se explorar é realizada a análise e a conceção da solução. Abordando-se o problema de negócio de estacionamento de veículos, bem como são construídos os processos de engenharia de requisitos e de análise funcional com recurso ao método Quality Function Deployment (QFD). Depois evidencia-se as alterações arquiteturais a realizar às aplicações típicas da empresa, para que estas contemplem as abordagens referentes à aplicação da topologia mediadora e do modelo ator. Posteriormente, a implementação dos protótipos correspondentes é realizada, começando-se pela definição das dependências principais de cada protótipo, depois os detalhes de implementação mais relevantes dos mesmos são expressos. O processo de implementação é concluído com a realização de testes, assegurando a qualidade dos protótipos alcançados. Ulteriormente, a avaliação dos protótipos desenvolvidos é suportada segundo certas métricas, alcançadas com base na abordagem Goal, Questions, Metrics (GQM), permitindo avaliar o desempenho, a escalabilidade, a disponibilidade e a monitorabilidade de cada protótipo. Os resultados atingidos permitiram comparar os diferentes protótipos, sendo o protótipo baseado na topologia mediadora aquele que melhor harmoniza desempenho, disponibilidade, monitorabilidade e escalabilidade. Por fim, as conclusões do trabalho de mestrado são expressas, onde se apresentam os resultados atingidos, as contribuições, ameaças e pontos de trabalho futuro.A microservices architecture is composed of different independent services, which have their own layers and can communicate with each other. The synchronous communication mechanisms used in this type of architecture lead to increased latency and the risk of timeouts. Knowing the possible occurrence of failures, control mechanisms over the state of the system are recommended. In addition, scalability must be present depending on the needs. This type of architecture combined with event-driven approaches can prove to be a reasonable alternative when performance, fault tolerance and scalability requirements are met. An overview of the state of the art of event-driven microservices architectures is performed, using a systematic literature review. Here, the concerns, challenges, topologies, technologies and metrics to consider when exploring the topic of event-driven microservices architectures are explored. After collecting information, a value analysis on the value of this thesis project is built, using the New Concept Development (NCD) innovation process. Reaching the most relevant idea to explore, supported by the application of the Analytic Hierarchy Process (AHP) method, that is, the development of two different prototypes using event-driven microservices. The first applying the mediator topology and the second applying the actor model. Having chosen the most relevant idea to be explored, the analysis and design of the solution is carried out. Addressing the business problem of parking vehicles, requirements engineering and functional analysis processes are built using the Quality Function Deployment (QFD) method. Afterwards, the architectural changes to be made to the company’s typical applications are highlighted, so that they include the approaches related to the application of the mediator topology and the actor model. Subsequently, the implementation of the corresponding prototypes is carried out, starting with the definition of the main dependencies of each prototype, then the most relevant implementation details of each prototype are expressed. The implementation process concludes with testing, ensuring the quality of the prototypes achieved. Next, the evaluation of the developed prototypes is supported according to certain metrics, achieved based on the Goal, Questions, Metrics (GQM) approach, allowing to evaluate the performance, scalability, availability and monitorability of each prototype. The achieved results allowed comparing the different prototypes, being the protype based on mediator topology the one that best harmonizes performance, availability, monitorability and scalability. Finally, the conclusions of the master’s work are expressed, where the results achieved, contributions, threats and points for future work are presented.Azevedo, Isabel de Fátima SilvaRepositório Científico do Instituto Politécnico do PortoMarques, Pedro Henrique Linhas e2023-09-12T15:07:44Z20232023-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/23519TID:203352645porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-09-20T01:46:01Zoai:recipp.ipp.pt:10400.22/23519Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T20:29:05.814855Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
title |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
spellingShingle |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos Marques, Pedro Henrique Linhas e Arquitetura de software Microsserviços Orientados a eventos Software Architecture Microservices Event-driven |
title_short |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
title_full |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
title_fullStr |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
title_full_unstemmed |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
title_sort |
Harmonização de desempenho, tolerância a falhas e escalabilidade em arquiteturas de microsserviços orientadas a eventos |
author |
Marques, Pedro Henrique Linhas e |
author_facet |
Marques, Pedro Henrique Linhas e |
author_role |
author |
dc.contributor.none.fl_str_mv |
Azevedo, Isabel de Fátima Silva Repositório Científico do Instituto Politécnico do Porto |
dc.contributor.author.fl_str_mv |
Marques, Pedro Henrique Linhas e |
dc.subject.por.fl_str_mv |
Arquitetura de software Microsserviços Orientados a eventos Software Architecture Microservices Event-driven |
topic |
Arquitetura de software Microsserviços Orientados a eventos Software Architecture Microservices Event-driven |
description |
Uma arquitetura de microsserviços é composta por diferentes serviços independentes, que possuem as suas próprias camadas conseguindo comunicar entre si. Os mecanismos de comunicação síncrona utilizados neste tipo de arquitetura conduzem ao aumento da latência e ao risco da existência de timeouts. Sabendo-se da possível ocorrência de falhas mecanismos de controlo sobre o estado do sistema são recomendados. Complementarmente, a escalabilidade deve de estar presente consoante as necessidades. Este tipo de arquitetura combinada com abordagens orientadas a eventos pode-se revelar uma alternativa razoável quando se possui requisitos de desempenho, tolerância a falhas e escalabilidade. Uma visão geral do estado de arte das arquiteturas de microsserviços orientadas a eventos é realizada, com recurso a uma revisão sistemática da literatura. Aqui são exploradas as preocupações, desafios, topologias, tecnologias e métricas a considerar aquando da exploração da temática das arquiteturas de microsserviços orientadas a eventos. Após a recolha de informação, uma análise de valor sobre o valor deste projeto de tese é construída, com recurso ao processo de inovação New Concept Development (NCD). Alcançando-se a ideia mais relevante de explorar, apoiada pela aplicação do método Analytic Hierarchy Process (AHP), ou seja, o desenvolvimento de dois protótipos de microsserviços orientados a eventos arquitecturalmente distintos. O primeiro aplicando a topologia mediadora e o segundo aplicando o modelo ator. Escolhida a ideia mais relevante de se explorar é realizada a análise e a conceção da solução. Abordando-se o problema de negócio de estacionamento de veículos, bem como são construídos os processos de engenharia de requisitos e de análise funcional com recurso ao método Quality Function Deployment (QFD). Depois evidencia-se as alterações arquiteturais a realizar às aplicações típicas da empresa, para que estas contemplem as abordagens referentes à aplicação da topologia mediadora e do modelo ator. Posteriormente, a implementação dos protótipos correspondentes é realizada, começando-se pela definição das dependências principais de cada protótipo, depois os detalhes de implementação mais relevantes dos mesmos são expressos. O processo de implementação é concluído com a realização de testes, assegurando a qualidade dos protótipos alcançados. Ulteriormente, a avaliação dos protótipos desenvolvidos é suportada segundo certas métricas, alcançadas com base na abordagem Goal, Questions, Metrics (GQM), permitindo avaliar o desempenho, a escalabilidade, a disponibilidade e a monitorabilidade de cada protótipo. Os resultados atingidos permitiram comparar os diferentes protótipos, sendo o protótipo baseado na topologia mediadora aquele que melhor harmoniza desempenho, disponibilidade, monitorabilidade e escalabilidade. Por fim, as conclusões do trabalho de mestrado são expressas, onde se apresentam os resultados atingidos, as contribuições, ameaças e pontos de trabalho futuro. |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-09-12T15:07:44Z 2023 2023-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10400.22/23519 TID:203352645 |
url |
http://hdl.handle.net/10400.22/23519 |
identifier_str_mv |
TID:203352645 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799133558548201472 |