Glossário de Arquitetura de Software

Definições concisas do modelo C4, métricas DORA, ADRs, drift de arquitetura, clean architecture e outros termos que toda equipe de software deveria conhecer. Selecionado pela Archyl.

  • Modelo C4 — Uma abordagem leve de visualização de arquitetura que descreve sistemas de software em quatro níveis: Contexto de Sistema, Contêiner, Componente e Código.
  • Diagrama de Contexto de Sistema — Diagrama de nível 1 do C4 que mostra um sistema de software e suas interações com usuários e outros sistemas externos.
  • Diagrama de Contêiner — Diagrama de nível 2 do C4 que mostra as unidades implantáveis/executáveis (aplicações, serviços, bancos de dados) que compõem um sistema de software.
  • Diagrama de Componente — Diagrama de nível 3 do C4 que decompõe um contêiner em grupos de funcionalidades relacionadas (componentes) e suas colaborações.
  • Diagrama de Código — Diagrama de nível 4 do C4 que mostra os detalhes em nível de implementação (classes, interfaces, funções) de um componente.
  • Architecture Decision Record (ADR) — Um documento curto que captura uma única decisão arquiteturalmente significativa, seu contexto e suas consequências.
  • Drift de Arquitetura — A lacuna cada vez maior entre a arquitetura documentada e o sistema que de fato roda em produção.
  • Regra de Conformidade — Uma restrição verificável por máquina que valida o código em relação à intenção arquitetural.
  • Arquitetura como Código — Descrever a arquitetura do sistema em um formato versionado e baseado em texto, para que possa ser revisada, comparada (diff) e validada como código-fonte.
  • Technology Radar — Um catálogo selecionado de tecnologias agrupadas em anéis (adotar / experimentar / avaliar / suspender) que orienta as escolhas de engenharia.
  • Métricas DORA — Quatro métricas amplamente usadas de desempenho de engenharia: Frequência de Deploy, Lead Time de Mudanças, Taxa de Falha de Mudanças e Tempo Médio de Recuperação.
  • Frequência de Deploy — Com que frequência uma equipe entrega código em produção com sucesso. Uma das quatro métricas DORA.
  • Lead Time de Mudanças — O tempo entre o commit de uma mudança de código e essa mudança rodando em produção.
  • Taxa de Falha de Mudanças — A porcentagem de deploys que causam uma degradação em produção e exigem correção.
  • Tempo Médio de Recuperação (MTTR) — O tempo médio necessário para restaurar o serviço após um incidente em produção.
  • Domain-Driven Design (DDD) — Uma abordagem de design de software que coloca no centro o modelo e a linguagem do domínio de negócio.
  • Arquitetura Hexagonal — Um estilo de arquitetura em camadas que isola a lógica de domínio da infraestrutura por meio de portas e adaptadores.
  • Clean Architecture — Uma arquitetura em camadas em que as dependências apontam para dentro, em direção ao domínio, popularizada por Robert C. Martin.
  • Event Storming — Um workshop colaborativo de modelagem que usa notas adesivas representando eventos de domínio para mapear um processo de negócio.
  • Microsserviços — Um estilo de arquitetura que estrutura uma aplicação como uma coleção de serviços pequenos, implantáveis de forma independente e organizados em torno de capacidades de negócio.
  • Service Mesh — Uma camada de infraestrutura dedicada a lidar com a comunicação entre serviços, normalmente por meio de proxies sidecar.
  • Contrato de API — Uma especificação formal de uma API (OpenAPI, proto gRPC, schema GraphQL) que produtores e consumidores concordam em respeitar.
  • Canal de Eventos — Um fluxo de eventos nomeado e tipado (frequentemente um tópico Kafka ou equivalente) por meio do qual os serviços publicam e assinam de forma assíncrona.
  • Mapa de Responsabilidade — Um mapeamento dos elementos do sistema (serviços, módulos, pipelines) para a equipe ou pessoa responsável por eles.
  • Documentação Viva — Documentação que é gerada ou validada a partir do sistema em execução, de modo que permanece precisa à medida que o sistema evolui.
  • Servidor MCP — Um servidor que implementa o Model Context Protocol para que assistentes de programação com IA possam consultar o contexto do projeto por meio de uma interface de ferramentas padronizada.