Análise de Impacto do GraphQL Federation

Detalhes bibliográficos
Autor(a) principal: Fontão, João Filipe Pereira
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
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/21069
Resumo: Microservices architectures have gained more admirers due to the problems they came to solve from previous architectures, which led many companies to adopt this architecture. When this architecture emerged, REST was one of the leading architectural styles used with microservices. However, with the growth of microservices, it was noticed that it presents some problems when there is a significant increase in the complexity of applications. Due to the problems found with the existing approaches, it was tried to find solutions that could help solve these problems, and it was then that the company Facebook launched GraphQL as one of the most promising alternatives. Although GraphQL is recent, many studies have already compared it with other approaches such as REST. GraphQL then began to become increasingly popular, and although there is already some documentation and studies, there are still topics that have not been adequately explored. For this reason, the focus of this thesis is to explore the impact that GraphQL has on quality attributes in a microservices architecture, focusing on a new approach, GraphQL federation. There is still little documentation on this approach, and the impact of its implementation is not very well known, but despite being recent, it has already been implemented by large companies such as Netflix, PayPal and GitHub. This dissertation also provides an insight into the current state of GraphQL in a microservices architecture, including the benefits, problems, success stories, some patterns, and a more detailed explanation of the GraphQL federation architecture. A proof of concept was developed by implementing GraphQL federation to a solution that already used GraphQL with microservices. Afterward, the solutions were evaluated in terms of performance and maintainability, and a comparison was later made between the two projects to see if federation impacted these quality attributes. One of the conclusions of this study is that the GraphQL federation solution has better maintainability, taking into account the qualitative assessment. However, in terms of performance, the solutions do not show significant differences, presenting both good performance results.
id RCAP_d1d9d0b291274fa12185eada29a660f3
oai_identifier_str oai:recipp.ipp.pt:10400.22/21069
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 Análise de Impacto do GraphQL FederationMicroservicesGraphQLQuality attributesFederationMicrosserviçosAtributos de qualidadeFederaçãoMicroservices architectures have gained more admirers due to the problems they came to solve from previous architectures, which led many companies to adopt this architecture. When this architecture emerged, REST was one of the leading architectural styles used with microservices. However, with the growth of microservices, it was noticed that it presents some problems when there is a significant increase in the complexity of applications. Due to the problems found with the existing approaches, it was tried to find solutions that could help solve these problems, and it was then that the company Facebook launched GraphQL as one of the most promising alternatives. Although GraphQL is recent, many studies have already compared it with other approaches such as REST. GraphQL then began to become increasingly popular, and although there is already some documentation and studies, there are still topics that have not been adequately explored. For this reason, the focus of this thesis is to explore the impact that GraphQL has on quality attributes in a microservices architecture, focusing on a new approach, GraphQL federation. There is still little documentation on this approach, and the impact of its implementation is not very well known, but despite being recent, it has already been implemented by large companies such as Netflix, PayPal and GitHub. This dissertation also provides an insight into the current state of GraphQL in a microservices architecture, including the benefits, problems, success stories, some patterns, and a more detailed explanation of the GraphQL federation architecture. A proof of concept was developed by implementing GraphQL federation to a solution that already used GraphQL with microservices. Afterward, the solutions were evaluated in terms of performance and maintainability, and a comparison was later made between the two projects to see if federation impacted these quality attributes. One of the conclusions of this study is that the GraphQL federation solution has better maintainability, taking into account the qualitative assessment. However, in terms of performance, the solutions do not show significant differences, presenting both good performance results.As arquiteturas de microsserviços têm conquistado mais admiradores devido aos problemas que vieram resolver das arquiteturas anteriores, o que levou um grande número de empresas a adotar esta arquitetura. Quando esta arquitetura surgiu, REST era um dos principais estilos de arquitetónicos usados com microsserviços. Porém, com o crescimento de microsserviços percebeu-se que este apresenta alguns problemas quando existe um crescimento significativo das aplicações. Devido aos problemas encontrados com as abordagens existentes, procurou-se encontrar soluções que pudessem ajudar a resolver esses problemas, e foi então que a empresa Facebook lançou o GraphQL como uma das alternativas mais promissoras. Embora o GraphQL seja recente, muitos estudos já o compararam com outras abordagens, como REST. GraphQL começou então a tornar-se cada vez mais popular, e apesar de já existir alguma documentação e estudos, ainda existem tópicos que não foram devidamente explorados. Por esta razão, o foco desta tese é explorar o impacto que o GraphQL tem nos atributos de qualidade numa arquitetura de microsserviços, focando numa nova abordagem, GraphQL federation. Ainda há pouca documentação sobre esta abordagem, e o impacto da sua implementação não é muito conhecida, mas apesar de recente, já foi implementado por grandes empresas como Netflix, PayPal e GitHub. Esta dissertação também fornece uma visão do estado atual do GraphQL numa arquitetura de microsserviços, incluindo os benefícios, problemas, casos de sucesso, alguns padrões e uma explicação mais detalhada da arquitetura de GraphQL federation. Uma prova de conceito foi desenvolvida com a implementação de GraphQL federation numa solução que já usava GraphQL com microsserviços. Depois foi realizada uma avaliação das soluções em termos de desempenho e de manutabilidade e foi posteriormente feita uma comparação entre as duas soluções para se verificar se federation tem impacto nestes atributos de qualidade. Uma das conclusões deste estudo é que a solução de GraphQL federation apresenta uma melhor manutabilidade, tendo em consideração a avaliação qualitativa. No entanto, relativamente ao desempenho as soluções não apresentam diferenças significativas, apresentando ambas bons resultados de desempenho.Azevedo, Isabel de Fátima SilvaRepositório Científico do Instituto Politécnico do PortoFontão, João Filipe Pereira20222025-07-26T00:00:00Z2022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/21069TID:203086678enginfo:eu-repo/semantics/embargoedAccessreponame: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-03-13T13:16:54Zoai:recipp.ipp.pt:10400.22/21069Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:41:09.511845Repositó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 Análise de Impacto do GraphQL Federation
title Análise de Impacto do GraphQL Federation
spellingShingle Análise de Impacto do GraphQL Federation
Fontão, João Filipe Pereira
Microservices
GraphQL
Quality attributes
Federation
Microsserviços
Atributos de qualidade
Federação
title_short Análise de Impacto do GraphQL Federation
title_full Análise de Impacto do GraphQL Federation
title_fullStr Análise de Impacto do GraphQL Federation
title_full_unstemmed Análise de Impacto do GraphQL Federation
title_sort Análise de Impacto do GraphQL Federation
author Fontão, João Filipe Pereira
author_facet Fontão, João Filipe Pereira
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 Fontão, João Filipe Pereira
dc.subject.por.fl_str_mv Microservices
GraphQL
Quality attributes
Federation
Microsserviços
Atributos de qualidade
Federação
topic Microservices
GraphQL
Quality attributes
Federation
Microsserviços
Atributos de qualidade
Federação
description Microservices architectures have gained more admirers due to the problems they came to solve from previous architectures, which led many companies to adopt this architecture. When this architecture emerged, REST was one of the leading architectural styles used with microservices. However, with the growth of microservices, it was noticed that it presents some problems when there is a significant increase in the complexity of applications. Due to the problems found with the existing approaches, it was tried to find solutions that could help solve these problems, and it was then that the company Facebook launched GraphQL as one of the most promising alternatives. Although GraphQL is recent, many studies have already compared it with other approaches such as REST. GraphQL then began to become increasingly popular, and although there is already some documentation and studies, there are still topics that have not been adequately explored. For this reason, the focus of this thesis is to explore the impact that GraphQL has on quality attributes in a microservices architecture, focusing on a new approach, GraphQL federation. There is still little documentation on this approach, and the impact of its implementation is not very well known, but despite being recent, it has already been implemented by large companies such as Netflix, PayPal and GitHub. This dissertation also provides an insight into the current state of GraphQL in a microservices architecture, including the benefits, problems, success stories, some patterns, and a more detailed explanation of the GraphQL federation architecture. A proof of concept was developed by implementing GraphQL federation to a solution that already used GraphQL with microservices. Afterward, the solutions were evaluated in terms of performance and maintainability, and a comparison was later made between the two projects to see if federation impacted these quality attributes. One of the conclusions of this study is that the GraphQL federation solution has better maintainability, taking into account the qualitative assessment. However, in terms of performance, the solutions do not show significant differences, presenting both good performance results.
publishDate 2022
dc.date.none.fl_str_mv 2022
2022-01-01T00:00:00Z
2025-07-26T00: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/21069
TID:203086678
url http://hdl.handle.net/10400.22/21069
identifier_str_mv TID:203086678
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/embargoedAccess
eu_rights_str_mv embargoedAccess
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_ 1799131499445878784