top of page

Projeto Refatoração de arquiteturas monolíticas para soluções desacopladas: uma abordagem baseada em arquitetura evolutiva

Aluno: Diogo Mascarenhas

Sistemas monolíticos, ainda amplamente adotados em ambientes tradicionais — como instituições corporativas e governamentais —, enfrentam desafios críticos decorrentes da forte interdependência entre suas camadas. Contudo, sua presença não se limita a esses contextos: são também recorrentes em projetos de menor porte, sobretudo naqueles em que não há uma demanda imediata por escalabilidade, dada sua simplicidade inicial de desenvolvimento e implantação. Essa interdependência compromete a escalabilidade e introduz riscos durante atualizações (Newman, 2015). O caso recente da Social Security Administration (SSA) — que utiliza sistemas com mais de 60 milhões de linhas de código COBOL desde a década de 1980 — ilustra os perigos de abordagens abruptas de modernização (Kelly, 2025). A tentativa do Departamento de Eficiência Governamental (DOGE) de migrar toda a base de código para uma linguagem moderna (como Java) em apenas alguns meses, ignorando prazos realistas e testes rigorosos, ameaça interromper benefícios vitais para 65 milhões de americanos, evidenciando a urgência de estratégias intermediárias que equilibrem modernização e estabilidade operacional (Kelly, 2025). Embora a migração para microsserviços ofereça flexibilidade tecnológica e ciclos de entrega independentes (Viggiato, 2018), sua implementação direta em sistemas críticos pode gerar downtime, elevar a complexidade gerencial e comprometer funcionalidades essenciais. Nesse contexto, a refatoração incremental surge como alternativa viável, permitindo modernizações parciais sem interromper a operação contínua — uma necessidade crítica em sistemas como o da SSA, onde até mudanças mínimas podem causar colapsos em cascata (Kelly, 2025).

No plano teórico, esta pesquisa fundamenta-se na escassez de orientações práticas e replicáveis com código para a evolução arquitetural de sistemas monolíticos utilizando o padrão Strangler Fig. Levantamentos bibliográficos (2015–2024) revelam que a literatura prioriza comparações conceituais entre estilos arquiteturais ou análises teóricas. Por exemplo, Kouroshfar et al. (2015) destacam a arquitetura como fator central para a evolução sustentável de sistemas, mas não vinculam suas conclusões a práticas de refatoração. Já Mantovani (2021) enfatiza a importância de padrões estruturados como o MVC para modularidade, porém em um 10 contexto teórico. Silval e Rossi (2021), por sua vez, propõem uma migração de um modelo genérico conceitual de um sistema de planejamento para microsserviços com Strangler Fig, mas ignoram princípios de design como SOLID, métricas de qualidade e menção a código.

No campo prático, estudos como Stradolini (2022) aplicam o Strangler Fig de forma isolada, sem menção aos princípios SOLID, enquanto Santos (2024) explora os princípios SOLID sem associá-los a migrações graduais ou ao Strangler Fig. Essa fragmentação revela uma lacuna: ainda não há diretrizes sobre como combinar padrões de migração, como o Strangler Fig, com princípios de design, como SOLID, para modernizações controladas, mensuráveis e alinhadas aos princípios de arquitetura evolutiva. Esta pesquisa responde a essa lacuna ao integrar ambas as práticas, operacionalizando a refatoração incremental com exemplos de código em Java/Spring Boot e métricas de acoplamento via SonarQube. A abordagem é validada em um projeto onde módulos monolíticos são gradualmente substituídos por serviços desacoplados, comunicando-se via Spring Cloud Gateway, garantindo interoperabilidade e continuidade operacional. Dessa forma, o estudo contribui para a academia ao preencher a lacuna entre padrões arquiteturais (Strangler Fig) e princípios de engenharia (SOLID), além de avançar a discussão sobre arquiteturas evolutivas. No âmbito profissional, oferece diretrizes técnicas para modernizações seguras em sistemas críticos — um avanço necessário em um cenário onde muitas empresas ainda mantêm sistemas legados ou monólitos que, ao crescerem, exigem estratégias claras para evoluir sem comprometer operações essenciais.

logoIFBAFeira.jpg
bottom of page