Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações do UNIOESTE |
Texto Completo: | https://tede.unioeste.br/handle/tede/6034 |
Resumo: | As arquiteturas de microsserviços são afetadas pelos chamados antipadrões, que são maus hábitos de implementação que afetam a qualidade do software. Considerando que a grande maioria dos sistemas baseados em microsserviços são migrados de sistemas legados monolíticos, esses antipadrões podem ser uma herança indesejável que deve ser evitada pois isto afeta negativamente a arquitetura de microsserviços, causando problemas de manutenibilidade, gerenciamento e evolução do sistema. Alguns desses antipadrões de microsserviços devem ser mitigados nas fases iniciais do processo de migração, ou seja, durante a pré-migração. Para ajudar profissionais e pesquisadores a mitigar antipadrões de microsserviços durante a pré-migração, esta dissertação apresenta um estudo exploratório que examina as estratégias existentes. Este estudo aborda os antipadrões já catalogados na literatura e define quais podem ser mitigados por meio de um melhor planejamento na fase de pré-migração ao passar de sistemas monolíticos para sistemas baseados em microsserviços. Este estudo se baseia em multi-métodos compostos por um mapeamento sistemático da literatura, uma revisão rápida e entrevistas com profissionais. Em seguida, os resultados são analisados por meio da análise temática. Como resultado, dez estratégias foram identificadas, que são, adotar o domain-driven design, uso da strangler pattern, identificar o alto acoplamento, usar uma estratégia de backlog, agrupamento de entidades, classificar dados como subsistema de negócios, olhar primeiro para os dados, uso de clean architecture, adotar twelve factor app e adotar uma estratégia de garantia de evolução do sistema. |
id |
UNIOESTE-1_220f9799b3f5ae99b7cb810a2878aa12 |
---|---|
oai_identifier_str |
oai:tede.unioeste.br:tede/6034 |
network_acronym_str |
UNIOESTE-1 |
network_name_str |
Biblioteca Digital de Teses e Dissertações do UNIOESTE |
repository_id_str |
|
spelling |
Silva, Ivonei Freitas dahttp://lattes.cnpq.br/4053071719790087Silva, Ivonei Freitas dahttp://lattes.cnpq.br/4053071719790087Assunção, Wesley Klewerton Guezhttp://lattes.cnpq.br/2841032013026879Andrade, Sidgley Camargo dehttp://lattes.cnpq.br/2230323637134843http://lattes.cnpq.br/6956551345123012Villaca, Guilherme Luciano Donin2022-05-12T14:46:22Z2022-02-11VILLACA, Guilherme Luciano Donin. Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices. 2022. 141 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Estadual do Oeste do Paraná, Cascavel - PR.https://tede.unioeste.br/handle/tede/6034As arquiteturas de microsserviços são afetadas pelos chamados antipadrões, que são maus hábitos de implementação que afetam a qualidade do software. Considerando que a grande maioria dos sistemas baseados em microsserviços são migrados de sistemas legados monolíticos, esses antipadrões podem ser uma herança indesejável que deve ser evitada pois isto afeta negativamente a arquitetura de microsserviços, causando problemas de manutenibilidade, gerenciamento e evolução do sistema. Alguns desses antipadrões de microsserviços devem ser mitigados nas fases iniciais do processo de migração, ou seja, durante a pré-migração. Para ajudar profissionais e pesquisadores a mitigar antipadrões de microsserviços durante a pré-migração, esta dissertação apresenta um estudo exploratório que examina as estratégias existentes. Este estudo aborda os antipadrões já catalogados na literatura e define quais podem ser mitigados por meio de um melhor planejamento na fase de pré-migração ao passar de sistemas monolíticos para sistemas baseados em microsserviços. Este estudo se baseia em multi-métodos compostos por um mapeamento sistemático da literatura, uma revisão rápida e entrevistas com profissionais. Em seguida, os resultados são analisados por meio da análise temática. Como resultado, dez estratégias foram identificadas, que são, adotar o domain-driven design, uso da strangler pattern, identificar o alto acoplamento, usar uma estratégia de backlog, agrupamento de entidades, classificar dados como subsistema de negócios, olhar primeiro para os dados, uso de clean architecture, adotar twelve factor app e adotar uma estratégia de garantia de evolução do sistema.Microservice architectures are affected by the so-called anti-patterns, i.e., bad implementation habits that affect software quality. Considering that the vast majority of microservicesbased systems are migrated from monolithic legacy systems, these anti-patterns can be an undesirable inheritance that must be avoided. Some of these microservice anti-patterns should be mitigated in the early stages of the migration process, namely during premigration. To assist practitioners and researchers in mitigating microservice anti-patterns during pre-migration, this dissertation presents an exploratory study that examines existing strategies. This study addresses the anti-patterns already catalogued in the literature and defined which ones can be mitigated through better pre-migration planning when moving from monolithic to microservice-based systems. This study relies on multi-methods composed of a systematic literature mapping, a rapid review and interview with practitioners. Then, results are analysed using thematic analysis. As a result, ten strategies were identified, namely adopt the domain-driven design, use the strangler pattern, identify tight coupling, use of backlog strategy, group entities, classify data in business subsystem, look at data first, focus on clean architecture, adopt the twelve factor app, and adoption of the evolvability assurance.Submitted by Neusa Fagundes (neusa.fagundes@unioeste.br) on 2022-05-12T14:46:22Z No. of bitstreams: 2 Guilherme_Villaca2022.pdf: 4105497 bytes, checksum: dc90cd949c69adfe49622573ee602fc7 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)Made available in DSpace on 2022-05-12T14:46:22Z (GMT). No. of bitstreams: 2 Guilherme_Villaca2022.pdf: 4105497 bytes, checksum: dc90cd949c69adfe49622573ee602fc7 (MD5) license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) Previous issue date: 2022-02-11application/pdfpor6588633818200016417500Universidade Estadual do Oeste do ParanáCascavelPrograma de Pós-Graduação em Ciência da ComputaçãoUNIOESTEBrasilCentro de Ciências Exatas e Tecnológicashttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessMonolithicMigrationMicroservicesAnti-patternsStrategiesMonoliticoMigraçãoMicrosserviçosAnti-padrõesEstratégiasCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOStrategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservicesEstratégias para mitigar antipadrões em microsserviços antes da migração de um sistema monolítico para microsserviçosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis2214374442868382015600600-862078257083325301reponame:Biblioteca Digital de Teses e Dissertações do UNIOESTEinstname:Universidade Estadual do Oeste do Paraná (UNIOESTE)instacron:UNIOESTEORIGINALGuilherme_Villaca2022.pdfGuilherme_Villaca2022.pdfapplication/pdf4105497http://tede.unioeste.br:8080/tede/bitstream/tede/6034/5/Guilherme_Villaca2022.pdfdc90cd949c69adfe49622573ee602fc7MD55CC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://tede.unioeste.br:8080/tede/bitstream/tede/6034/2/license_url4afdbb8c545fd630ea7db775da747b2fMD52license_textlicense_texttext/html; charset=utf-80http://tede.unioeste.br:8080/tede/bitstream/tede/6034/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://tede.unioeste.br:8080/tede/bitstream/tede/6034/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-82165http://tede.unioeste.br:8080/tede/bitstream/tede/6034/1/license.txtbd3efa91386c1718a7f26a329fdcb468MD51tede/60342022-05-12 11:46:22.387oai:tede.unioeste.br:tede/6034Tk9UQTogQ09MT1FVRSBBUVVJIEEgU1VBIFBSw5NQUklBIExJQ0VOw4dBCkVzdGEgbGljZW7Dp2EgZGUgZXhlbXBsbyDDqSBmb3JuZWNpZGEgYXBlbmFzIHBhcmEgZmlucyBpbmZvcm1hdGl2b3MuCgpMSUNFTsOHQSBERSBESVNUUklCVUnDh8ODTyBOw4NPLUVYQ0xVU0lWQQoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgClhYWCAoU2lnbGEgZGEgVW5pdmVyc2lkYWRlKSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUgcmVwcm9kdXppciwgIHRyYWR1emlyIChjb25mb3JtZSBkZWZpbmlkbyBhYmFpeG8pLCBlL291IApkaXN0cmlidWlyIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyAoaW5jbHVpbmRvIG8gcmVzdW1vKSBwb3IgdG9kbyBvIG11bmRvIG5vIGZvcm1hdG8gaW1wcmVzc28gZSBlbGV0csO0bmljbyBlIAplbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhbnNwb3IgYSBzdWEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIApwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlIGEgU2lnbGEgZGUgVW5pdmVyc2lkYWRlIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBhIHN1YSB0ZXNlIG91IApkaXNzZXJ0YcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyAKbmVzdGEgbGljZW7Dp2EuIFZvY8OqIHRhbWLDqW0gZGVjbGFyYSBxdWUgbyBkZXDDs3NpdG8gZGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyBuw6NvLCBxdWUgc2VqYSBkZSBzZXUgCmNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiAKZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIMOgIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSAKb3MgZGlyZWl0b3MgYXByZXNlbnRhZG9zIG5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIAppZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0byBvdSBubyBjb250ZcO6ZG8gZGEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFRFU0UgT1UgRElTU0VSVEHDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSAKQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PIFFVRSBOw4NPIFNFSkEgQSBTSUdMQSBERSAKVU5JVkVSU0lEQURFLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyAKVEFNQsOJTSBBUyBERU1BSVMgT0JSSUdBw4fDlUVTIEVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpBIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lIChzKSBvdSBvKHMpIG5vbWUocykgZG8ocykgCmRldGVudG9yKGVzKSBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIApjb25jZWRpZGFzIHBvciBlc3RhIGxpY2Vuw6dhLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://tede.unioeste.br/PUBhttp://tede.unioeste.br/oai/requestbiblioteca.repositorio@unioeste.bropendoar:2022-05-12T14:46:22Biblioteca Digital de Teses e Dissertações do UNIOESTE - Universidade Estadual do Oeste do Paraná (UNIOESTE)false |
dc.title.por.fl_str_mv |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
dc.title.alternative.por.fl_str_mv |
Estratégias para mitigar antipadrões em microsserviços antes da migração de um sistema monolítico para microsserviços |
title |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
spellingShingle |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices Villaca, Guilherme Luciano Donin Monolithic Migration Microservices Anti-patterns Strategies Monolitico Migração Microsserviços Anti-padrões Estratégias CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
title_short |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
title_full |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
title_fullStr |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
title_full_unstemmed |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
title_sort |
Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices |
author |
Villaca, Guilherme Luciano Donin |
author_facet |
Villaca, Guilherme Luciano Donin |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Silva, Ivonei Freitas da |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/4053071719790087 |
dc.contributor.referee1.fl_str_mv |
Silva, Ivonei Freitas da |
dc.contributor.referee1Lattes.fl_str_mv |
http://lattes.cnpq.br/4053071719790087 |
dc.contributor.referee2.fl_str_mv |
Assunção, Wesley Klewerton Guez |
dc.contributor.referee2Lattes.fl_str_mv |
http://lattes.cnpq.br/2841032013026879 |
dc.contributor.referee3.fl_str_mv |
Andrade, Sidgley Camargo de |
dc.contributor.referee3Lattes.fl_str_mv |
http://lattes.cnpq.br/2230323637134843 |
dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/6956551345123012 |
dc.contributor.author.fl_str_mv |
Villaca, Guilherme Luciano Donin |
contributor_str_mv |
Silva, Ivonei Freitas da Silva, Ivonei Freitas da Assunção, Wesley Klewerton Guez Andrade, Sidgley Camargo de |
dc.subject.eng.fl_str_mv |
Monolithic Migration Microservices Anti-patterns Strategies |
topic |
Monolithic Migration Microservices Anti-patterns Strategies Monolitico Migração Microsserviços Anti-padrões Estratégias CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
dc.subject.por.fl_str_mv |
Monolitico Migração Microsserviços Anti-padrões Estratégias |
dc.subject.cnpq.fl_str_mv |
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO |
description |
As arquiteturas de microsserviços são afetadas pelos chamados antipadrões, que são maus hábitos de implementação que afetam a qualidade do software. Considerando que a grande maioria dos sistemas baseados em microsserviços são migrados de sistemas legados monolíticos, esses antipadrões podem ser uma herança indesejável que deve ser evitada pois isto afeta negativamente a arquitetura de microsserviços, causando problemas de manutenibilidade, gerenciamento e evolução do sistema. Alguns desses antipadrões de microsserviços devem ser mitigados nas fases iniciais do processo de migração, ou seja, durante a pré-migração. Para ajudar profissionais e pesquisadores a mitigar antipadrões de microsserviços durante a pré-migração, esta dissertação apresenta um estudo exploratório que examina as estratégias existentes. Este estudo aborda os antipadrões já catalogados na literatura e define quais podem ser mitigados por meio de um melhor planejamento na fase de pré-migração ao passar de sistemas monolíticos para sistemas baseados em microsserviços. Este estudo se baseia em multi-métodos compostos por um mapeamento sistemático da literatura, uma revisão rápida e entrevistas com profissionais. Em seguida, os resultados são analisados por meio da análise temática. Como resultado, dez estratégias foram identificadas, que são, adotar o domain-driven design, uso da strangler pattern, identificar o alto acoplamento, usar uma estratégia de backlog, agrupamento de entidades, classificar dados como subsistema de negócios, olhar primeiro para os dados, uso de clean architecture, adotar twelve factor app e adotar uma estratégia de garantia de evolução do sistema. |
publishDate |
2022 |
dc.date.accessioned.fl_str_mv |
2022-05-12T14:46:22Z |
dc.date.issued.fl_str_mv |
2022-02-11 |
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.citation.fl_str_mv |
VILLACA, Guilherme Luciano Donin. Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices. 2022. 141 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Estadual do Oeste do Paraná, Cascavel - PR. |
dc.identifier.uri.fl_str_mv |
https://tede.unioeste.br/handle/tede/6034 |
identifier_str_mv |
VILLACA, Guilherme Luciano Donin. Strategies to mitigate anti-patterns in microservices before migrating from a monolithic system to microservices. 2022. 141 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Estadual do Oeste do Paraná, Cascavel - PR. |
url |
https://tede.unioeste.br/handle/tede/6034 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.department.fl_str_mv |
2214374442868382015 |
dc.relation.confidence.fl_str_mv |
600 600 |
dc.relation.cnpq.fl_str_mv |
-862078257083325301 |
dc.rights.driver.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Estadual do Oeste do Paraná Cascavel |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação |
dc.publisher.initials.fl_str_mv |
UNIOESTE |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
Centro de Ciências Exatas e Tecnológicas |
publisher.none.fl_str_mv |
Universidade Estadual do Oeste do Paraná Cascavel |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações do UNIOESTE instname:Universidade Estadual do Oeste do Paraná (UNIOESTE) instacron:UNIOESTE |
instname_str |
Universidade Estadual do Oeste do Paraná (UNIOESTE) |
instacron_str |
UNIOESTE |
institution |
UNIOESTE |
reponame_str |
Biblioteca Digital de Teses e Dissertações do UNIOESTE |
collection |
Biblioteca Digital de Teses e Dissertações do UNIOESTE |
bitstream.url.fl_str_mv |
http://tede.unioeste.br:8080/tede/bitstream/tede/6034/5/Guilherme_Villaca2022.pdf http://tede.unioeste.br:8080/tede/bitstream/tede/6034/2/license_url http://tede.unioeste.br:8080/tede/bitstream/tede/6034/3/license_text http://tede.unioeste.br:8080/tede/bitstream/tede/6034/4/license_rdf http://tede.unioeste.br:8080/tede/bitstream/tede/6034/1/license.txt |
bitstream.checksum.fl_str_mv |
dc90cd949c69adfe49622573ee602fc7 4afdbb8c545fd630ea7db775da747b2f d41d8cd98f00b204e9800998ecf8427e d41d8cd98f00b204e9800998ecf8427e bd3efa91386c1718a7f26a329fdcb468 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações do UNIOESTE - Universidade Estadual do Oeste do Paraná (UNIOESTE) |
repository.mail.fl_str_mv |
biblioteca.repositorio@unioeste.br |
_version_ |
1801124588184141824 |