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 completo

Backend for Frontend (BFF)

Um cliente específico sofre com chatty APIs genéricas e precisa de um adaptador de experiência.

Ver o conceito completo

Por 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.