Ir para o conteúdo principal
ArchPrompts
Voltar ao blog
Caderno técnico / Nota de campo

Monólito, microsserviço ou modular: 3 topologias, 3 diagramas, uma decisão

A escolha entre monólito, microsserviços e monólito modular não é sobre qual é "melhor" — é sobre onde você quer pagar o custo de complexidade: no código ou na rede.

A
ArchPrompts
3 min de leitura
Monólito, microsserviço ou modular: 3 topologias, 3 diagramas, uma decisão
AP / Prancha visual 01
Leitura principal

Toda discussão sobre "monólito vs microsserviços" comece do jeito errado quando trata as duas opções como os únicos pontos do mapa. Existe uma terceira topologia no meio do caminho, e ela resolve o problema que motiva boa parte das migrações precipitadas pra microsserviços. A consequência de ignorá-la: times pequenos pagando o custo operacional de uma arquitetura distribuída sem o volume de time ou de tráfego que justificaria esse custo.

Monólito clássico

Diagrama do monólito clássico: uma única aplicação com módulos de pedidos, pagamentos e usuários todos compartilhando o mesmo processo e o mesmo banco de dados.
Diagrama do monólito clássico: uma única aplicação com módulos de pedidos, pagamentos e usuários todos compartilhando o mesmo processo e o mesmo banco de dados.

Tudo roda num processo só, compartilhando o mesmo banco de dados. Vantagem: deploy simples, debug direto (uma stack trace, um lugar só pra olhar), transação local de verdade sem precisar coordenar múltiplos serviços. Custo: qualquer mudança exige rebuild e redeploy do sistema inteiro, e módulos que deveriam ser independentes acabam se acoplando por conveniência — afinal, tudo está a uma chamada de função de distância.

Microsserviços

Diagrama de microsserviços: serviços de pedidos, pagamentos e usuários rodando isolados, cada um com seu próprio banco, se comunicando por chamadas de rede.
Diagrama de microsserviços: serviços de pedidos, pagamentos e usuários rodando isolados, cada um com seu próprio banco, se comunicando por chamadas de rede.

Cada módulo vira um serviço independente, com seu próprio banco de dados, implantado e escalado separadamente. Vantagem: times conseguem trabalhar e implantar em paralelo sem pisar no trabalho um do outro; cada serviço escala de acordo com sua própria demanda. Custo: toda chamada que antes era função virou chamada de rede — com toda a latência, falha parcial e complexidade de consistência que isso carrega. Esse custo é real e permanente, não desaparece com boa engenharia, só é gerenciado por ela.

Monólito modular

Diagrama do monólito modular: mesmo processo e mesmo banco de dados que o monólito clássico, mas módulos de pedidos, pagamentos e usuários com fronteiras internas explícitas, sem chamada direta entre eles por fora de uma interface definida.
Diagrama do monólito modular: mesmo processo e mesmo banco de dados que o monólito clássico, mas módulos de pedidos, pagamentos e usuários com fronteiras internas explícitas, sem chamada direta entre eles por fora de uma interface definida.

Mesmo processo, mesmo banco — mas com fronteiras internas explícitas entre módulos, reforçadas por convenção de código ou por ferramenta de lint arquitetural, não só por rede. Na prática, isso significa que um módulo só fala com o outro através de uma interface definida, nunca acessando direto a tabela ou a classe interna de outro módulo.

É, em outras palavras, o meio-termo: qualquer módulo que realmente precisar de deploy e escala independentes no futuro já está com fronteira clara o bastante pra virar um serviço separado sem reescrever o sistema inteiro do zero. O custo de acoplamento acidental do monólito clássico cai, sem pagar ainda o custo de rede dos microsserviços.

Como decidir, na prática

  • Time pequeno, poucos módulos com ciclo de vida parecido: monólito clássico resolve, e migrar cedo demais pra microsserviços só adiciona operação sem resolver problema real
  • Módulos com necessidade clara de escalar ou implantar de forma independente, mas ainda sem certeza de onde estão as fronteiras: monólito modular deixa a decisão de separar em serviço pra quando a fronteira já estiver validada em produção
  • Múltiplos times, ciclos de deploy desacoplados e volume que justifica a complexidade operacional extra: microsserviços resolve um problema que já existe, em vez de um problema hipotético

Nenhuma das três é a escolha "madura" ou a escolha "legada" — são três formas de pagar o mesmo custo de complexidade, em momentos e lugares diferentes do sistema. A pergunta certa nunca é qual topologia é melhor; é qual delas seu time e sua base de usuários atual realmente sustentam.

Do conceito à execução

Ferramentas práticas para levar as decisões desta nota ao seu próximo projeto.

06 / selecionados
Da intenção declarada à decisão registrada: o desvio entre o que o time quis e o que o código faz é o achado central.
ADR
01 / 03

Auditor de Intenção Arquitetural: laudo rastreável do código que a IA escreveu

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Memória por recuperação vs. cérebro documental: o mesmo objetivo — dar contexto ao agente — por dois caminhos opostos.
Agentes
01 / 03

Arquiteto de Contexto do Agente: cérebro documental auditável no lugar da memória por RAG

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Camadas de controle de um agente LLM conectado: o usuário instrui um orquestrador que, para qualquer efeito colateral, passa por um gateway de política zero-confiança antes de tocar sistemas OAuth/dados sensíveis (e-mail, cloud, repositórios).
Segurança
01 / 03

Agente LLM Conectado e Seguro: ADR, modelo de ameaças e gates de tool-call

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Fluxo do ataque de supply-chain via npm (incidente Keyv, ago/2026) e a superficie de governanca.
Segurança
01 / 02

ADR de Supply Chain: dependências zero-trust e runbook para pacote comprometido

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Fluxo da exploração de SSRF em uma tool de fetch de agente de IA: usuário/modelo controlam a URL, o fetcher sem validação alcança o metadata service interno.
Segurança
01 / 03

ADR de Segurança para Fetchers de Agentes de IA: mitigação de SSRF

por João Gabriel

gpt-4ClaudeGemini+1
—(0)
0 vendas
R$ 14,90
Seis fronteiras de confiança (FB-1 a FB-6): onde código e credencial trocam de domínio, do notebook do dev até a nuvem de produção.
Segurança
01 / 03

ArchTrust: revisão de fronteiras de confiança na cadeia de suprimentos

por João Gabriel

gpt-4ClaudeGemini+2
—(0)
0 vendas
R$ 19,90