trilha

System Design/04 - Cloud Design Patterns/Design & Implementation2 min

Sidecar

Perguntas-guia
  • Que problema isso resolve?
  • Quando usar / quando NÃO usar?
  • Qual o principal trade-off?
  • Como isso falha em produção?

Conceito

Um processo auxiliar implantado ao lado da aplicação, no mesmo host ou pod, cuidando de preocupações transversais fora do código de negócio.

┌─ pod ───────────────────┐
│  aplicação  ←→  sidecar │ → rede
└─────────────────────────┘

O sidecar intercepta o tráfego e adiciona: mTLS, retry, Circuit Breaker, balanceamento, Service Discovery, métricas e tracing — sem uma linha na aplicação.

É a base do service mesh (Istio, Linkerd), onde um plano de controle configura todos os sidecars centralmente.

Trade-offs

O ganho decisivo aparece em ambientes poliglotas. Implementar retry, circuit breaker, mTLS e tracing em quatro linguagens significa quatro bibliotecas, quatro qualidades e quatro cronogramas de atualização. Com sidecar, a política é uma só, e atualizá-la não exige recompilar nem redeployar nenhuma aplicação.

Os custos são concretos:

Custo Detalhe
Recursos Um contêiner extra por pod — CPU e memória multiplicados pela frota
Latência Mais dois saltos locais (saída e entrada)
Complexidade O plano de controle é um sistema distribuído a operar
Depuração Mais uma camada onde o problema pode estar

Em frota grande, o custo de recursos é significativo: 500 pods significam 500 sidecars, e a soma costuma surpreender.

Por isso a adoção merece critério. Service mesh compensa com muitos serviços, várias linguagens e requisitos fortes de segurança e observabilidade. Com cinco serviços numa linguagem só, uma biblioteca compartilhada entrega quase o mesmo com uma fração da complexidade.

Modelos sem sidecar (proxy por nó, ou eBPF) surgiram exatamente para reduzir esse custo.

Exemplo prático

Doze serviços em Java, Go, Python e Node. Requisito: mTLS entre todos e tracing distribuído completo.

Sem sidecar: quatro implementações, quatro configurações de certificado, e a certeza de que a rotação de certificados vai falhar em pelo menos uma.

Com sidecar: o mesh injeta o proxy, emite e rotaciona certificados, e propaga contexto de trace. As aplicações continuam falando HTTP simples entre si e não sabem que existe TLS.

O preço: 12 proxies a mais, e um plano de controle que agora é infraestrutura crítica.

Relacionado


Parte de Design & Implementation · roadmap.sh/system-design

Buscar

Busca por título, seção e texto das notas