Framework de decisão para migrar (ou não) de monólito para microsserviços, com trade-offs de operação e equipe.

Microsserviços: quando migrar (e quando não)

"Vamos para microsserviços" virou mantra em reunião de board — muitas vezes antes de diagnosticar por que monólito atual não escala ou não deploya. Como arquiteto com duas décadas vendo ciclos de moda, fundador da TEK Softwares, não sou contra microsserviços; sou contra migração prematura que triplica operação sem resolver dor real. Este artigo novo no blog define sinais objetivos de quando migrar, quando não migrar e como fatiar monólito sem big bang.

O que microsserviços resolvem de verdade

  • Times autônomos com ciclos de release independentes (quando organização já é squad-based).
  • Escalabilidade heterogênea — picar serviço CPU-heavy sem escalar ERP inteiro.
  • Resiliência parcial — falha isolada se bulkhead e timeout bem configurados.
  • Poliglotismo justificado — ex.: worker Python ML + core Java fiscal.

O que microsserviços pioram se você não está pronto

Distribuído vira distribuído debugging. Observabilidade, tracing, contract testing, versionamento de API, rede, secrets, deploy matrix — custo operacional sobe. Time de cinco pessoas mantendo quinze serviços frequentemente regride velocidade versus monólito modular bem estruturado.

Checklist: você está pronto?

  1. CI/CD verde e automatizado hoje no monólito? Se não, conserte primeiro — CI/CD times pequenos.
  2. Domínios de negócio bounded claramente (DDD light)?
  3. Métricas de latência e erro por módulo existem?
  4. Equipe ops ou DevOps mínimo disponível?
  5. Stakeholder aceita entrega incremental meses?

Três ou mais "não" → adie migração; refatore monólito modular.

Strangler Fig Pattern

Não rewrite 800k LOC. Identifique seam: autenticação, catálogo produto, emissão NF-e. Exponha API na borda do monólito; novo front consome; gradualmente extraia serviço com dados próprios. Proxy roteia tráfego percentual canary.

# Pseudocódigo roteamento
if (featureFlag("ms-pedidos")) {
  return pedidosService.criar(dto);
}
return monolith.pedidos.criar(dto);

Quando NÃO migrar

ERP fiscal monolítico estável, time enxuto, releases mensais bastam, integração batch Pentaho atende — integração Pentaho — e dívida técnica é modularização interna não deploy. Cliente TEK com 3 devs raramente precisa Kubernetes day one.

Quando migrar agora

Deploy monólito leva horas e para empresa inteira. Módulo marketing quer deploy diário. Pico Black Friday derruba thread pool inteiro. Compliance exige isolamento PCI só gateway pagamento. Dor mensurável + ROI claro.

Dados: o elefante

Microsserviço com banco compartilhado não é microsserviço — é monólito distribuído acoplado. Migração de schema exige event sourcing, CDC ou dual-write temporário. CFOP e estoque não toleram inconsistência eventual longa — veja CFOP e ERP integrações.

Stack pragmática 2026

Comece com 2–3 serviços, não 30. Container Docker, orchestrator managed (ECS, Cloud Run) antes de Kubernetes self-hosted unless team expert. API REST ou gRPC; mensageria RabbitMQ/SQS para async. OpenTelemetry tracing desde serviço um.

Segurança na decomposição

Superfície de ataque multiplica. mTLS service mesh ou API gateway centraliza auth. Secrets manager, não .env em imagem. OWASP API Security Top 10 — detalhes em segurança web 2026.

Métricas de sucesso pós-migração

Lead time deploy módulo extraído caiu? MTTR incident isolado menor que monólito? Custo infra subiu <30% com receita proporcional? Se só "arquitetura bonita no diagrama", reverta honestamente.

Conway Law explícito

Estrutura serviços espelha comunicação time. Se todos reportam mesmo PO, monólito modular modules Maven pode bastar. Squads independentes justificam boundary deploy.

Platform team mínimo

Mesmo 0.5 FTE SRE configura template Helm, alertas, backup etcd. Sem isso, dev vira firefighter Kubernetes 3h manhã.

Rollback monólito versus serviço

Monólito: redeploy jar anterior. Microserviço: versionar contrato, blue-green um serviço sem derrubar NF-e core. Planeje antes extrair.

Monólito modular primeiro

Packages domain fiscal financeiro estoque boundaries claros Maven modules. Enforce archunit test no cross import indevido. Prepara extração futura sem big bang.

API Gateway pattern

Kong AWS API Gateway rate limit auth central. Backend monólito inicialmente — gateway já pronto quando split serviço.

Custo cloud realista

Três serviços ECS Fargate + RDS + ALB + observability ~USD 400/mês região sa-east-1 ordem grandeza 2026 — valide orçamento cliente PME antes vender microserviço.

Team topologies aplicado

Stream-aligned squad dono fluxo pedido. Platform team interno templates CI observability. Enabling team consultoria temporaria migracao. Complicated subsystem fiscal NF-e pode ficar monolito modulo enquanto ecommerce extrai — topology map desenhe antes kubectl apply.

Contract test antes split

Pact consumer driven contrato pedido API json schema semver. Monolito implementa contrato ainda monolito consumer e-commerce valida. Split servico dia deploy porque contrato ja verde meses — reduz big bang terror.

Métricas decisão revisit trimestral

Dashboard lead time deploy frequency change fail rate MTTR por módulo. Se monólito modular MTTR menor que microserviço candidato extraído — pause extração investigue observability gap antes prosseguir split. Dados vencem opinião arquiteto inclusive minha opinião.

Documente decisão não migrar igualmente importante: ADR arquitetura monólito modular suficiente economiza cliente centenas horas consultoria honesta fortalece relação longo prazo TEK Softwares.

Prática adicional TEK Softwares: revise este tópico com stakeholder operacional antes de fechar sprint — alinhamento negócio evita retrabalho custoso em produção fiscal e integrações críticas ERP que atendem milhares documentos eletrônicos mensais sem downtime planejado inadequado.

Documente lições aprendidas DECISIONS.md link artigos relacionados blog tiagoek manutenção longo prazo conteúdo AdSense qualidade leitor desenvolvedor arquiteto tom primeira pessoa experiência vinte anos mercado brasileiro software sob medida impressão 3D marca TEK unificada confiança cliente indicacao orgânica composição juros reputação técnica honestidade entrega previsível pipeline verde segurança prepared statement parametros pentaho cfop correto.

Conclusão

Migre para microsserviços quando dor organizacional e técnica justificar custo operacional — não quando blog de 2015 disser. Modularize monólito, automatize pipeline, meça, extraia seam por seam. Na TEK Softwares vendo assessment antes de vender rewrite — reputação vale mais que slide Kubernetes.

WhatsApp