Publicação

Explorar performance com Apollo Federation

Ver documento

Detalhes bibliográficos
Resumo:The growing tendency in cloud-hosted computing and availability supported a shift in soft ware architecture to better take advantage of such technological advancements. As Mono lithic Architecture started evolving and maturing, businesses grew their dependency on soft ware solutions which motivated the shift into Microservice Architecture. The same shift is comparable with the evolution of Monolithic GraphQL solutions which, through its growth and evolution, also required a way forward in solving some of its bot tleneck issues. One of the alternatives, already chosen and proven by some enterprises, is GraphQL Federation. Due to its nobility, there is still a lack of knowledge and testing on the performance of GraphQL Federation architecture and what techniques such as caching strategies, batching and execution strategies impact it. This thesis aims to answer this lack of knowledge by first contextualizing the different as pects of GraphQL and GraphQL Federation and investigating the available and documented enterprise scenarios to extract best practices and to better understand how to prepare such performance evaluation. Next, multiple alternatives underwent the Analytic Hierarchy Process to choose the best way to develop a scenario to enable the performance analysis in a standard and structured way. Following this, the alternative base solutions were analysed and compared to deter mine the best fit for the current thesis. Functional and non-functional requirements were collected along with the rest of the design exercise to enhance the solution to be tested for performance. Finally, after the required development and implementation work was documented, the so lution was tested following the Goal Question Metric methodology and utilizing tools such as JMeter, Prometheus and Grafana to collect and visualize the performance data. It was possible to conclude that indeed different caching, batching and execution strategies have an impact on the GraphQL Federation solution. These impacts do shift between positive (improvements in performance) and negative (performance hindered by strategy) for the different tested strategies.
Autores principais:Queirós, Leandro Daniel Oliveira
Assunto:GraphQL Apollo Federation Performance GraphQL Federation
Ano:2023
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Instituto Politécnico do Porto
Idioma:inglês
Origem:Repositório Científico do Instituto Politécnico do Porto
_version_ 1877953741041172480
author Queirós, Leandro Daniel Oliveira
author_facet Queirós, Leandro Daniel Oliveira
author_role author
contributor_name_str_mv Azevedo, Isabel de Fátima Silva
REPOSITÓRIO P.PORTO
country_str PT
creators_json_txt [{\"Person.name\":\"Queirós, Leandro Daniel Oliveira\"}]
datacite.contributors.contributor.contributorName.fl_str_mv Azevedo, Isabel de Fátima Silva
REPOSITÓRIO P.PORTO
datacite.creators.creator.creatorName.fl_str_mv Queirós, Leandro Daniel Oliveira
datacite.date.Accepted.fl_str_mv 2023-07-26T00:00:00Z
datacite.date.available.fl_str_mv 2023-11-27T11:33:38Z
datacite.date.embargoed.fl_str_mv 2023-11-27T11:33:38Z
datacite.rights.fl_str_mv http://purl.org/coar/access_right/c_abf2
datacite.subjects.subject.fl_str_mv GraphQL
Apollo Federation
Performance
GraphQL Federation
datacite.titles.title.fl_str_mv Explorar performance com Apollo Federation
dc.contributor.none.fl_str_mv Azevedo, Isabel de Fátima Silva
REPOSITÓRIO P.PORTO
dc.creator.none.fl_str_mv Queirós, Leandro Daniel Oliveira
dc.date.Accepted.fl_str_mv 2023-07-26T00:00:00Z
dc.date.available.fl_str_mv 2023-11-27T11:33:38Z
dc.date.embargoed.fl_str_mv 2023-11-27T11:33:38Z
dc.format.none.fl_str_mv application/pdf
dc.identifier.none.fl_str_mv http://hdl.handle.net/10400.22/23985
dc.language.none.fl_str_mv eng
dc.rights.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.subject.none.fl_str_mv GraphQL
Apollo Federation
Performance
GraphQL Federation
dc.title.fl_str_mv Explorar performance com Apollo Federation
dc.type.none.fl_str_mv http://purl.org/coar/resource_type/c_bdcc
description The growing tendency in cloud-hosted computing and availability supported a shift in soft ware architecture to better take advantage of such technological advancements. As Mono lithic Architecture started evolving and maturing, businesses grew their dependency on soft ware solutions which motivated the shift into Microservice Architecture. The same shift is comparable with the evolution of Monolithic GraphQL solutions which, through its growth and evolution, also required a way forward in solving some of its bot tleneck issues. One of the alternatives, already chosen and proven by some enterprises, is GraphQL Federation. Due to its nobility, there is still a lack of knowledge and testing on the performance of GraphQL Federation architecture and what techniques such as caching strategies, batching and execution strategies impact it. This thesis aims to answer this lack of knowledge by first contextualizing the different as pects of GraphQL and GraphQL Federation and investigating the available and documented enterprise scenarios to extract best practices and to better understand how to prepare such performance evaluation. Next, multiple alternatives underwent the Analytic Hierarchy Process to choose the best way to develop a scenario to enable the performance analysis in a standard and structured way. Following this, the alternative base solutions were analysed and compared to deter mine the best fit for the current thesis. Functional and non-functional requirements were collected along with the rest of the design exercise to enhance the solution to be tested for performance. Finally, after the required development and implementation work was documented, the so lution was tested following the Goal Question Metric methodology and utilizing tools such as JMeter, Prometheus and Grafana to collect and visualize the performance data. It was possible to conclude that indeed different caching, batching and execution strategies have an impact on the GraphQL Federation solution. These impacts do shift between positive (improvements in performance) and negative (performance hindered by strategy) for the different tested strategies.
dirty 0
eu_rights_str_mv openAccess
format masterThesis
fulltext.url.fl_str_mv https://recipp.ipp.pt/bitstreams/0ab70597-cb03-4c5a-85d9-43dbc816daef/download
id recipp_c239becfa7ca2af1cdbfc7534f8bc1f7
identifier.url.fl_str_mv http://hdl.handle.net/10400.22/23985
inst_facet_str urn:organizationAcronym:recipp{{{_:::_}}}Instituto Politécnico do Porto
instacron_str recipp
institution Instituto Politécnico do Porto
instname_str Instituto Politécnico do Porto
language eng
network_acronym_str recipp
network_name_str Repositório Científico do Instituto Politécnico do Porto
oai_identifier_str oai:recipp.ipp.pt:10400.22/23985
organization_str_mv urn:organizationAcronym:recipp
person_str_mv Queirós, Leandro Daniel Oliveira
publishDate 2023
repo_facet_str urn:repositoryAcronym:recipp{{{_:::_}}}Repositório Científico do Instituto Politécnico do Porto
reponame_str Repositório Científico do Instituto Politécnico do Porto
repository_id_str urn:repositoryAcronym:recipp
service_str_mv urn:repositoryAcronym:recipp
spelling engpt_PTThe growing tendency in cloud-hosted computing and availability supported a shift in soft ware architecture to better take advantage of such technological advancements. As Mono lithic Architecture started evolving and maturing, businesses grew their dependency on soft ware solutions which motivated the shift into Microservice Architecture. The same shift is comparable with the evolution of Monolithic GraphQL solutions which, through its growth and evolution, also required a way forward in solving some of its bot tleneck issues. One of the alternatives, already chosen and proven by some enterprises, is GraphQL Federation. Due to its nobility, there is still a lack of knowledge and testing on the performance of GraphQL Federation architecture and what techniques such as caching strategies, batching and execution strategies impact it. This thesis aims to answer this lack of knowledge by first contextualizing the different as pects of GraphQL and GraphQL Federation and investigating the available and documented enterprise scenarios to extract best practices and to better understand how to prepare such performance evaluation. Next, multiple alternatives underwent the Analytic Hierarchy Process to choose the best way to develop a scenario to enable the performance analysis in a standard and structured way. Following this, the alternative base solutions were analysed and compared to deter mine the best fit for the current thesis. Functional and non-functional requirements were collected along with the rest of the design exercise to enhance the solution to be tested for performance. Finally, after the required development and implementation work was documented, the so lution was tested following the Goal Question Metric methodology and utilizing tools such as JMeter, Prometheus and Grafana to collect and visualize the performance data. It was possible to conclude that indeed different caching, batching and execution strategies have an impact on the GraphQL Federation solution. These impacts do shift between positive (improvements in performance) and negative (performance hindered by strategy) for the different tested strategies.application/pdfpt_PTExplorar performance com Apollo FederationQueirós, Leandro Daniel OliveiraAzevedo, Isabel de Fátima SilvaHostingInstitutionOrganizationalREPOSITÓRIO P.PORTOe-mailmailto:recipp@sc.ipp.ptrecipp@sc.ipp.ptURNurn:tid:2033807892023-11-27T11:33:38Z2023-07-262023-07-26T00:00:00ZHandlehttp://hdl.handle.net/10400.22/23985http://purl.org/coar/access_right/c_abf2open accessGraphQLApollo FederationPerformanceGraphQL Federation6834132 bytesliteraturehttp://purl.org/coar/resource_type/c_bdccmaster thesishttp://purl.org/coar/access_right/c_abf2application/pdffulltexthttps://recipp.ipp.pt/bitstreams/0ab70597-cb03-4c5a-85d9-43dbc816daef/download
spellingShingle Explorar performance com Apollo Federation
Queirós, Leandro Daniel Oliveira
GraphQL
Apollo Federation
Performance
GraphQL Federation
status SINGLETON
subject.fl_str_mv GraphQL
Apollo Federation
Performance
GraphQL Federation
title Explorar performance com Apollo Federation
title_full Explorar performance com Apollo Federation
title_fullStr Explorar performance com Apollo Federation
title_full_unstemmed Explorar performance com Apollo Federation
title_short Explorar performance com Apollo Federation
title_sort Explorar performance com Apollo Federation
topic GraphQL
Apollo Federation
Performance
GraphQL Federation
topic_facet GraphQL
Apollo Federation
Performance
GraphQL Federation
url http://hdl.handle.net/10400.22/23985
visible 1

Atividades financiadas

Não foram encontrados projetos financiados.