A evolução das arquiteturas monolíticas para as arquiteturas baseadas em microserviços
Autor(a) principal: | |
---|---|
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 |