A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços

Detalhes bibliográficos
Autor(a) principal: Amaral, José Diogo Coelho
Data de Publicação: 2018
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/11920
Resumo: As abordagens existentes ao desenvolvimento de software têm vindo a alterar-se ao longo dos anos. Verifica-se a necessidade de assegurar uma crescente adaptação à exigência do mercado das tecnologias de informação e a cada vez mais exigentes padrões de qualidade do processo e ciclo de desenvolvimento. As empresas pretendem assegurar uma resposta adequada aos requisitos dos seus clientes, com elevados níveis de usabilidade, fiabilidade, desempenho e suporte dos produtos de software que desenvolvem, ao mesmo tempo que agilizam os processos e o desempenho das equipas de desenvolvimento. Neste contexto, esta dissertação tem como propósito descrever o processo de alteração de uma aplicação, em utilização num contexto real da indústria de serviços, suportada por uma arquitetura monolítica para uma arquitetura de microserviços. Pretende-se também avaliar impactos e melhorias com a alteração da arquitetura de microserviços comparativamente à arquitetura monolítica, avaliando ganhos ao adicionar algumas vantagens descritas associadas a essa tipologia, tais como maior agilidade, escalabilidade e independência. Para isso, foi definido um processo de transformação arquitetura considerado o adequado para a aplicação em questão. Foram tidas em consideração as boas práticas de engenharia de software e abordagens como continuous integration e automated testing. É relevante referir que a alteração da aplicação foi efetuada num ambiente de produção, O contexto da aplicação é um sistema desenvolvido internamente para suportar a gestão financeira de projetos. As alterações foram efetuadas mantendo o sistema disponível a todos os utilizadores, permitindo analisar impactos na organização e definição de melhorias a vários níveis (apresentados nas seções seguintes). A alteração arquitetural da aplicação permitiu melhorias quantificáveis na agilidade associado ao processo de desenvolvimento de novos microserviços e o aumento do número de processos automatizados. São também quantificáveis melhorias na entrega do código e na execução de testes. Outras melhorias a nível do desempenho da aplicação e na escalabilidade são apresentadas e discutidas, uma vez que a aplicação passou a ser um sistema distribuído, utilizando recursos de vários servidores.
id RCAP_09e9156fa23bf09ab78479e4c487fb64
oai_identifier_str oai:recipp.ipp.pt:10400.22/11920
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 A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviçosMicroserviçosContinuous IntegrationContinuous DeliveryAutomated testingMonolíticaEvolução arquiteturalMicroservicesMonolithicArchitectural evolutionSistemas de Informação e ConhecimentoAs abordagens existentes ao desenvolvimento de software têm vindo a alterar-se ao longo dos anos. Verifica-se a necessidade de assegurar uma crescente adaptação à exigência do mercado das tecnologias de informação e a cada vez mais exigentes padrões de qualidade do processo e ciclo de desenvolvimento. As empresas pretendem assegurar uma resposta adequada aos requisitos dos seus clientes, com elevados níveis de usabilidade, fiabilidade, desempenho e suporte dos produtos de software que desenvolvem, ao mesmo tempo que agilizam os processos e o desempenho das equipas de desenvolvimento. Neste contexto, esta dissertação tem como propósito descrever o processo de alteração de uma aplicação, em utilização num contexto real da indústria de serviços, suportada por uma arquitetura monolítica para uma arquitetura de microserviços. Pretende-se também avaliar impactos e melhorias com a alteração da arquitetura de microserviços comparativamente à arquitetura monolítica, avaliando ganhos ao adicionar algumas vantagens descritas associadas a essa tipologia, tais como maior agilidade, escalabilidade e independência. Para isso, foi definido um processo de transformação arquitetura considerado o adequado para a aplicação em questão. Foram tidas em consideração as boas práticas de engenharia de software e abordagens como continuous integration e automated testing. É relevante referir que a alteração da aplicação foi efetuada num ambiente de produção, O contexto da aplicação é um sistema desenvolvido internamente para suportar a gestão financeira de projetos. As alterações foram efetuadas mantendo o sistema disponível a todos os utilizadores, permitindo analisar impactos na organização e definição de melhorias a vários níveis (apresentados nas seções seguintes). A alteração arquitetural da aplicação permitiu melhorias quantificáveis na agilidade associado ao processo de desenvolvimento de novos microserviços e o aumento do número de processos automatizados. São também quantificáveis melhorias na entrega do código e na execução de testes. Outras melhorias a nível do desempenho da aplicação e na escalabilidade são apresentadas e discutidas, uma vez que a aplicação passou a ser um sistema distribuído, utilizando recursos de vários servidores.The software development existing approaches have been changing throughout the years. There is a need to ensure a growing adaptation to the information technology market demand and to the increasingly demanding quality standards of the process and development cycle. Companies want to ensure that they respond appropriately to their customers' requirements, with high levels of usability, reliability, performance and support of the software products they develop, while streamlining the processes and performance of development teams. In this context, this dissertation aims to describe the process of changing an application, in use in a real service industry context, supported by a monolithic architecture to a microservice architecture. It is also intended to evaluate impacts and improvements with the alteration of the microservice architecture compared to the monolithic architecture, evaluating gains by adding some described advantages related to that typology, such as greater agility, scalability and independence. For this, it was defined a process of transformation architecture considered appropriate for the application in question. Good software engineering practices and approaches such as continuous integration and automated testing were considered. It is relevant to note that the application change was made in a production environment. The application context is a system developed internally to support the financial management of projects. The changes were made keeping the system available to all users, allowing to analyze impacts on the organization and definition of improvements at various levels (presented in the following sections). The architectural change of the application allowed for quantifiable improvements in the agility associated with the development process of new microservices and the increase in the number of automated processes. Improvements in code delivery and test execution are also quantifiable. Other improvements in application performance and scalability are presented and discussed as the application becomes a distributed system, using resources from multiple servers.Figueiredo, Ana Maria Neves Almeida BaptistaRepositório Científico do Instituto Politécnico do PortoAmaral, José Diogo Coelho2021-07-30T00:30:22Z20182018-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/11920TID:201972069porinfo: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-13T12:53:55Zoai:recipp.ipp.pt:10400.22/11920Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:32:14.367669Repositó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 A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
title A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
spellingShingle A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
Amaral, José Diogo Coelho
Microserviços
Continuous Integration
Continuous Delivery
Automated testing
Monolítica
Evolução arquitetural
Microservices
Monolithic
Architectural evolution
Sistemas de Informação e Conhecimento
title_short A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
title_full A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
title_fullStr A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
title_full_unstemmed A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
title_sort A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
author Amaral, José Diogo Coelho
author_facet Amaral, José Diogo Coelho
author_role author
dc.contributor.none.fl_str_mv Figueiredo, Ana Maria Neves Almeida Baptista
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Amaral, José Diogo Coelho
dc.subject.por.fl_str_mv Microserviços
Continuous Integration
Continuous Delivery
Automated testing
Monolítica
Evolução arquitetural
Microservices
Monolithic
Architectural evolution
Sistemas de Informação e Conhecimento
topic Microserviços
Continuous Integration
Continuous Delivery
Automated testing
Monolítica
Evolução arquitetural
Microservices
Monolithic
Architectural evolution
Sistemas de Informação e Conhecimento
description As abordagens existentes ao desenvolvimento de software têm vindo a alterar-se ao longo dos anos. Verifica-se a necessidade de assegurar uma crescente adaptação à exigência do mercado das tecnologias de informação e a cada vez mais exigentes padrões de qualidade do processo e ciclo de desenvolvimento. As empresas pretendem assegurar uma resposta adequada aos requisitos dos seus clientes, com elevados níveis de usabilidade, fiabilidade, desempenho e suporte dos produtos de software que desenvolvem, ao mesmo tempo que agilizam os processos e o desempenho das equipas de desenvolvimento. Neste contexto, esta dissertação tem como propósito descrever o processo de alteração de uma aplicação, em utilização num contexto real da indústria de serviços, suportada por uma arquitetura monolítica para uma arquitetura de microserviços. Pretende-se também avaliar impactos e melhorias com a alteração da arquitetura de microserviços comparativamente à arquitetura monolítica, avaliando ganhos ao adicionar algumas vantagens descritas associadas a essa tipologia, tais como maior agilidade, escalabilidade e independência. Para isso, foi definido um processo de transformação arquitetura considerado o adequado para a aplicação em questão. Foram tidas em consideração as boas práticas de engenharia de software e abordagens como continuous integration e automated testing. É relevante referir que a alteração da aplicação foi efetuada num ambiente de produção, O contexto da aplicação é um sistema desenvolvido internamente para suportar a gestão financeira de projetos. As alterações foram efetuadas mantendo o sistema disponível a todos os utilizadores, permitindo analisar impactos na organização e definição de melhorias a vários níveis (apresentados nas seções seguintes). A alteração arquitetural da aplicação permitiu melhorias quantificáveis na agilidade associado ao processo de desenvolvimento de novos microserviços e o aumento do número de processos automatizados. São também quantificáveis melhorias na entrega do código e na execução de testes. Outras melhorias a nível do desempenho da aplicação e na escalabilidade são apresentadas e discutidas, uma vez que a aplicação passou a ser um sistema distribuído, utilizando recursos de vários servidores.
publishDate 2018
dc.date.none.fl_str_mv 2018
2018-01-01T00:00:00Z
2021-07-30T00:30:22Z
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/11920
TID:201972069
url http://hdl.handle.net/10400.22/11920
identifier_str_mv TID:201972069
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_ 1799131416267587584