12 de Julho de 2025
Strangler fig na prática
Como cercar o legado aos poucos, com fronteira clara, tráfego controlado e corte reversível.
Andrews Ribeiro
Founder & Engineer
4 min Intermediario Sistemas
O problema
O mercado adora transformar padrão útil em pose.
Strangler fig sofre muito com isso.
Muita gente fala como se fosse um nome elegante para:
- quebrar monolito
- criar microsservico
- modernizar legado
Mas isso fica vago demais.
Se você não explica por onde o tráfego passa, como a decisão muda e como o antigo perde relevância com segurança, o padrão vira teatro.
Modelo mental
Pense assim:
strangler fig e uma estratégia de substituicao incremental mediada por roteamento
O ponto central não e “separar serviços”.
E este:
- o fluxo entra por uma fronteira controlada
- essa fronteira decide se vai para o antigo ou para o novo
- com o tempo, mais fluxo vai para o novo
- o antigo vai sendo sufocado até sobrar pouco ou nada
O nome e menos importante do que essa mecanica.
Quebrando o problema
Comece pela fronteira, não pelo diagrama final
Muita migração começa tentando desenhar a arquitetura futura inteira.
No strangler fig, a pergunta útil e mais simples:
por onde eu consigo interceptar e redirecionar esse fluxo sem quebrar tudo?
Essa fronteira pode ser:
- gateway
- facade
- endpoint interno
- fila
- camada de aplicação que centraliza o caso de uso
Sem fronteira controlavel, o padrão perde boa parte do valor.
Mova um fluxo por vez
Você não precisa estrangular o sistema inteiro no primeiro movimento.
Escolha uma fatia pequena:
- um endpoint
- um caso de uso
- um grupo de clientes
- um tipo de evento
Isso deixa claro:
- o que esta sendo substituido
- o que ainda esta velho
- como medir sucesso
Mantenha convivio intencional entre velho e novo
Durante um tempo, os dois lados vao coexistir.
Esse período precisa ser planejado, não tolerado de qualquer jeito.
Você precisa saber:
- quem chama qual lado
- como comparar comportamento
- quando ampliar o novo
- quando bloquear o velho
Sem essa disciplina, a migração vira duplicação confusa.
Evite transformar a estratégia em desculpa para fatiar errado
Nem toda extração incremental merece virar serviço novo.
As vezes o melhor uso de strangler fig e:
- reorganizar um fluxo dentro do mesmo deploy
- criar uma facade mais limpa
- isolar comportamento antes de decidir a topologia final
O padrão serve para reduzir risco.
Não para fabricar distribuição desnecessaria.
Defina como o antigo sera aposentado
Se você só sabe criar o lado novo, mas não sabe como o antigo perde tráfego e morre, a estratégia esta pela metade.
Boa pergunta:
o que precisa ser verdade para eu cortar este fluxo do legado com segurança?
Essa resposta precisa existir desde cedo.
Exemplo simples
Imagine um monolito que faz cadastro e precificacao.
O time quer extrair precificacao.
Plano ruim:
- cria um serviço novo
- manda metade do time reescrever tudo
- espera integrar depois
Plano melhor com lógica de strangler fig:
- cria uma facade interna para toda chamada de precificacao
- no início, a facade aponta para a implementação antiga
- depois, alguns fluxos passam a usar a implementação nova por tras da mesma fronteira
- o time compara resultado, erro e latência
- amplia aos poucos até a implementação antiga sobrar pouco
- só no fim remove o caminho velho
Isso e menos instagramável.
Também e muito mais operável.
Erros comuns
- Tratar strangler fig como sinonimo automático de microsservico.
- Não ter uma fronteira clara de roteamento.
- Mover vários fluxos ao mesmo tempo e perder visibilidade.
- Criar lado novo sem estratégia de aposentadoria do velho.
- Usar o nome do padrão para esconder falta de critério técnico.
Como um senior pensa
Quem tem mais experiência raramente pergunta:
“Como aplico strangler fig aqui?”
Pergunta mais isto:
“Qual a menor fronteira controlavel que me permite mover esse comportamento sem apostar a empresa em um corte único?”
Esse jeito de pensar usa o padrão como ferramenta, não como fantasia de arquitetura.
O que o entrevistador quer ver
Em entrevista, o avaliador quer ver se você entende o mecanismo, não se decorou nome de catalogo.
Você sobe de nivel quando:
- explica o papel da fronteira de roteamento
- fala de convivencia entre velho e novo
- mostra que a migração e incremental e observável
- evita associar o padrão automaticamente a microsservicos
Uma resposta forte costuma soar assim:
“Eu usaria a lógica de strangler fig criando uma fronteira onde o fluxo pode ser redirecionado aos poucos. Assim consigo mover partes pequenas para a implementação nova, comparar comportamento, ampliar com controle e aposentar o legado sem um corte único.”
Strangler fig bom não vende revolução. Ele compra transição segura.
Quando o nome do padrão fica mais claro do que o plano de migração, a conversa piorou.
Resumo rápido
O que vale manter na cabeça
- Strangler fig e sobre mover tráfego e responsabilidade aos poucos, não sobre desenhar fronteiras perfeitas no primeiro dia.
- O valor do padrão esta em reduzir risco de migração, não em deixar a arquitetura com cara moderna.
- Se você não consegue observar, rotear e reverter, chamar de strangler fig não muda nada.
- Substituicao incremental funciona melhor quando escolhe fatias pequenas e critérios claros de corte.
Checklist de pratica
Use isto ao responder
- Consigo explicar strangler fig sem soar como catalogo de padrão?
- Sei dizer qual o papel de roteamento na estratégia?
- Consigo descrever como velho e novo convivem durante a migração?
- Sei responder em entrevista quando essa estratégia faz sentido e quando e complicacao gratuita?
Você concluiu este artigo
Compartilhar esta página
Copie o link manualmente no campo abaixo.