Análise de Impacto do GraphQL Federation
Autor(a) principal: | |
---|---|
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 |