Avaliação da Framework gRPC

Detalhes bibliográficos
Autor(a) principal: Rodrigues , José António Moreira
Data de Publicação: 2022
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/20874
Resumo: A arquitetura e construção de software pode ser descrita como um processo evolutivo que, através de constantes iterações, conduz ao desenvolvimento de melhores tecnologias, abordagens, processos, entre outros. Esta evolução nasce devido à necessidade de mudança – necessidade esta que pode surgir devido a novas tecnologias, métodos, objetivos ou outra qualquer alteração no ambiente. A arquitetura baseada em microsserviços pode ser vista como um dos resultados deste processo evolutivo – trata-se de uma abordagem à construção de aplicações complexas, onde a aplicação é dividida num conjunto de elementos de menor tamanho, autónomos, e que comunicam entre si. Embora a adoção desta abordagem traga consigo uma série de vantagens que lhe são associadas, – agilidade de desenvolvimento, eficiência de recursos e manutenibilidade, para nomear algumas – a comunicação entre os vários serviços continua a mostrar-se relativamente desafiante. gRPC, desenvolvido pela Google em 2015, é uma framework RPC que pode servir de alternativa a outras abordagens à comunicação entre microsserviços (como é o caso do estilo REST) que constituem uma aplicação, e que foi introduzida com o objetivo de promover o desenvolvimento de soluções baseadas em microsserviços e simplificar a troca de mensagens entre sistemas. Dada a juventude desta framework existe alguma dificuldade em compreender as ideias por trás da mesma e como esta pode ser adotada. Este documento apresenta os conceitos que compõe esta framework e descreve, resumidamente, a abordagem REST – a principal abordagem ao desenvolvimento de comunicação (síncrona) entre microsserviços. Para além disso, é também proposto e apresentado o desenvolvimento de aplicações protótipo com o objetivo estudar a adoção destas abordagens. O documento termina com uma avaliação ao desempenho dos protótipos desenvolvidos e com uma conclusão que tem como objetivo ajudar a perceber como gRPC se compara com a adoção de REST quando aplicada a diversos cenários de comunicação entre microsserviços.
id RCAP_c0728955791dc10e4308642a7d700ef0
oai_identifier_str oai:recipp.ipp.pt:10400.22/20874
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 Avaliação da Framework gRPCgRPCRESTMicrosserviçosComunicaçãoMicroservicesCommunicationA arquitetura e construção de software pode ser descrita como um processo evolutivo que, através de constantes iterações, conduz ao desenvolvimento de melhores tecnologias, abordagens, processos, entre outros. Esta evolução nasce devido à necessidade de mudança – necessidade esta que pode surgir devido a novas tecnologias, métodos, objetivos ou outra qualquer alteração no ambiente. A arquitetura baseada em microsserviços pode ser vista como um dos resultados deste processo evolutivo – trata-se de uma abordagem à construção de aplicações complexas, onde a aplicação é dividida num conjunto de elementos de menor tamanho, autónomos, e que comunicam entre si. Embora a adoção desta abordagem traga consigo uma série de vantagens que lhe são associadas, – agilidade de desenvolvimento, eficiência de recursos e manutenibilidade, para nomear algumas – a comunicação entre os vários serviços continua a mostrar-se relativamente desafiante. gRPC, desenvolvido pela Google em 2015, é uma framework RPC que pode servir de alternativa a outras abordagens à comunicação entre microsserviços (como é o caso do estilo REST) que constituem uma aplicação, e que foi introduzida com o objetivo de promover o desenvolvimento de soluções baseadas em microsserviços e simplificar a troca de mensagens entre sistemas. Dada a juventude desta framework existe alguma dificuldade em compreender as ideias por trás da mesma e como esta pode ser adotada. Este documento apresenta os conceitos que compõe esta framework e descreve, resumidamente, a abordagem REST – a principal abordagem ao desenvolvimento de comunicação (síncrona) entre microsserviços. Para além disso, é também proposto e apresentado o desenvolvimento de aplicações protótipo com o objetivo estudar a adoção destas abordagens. O documento termina com uma avaliação ao desempenho dos protótipos desenvolvidos e com uma conclusão que tem como objetivo ajudar a perceber como gRPC se compara com a adoção de REST quando aplicada a diversos cenários de comunicação entre microsserviços.Software architecture and construction can be described as an evolutionary process that, through constant iterations, leads to the development of better technologies, approaches, processes, among others. This evolution arises due to the need for change - a need that can arise due to new technologies, methods, goals, or any other change in the environment. The microservices-based architecture can be seen as one of the results of this evolutionary process - it's an approach to building complex applications, where the application is divided into a set of smaller elements, that are autonomous, and that communicate with each other. While adopting this approach brings with it several advantages associated with it - development agility, resource efficiency, and maintainability, to name a few - communication between the various services still proves to be relatively challenging. gRPC, developed by Google in 2015, is an RPC framework that can serve as an alternative to implementing communication between microservices that constitute an application, and that was introduced with the goal of promoting the development of microservices-based solutions and simplifying the exchange of messages between systems. Given the youth of this framework there is some difficulty in understanding the ideas behind it and how it can be adopted. This paper presents the concepts that make up this framework, and briefly describes the REST approach - the main approach to the development of (synchronous) communication between microservices. In addition, the development of prototype applications is also proposed and presented in order to study the adoption of these approaches. The document ends with an evaluation of the performance of the prototypes developed and with a conclusion that aims to help understand how gRPC compares to the adoption of REST when applied to several scenarios of communication between microservices.Bragança, Alexandre Manuel TavaresRepositório Científico do Instituto Politécnico do PortoRodrigues , José António Moreira2022-09-13T10:57:00Z20222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/20874TID:203058763porinfo: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-03-13T13:16:25Zoai:recipp.ipp.pt:10400.22/20874Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:40:57.790780Repositó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 Avaliação da Framework gRPC
title Avaliação da Framework gRPC
spellingShingle Avaliação da Framework gRPC
Rodrigues , José António Moreira
gRPC
REST
Microsserviços
Comunicação
Microservices
Communication
title_short Avaliação da Framework gRPC
title_full Avaliação da Framework gRPC
title_fullStr Avaliação da Framework gRPC
title_full_unstemmed Avaliação da Framework gRPC
title_sort Avaliação da Framework gRPC
author Rodrigues , José António Moreira
author_facet Rodrigues , José António Moreira
author_role author
dc.contributor.none.fl_str_mv Bragança, Alexandre Manuel Tavares
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Rodrigues , José António Moreira
dc.subject.por.fl_str_mv gRPC
REST
Microsserviços
Comunicação
Microservices
Communication
topic gRPC
REST
Microsserviços
Comunicação
Microservices
Communication
description A arquitetura e construção de software pode ser descrita como um processo evolutivo que, através de constantes iterações, conduz ao desenvolvimento de melhores tecnologias, abordagens, processos, entre outros. Esta evolução nasce devido à necessidade de mudança – necessidade esta que pode surgir devido a novas tecnologias, métodos, objetivos ou outra qualquer alteração no ambiente. A arquitetura baseada em microsserviços pode ser vista como um dos resultados deste processo evolutivo – trata-se de uma abordagem à construção de aplicações complexas, onde a aplicação é dividida num conjunto de elementos de menor tamanho, autónomos, e que comunicam entre si. Embora a adoção desta abordagem traga consigo uma série de vantagens que lhe são associadas, – agilidade de desenvolvimento, eficiência de recursos e manutenibilidade, para nomear algumas – a comunicação entre os vários serviços continua a mostrar-se relativamente desafiante. gRPC, desenvolvido pela Google em 2015, é uma framework RPC que pode servir de alternativa a outras abordagens à comunicação entre microsserviços (como é o caso do estilo REST) que constituem uma aplicação, e que foi introduzida com o objetivo de promover o desenvolvimento de soluções baseadas em microsserviços e simplificar a troca de mensagens entre sistemas. Dada a juventude desta framework existe alguma dificuldade em compreender as ideias por trás da mesma e como esta pode ser adotada. Este documento apresenta os conceitos que compõe esta framework e descreve, resumidamente, a abordagem REST – a principal abordagem ao desenvolvimento de comunicação (síncrona) entre microsserviços. Para além disso, é também proposto e apresentado o desenvolvimento de aplicações protótipo com o objetivo estudar a adoção destas abordagens. O documento termina com uma avaliação ao desempenho dos protótipos desenvolvidos e com uma conclusão que tem como objetivo ajudar a perceber como gRPC se compara com a adoção de REST quando aplicada a diversos cenários de comunicação entre microsserviços.
publishDate 2022
dc.date.none.fl_str_mv 2022-09-13T10:57:00Z
2022
2022-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/20874
TID:203058763
url http://hdl.handle.net/10400.22/20874
identifier_str_mv TID:203058763
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_ 1799131497337192448