System Design/04 - Cloud Design Patterns/Design & Implementation2 min
Sidecar
- 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