Backend For Frontend의 약자로, 특정 프론트엔드 애플리케이션을 위해 설계된 백엔드 서비스다.
클라이언트에 필요한 데이터만 정제하여 전송하여 성능을 개선할 수 있다.

기본적으로 아래와 같은 플로우로 진행된다.

  1. BFF가 필요한 데이터를 백엔드 서비스로부터 수집 및 가공
  2. SSR 서버가 BFF로부터 데이터를 받아 HTML 생성
  3. 생성된 HTML이 클라이언트로 전송되어 빠른 초기 로딩 제공

Next.js 같은 SSR 프레임워크에서 BFF를 API 라우트로 구현할 수 있다.