Começar agora grátis
Voltar para o início

Guia prático

C4 Model: como documentar arquitetura de software em 4 níveis

Criado por Simon Brown, o C4 Model virou o jeito mais direto de explicar arquitetura de software: quatro níveis de zoom que qualquer pessoa (do CTO ao dev júnior) consegue seguir sem precisar decorar UML.

O que é o C4 Model?

O C4 Model é uma técnica de documentação visual de arquitetura de software que enxerga um sistema em quatro níveis progressivos de detalhe: Contexto, Contêineres, Componentes e Código. Cada nível é como dar um zoom no mapa: você começa vendo o país, depois a cidade, depois o bairro, depois a rua.

A grande ideia é substituir dezenas de diagramas UML dispersos por uma hierarquia consistente que qualquer pessoa técnica consegue ler em minutos. O modelo é gratuito, aberto e ferramenta-agnóstico: você pode desenhar em quadro branco, em ferramenta visual, ou (recomendado) como código versionado.

Os 4 níveis do C4 Model

Nível 1 — Diagrama de Contexto

Mostra o sistema como uma caixa preta no meio do mundo. Quem usa? Com quais sistemas externos conversa? É o diagrama que você mostra pro time de negócio, pro board, pra qualquer não-engenheiro que precisa entender onde o software vive.

Regra prática: se o diagrama de contexto exige que alguém abra a legenda para entender, ele já falhou.

Nível 2 — Diagrama de Contêineres

Abre a caixa preta. Aqui aparecem as aplicações que compõem o sistema: front-end SPA, API REST, worker de fila, banco de dados, cache. Um contêiner é qualquer unidade que pode ser deployada de forma independente.

Esse é o nível mais valioso do C4 para o dia-a-dia: onboarding de novos devs, planejamento de mudanças e revisões de segurança geralmente vivem aqui.

Nível 3 — Diagrama de Componentes

Abre um contêiner específico e mostra suas peças internas: controllers, services, repositories, adapters. Útil quando um contêiner é grande o suficiente para justificar arquitetura interna documentada.

Nível 4 — Código

Diagramas de classe/UML gerados diretamente do código. Simon Brown recomenda não desenhar esse nível à mão: gere sob demanda a partir do código-fonte, se precisar.

Quando usar C4 Model (e quando não usar)

Use quando:

  • Você precisa explicar o sistema para stakeholders não-técnicos (nível 1).
  • Está desenhando um sistema novo e quer alinhar o time em containers.
  • Precisa de documentação de arquitetura para auditoria (SOC2, ISO 27001, LGPD).
  • Quer padronizar a documentação entre múltiplas squads da mesma empresa.

Talvez não valha a pena quando:

  • Seu sistema é um monólito simples com 1-2 contêineres.
  • O time é pequeno (2-3 pessoas) e a comunicação síncrona já resolve.

C4 Model como código: por que versionar seus diagramas

O problema clássico do C4 desenhado em ferramenta visual: em 6 meses o diagrama está desatualizado. A produção mudou, o diagrama ficou. Isso é o que a comunidade chama de architecture drift.

A solução é tratar o diagrama como código: você descreve os contêineres e relações em um arquivo declarativo, versiona no Git junto com o código-fonte, e o diagrama é renderizado automaticamente. Mudou de banco? PR no diagrama. Revisão obrigatória.

Foi exatamente esse problema que o Excahub nasceu para resolver. A sintaxe ExcaFlow deixa você descrever seu sistema em nível de contêiner (C4 nível 2), renderiza o canvas automaticamente e ainda gera README, dicionário de dados e mapa de dependências a partir do mesmo arquivo. Cada commit é uma versão auditável da sua arquitetura.

Perguntas frequentes sobre C4 Model

C4 Model substitui UML?

Substitui na prática, sim. UML tem 14+ tipos de diagrama que quase ninguém domina. C4 tem 4 níveis com notação livre. Você pode desenhar C4 usando qualquer estilo visual, inclusive elementos UML se fizer sentido.

Qual a diferença entre C4 e Arc42?

Arc42 é um template de documento (12 seções: contexto, restrições, decisões, riscos, etc). C4 é uma notação visual. Times maduros usam os dois juntos: Arc42 como estrutura do documento e C4 para os diagramas dentro dele.

Preciso desenhar os 4 níveis?

Não. A maioria dos times para no nível 2 (contêineres). O nível 3 aparece só em contêineres críticos. O nível 4 raramente vale o esforço manual.

Onde posso criar diagramas C4?

Você pode usar ferramentas visuais (arrastar-e-soltar), ou ferramentas de diagram-as-code que geram o C4 automaticamente a partir de um arquivo texto. A vantagem da segunda abordagem é que o diagrama vive no Git, entra em PR e não fica desatualizado.

Conteúdo Exclusivo

Blueprint: Arquitetura em Escala (2026)

Baixe o guia prático de como migramos +50 microserviços para C4 Model e Diagram-as-Code.

  • Template ADR para Notion/GitHub
  • Checklist de Prontidão de Arquitetura
  • Exemplos de Diagramas de Sequência Reais
Baixar Grátis (Criar Conta)

Pare de manter diagrama e código separados.

Crie sua conta gratuita e transforme sua arquitetura em fonte da verdade viva.

Sem cartão · Free até 3 diagramas · Cancela em 1 clique