API Gateway × Backend for Frontend (BFF)
Dois padrões que costumam ser trocados um pelo outro, e o que de fato os separa.
Em uma frase
Os dois ficam na borda. API Gateway é porta compartilhada (auth, rate limit, roteamento). BFF é API moldada para uma experiência de cliente.
Critério a critério
Para quem a API é desenhada?
- API Gateway
- Para muitos clientes genéricos — um contrato estável de plataforma.
- Backend for Frontend (BFF)
- Para um cliente específico (web, app, TV) — o shape segue a UI.
O que costuma agregar?
- API Gateway
- Cross-cutting: TLS, auth, quota, roteamento para serviços.
- Backend for Frontend (BFF)
- Dados de vários serviços numa resposta que a tela precisa.
Quantos costumam existir?
- API Gateway
- Poucos — idealmente um perímetro de entrada.
- Backend for Frontend (BFF)
- Um por experiência de front que mereça contrato próprio.
Se a UI muda o layout?
- API Gateway
- O gateway em geral não muda — os serviços atrás sim ou não.
- Backend for Frontend (BFF)
- O BFF muda com a tela: é feature da experiência, não da plataforma.
Quando escolher cada um
API Gateway
Você precisa de uma porta única de política (segurança, tráfego) na frente de vários serviços.
Ver o conceito completoBackend for Frontend (BFF)
Um cliente específico sofre com chatty APIs genéricas e precisa de um adaptador de experiência.
Ver o conceito completoPor que confundem
Chamar qualquer agregação na borda de 'API Gateway'. Gateway é política e roteamento; BFF é produto da UI. Dá para ter gateway na frente e BFFs atrás — papéis diferentes.