A Obsessão por Microserviços Está Criando Monólitos na Cabeça de Muita Gente

Onde a Arquitetura Vira um Campo Minado

O problema não é microserviço. O problema é gente usando microserviço para resolver dor inventada. E aí começamos a ver equipes com 12 serviços para um produto que mal tem 200 usuários ativos. E o pior: ninguém sabe mais onde está a lógica de negócio. É tudo fragmentado.

Dívida técnica não nasce do código — nasce de decisões ruins tomadas cedo demais.

Vejo times sofrendo com:

  • deploys coordenados que deveriam ser independentes;
  • pipelines duplicadas por mania de isolamento;
  • mais tempo criando governance do que entregando feature;
  • call de 30 min para achar onde a regra realmente mora.

Isso não é arquitetura distribuída. Isso é só um monólito mal cortado — o famigerado monólito distribuído.

Como Resolver o Caos: Arquitetura Dirigida ao Contexto

O caminho não é voltar ao monólito por ressentimento, nem continuar no caos distribuído para pagar promessa ao hype. O caminho é desenhar limites reais, baseados em contexto de negócio, não em modinha.

As duas ferramentas mais subestimadas que resolvem 80% desse problema:

  • Domain Breakdown: identificar capacidades de negócio antes de criar serviços.
  • Contratos explícitos: cada serviço expõe aquilo que realmente é dono — nada além disso.

Sem isso, microserviço vira fantasia.

Implementação de Sênior: Mostrando o Corte Certo na Prática

Aqui vai uma modelagem simples e funcional para um serviço realmente isolado. Nenhuma gourmetização: apenas um contrato claro, autocontido, em OpenAPI.

openapi: 3.0.3                                        # Serviço: Billing (ele é dono da regra de cobrança)info:  title: Billing Service  version: 1.0.0paths:  /charge:    post:      summary: Executa uma cobrança      requestBody:        required: true        content:          application/json:            schema:              type: object              properties:                userId:                  type: string                amount:                  type: number      responses:        '200':          description: Cobrança executada        '400':          description: Dados inválidos

Esse serviço NÃO sabe nada de User Profile, de Orders ou de Notifications. Ele recebe input, aplica regra, retorna resultado. Simples. Escalável. Real.

Se você precisa ficar sincronizando o mesmo dado entre vários serviços, isso já é sinal de que seu corte está errado.

O Preço da Escolha: Microserviço Não é de Graça

Você paga caro — em operação, complexidade e tempo. Escolher microserviços só porque “é o que o mercado faz” é pedir para entrar em guerra com pouca munição.

Quando vale a pena?

  • Times independentes trabalhando em domínios claros;
  • Escalabilidade realmente assimétrica;
  • Regra de negócio que precisa ser isolada por necessidade real.

Quando NÃO vale?

  • Produto pequeno;
  • Equipe mínima;
  • Falta de clareza de domínio;
  • Arquitetura ainda em descoberta.

Decisão arquitetural é contrato de longo prazo. Escolha com contexto, não com hype.

Direto das Trincheiras

  • Comece monolítico e só quebre quando doer — não antes.
  • Domínio mal definido = microserviço mal cortado.
  • Todo serviço precisa de dono. Serviço sem dono vira entulho distribuído.

Fontes

Depois de passar um tempão como dev, tô começando a achar que …, Untitled, Migrando Sistemas Monolíticos – Sam Newman

Obrigado por acompanhar essa reflexão até o fim!

Espero que esses pontos ajudem você a tomar decisões mais lúcidas no seu próximo projeto. Não deixe de conferir outros artigos aqui no blog, onde descascamos outros hypes da nossa área.

Valeu e até a próxima! 😉

Facebook
Twitter
LinkedIn
Arquitetura Limpa

Microservices vs Monolitos: A falsa sensação de simplicidade que custa caro

Muita gente ainda acha que monolito é sinônimo de simplicidade e microservices é hype. A realidade nas trincheiras é bem menos romântica: ambos podem virar um inferno caro se escolhidos fora do contexto de negócio. Neste artigo eu abro o jogo, sem gourmetização, mostrando por que microservices fazem sentido em algumas arquiteturas — e por que o “monolito simples” frequentemente vira uma bola de neve de dívida técnica.

Test Driven Development

REST vs GraphQL sem gourmetização: a escolha que realmente impacta sua escalabilidade

Quando o assunto é escalar uma plataforma, muita gente trava no dilema REST vs GraphQL — e boa parte dessa trava vem de hype, não de necessidade real. Aqui eu, Rei Nascimento, corto o excesso, foco no que importa e mostro como essa escolha pode gerar dívida técnica ou salvar sua arquitetura. Direto das trincheiras, sem poesia arquitetural.

Métodos Ágeis

Kubernetes Está Virando Peso Morto Para Aplicações Que Precisam Ser Ágeis

Kubernetes virou sinônimo de “arquitetura moderna”, mas para novas aplicações que precisam entregar valor rápido, ele tem sido mais âncora do que propulsor. O excesso de camadas, YAML infinito e carga operacional transformam algo simples em uma caricatura de complexidade. Aqui eu explico, sem floreio, por que muitos times estão usando Kubernetes como muleta arquitetural — e como evitar cair nessa armadilha que só aumenta dívida técnica e mata agilidade.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *