BFF란?

BFF는 마이크로서비스 아키텍처의 여러 패턴 중의 하나로, 하나의 인터페이스로 구성되어있던 모노리스 서비스에서 MSA로 전환되면서 여러 UI 기반 시스템이 여러 서비스의 api를 호출하고 통신하는 형태로 발전했다.

천천히 아키텍처가 발전하는 흐름에 맞춰 형태가 변경되어온 셈이다.

Monolith 분해

먼저 하나의 거대한 시스템이 응용 프로그램 자체였던 시절부터 시작한다.

Untitled

마이크로서비스가 백엔드 서비스를 추출하는 것이라고 정의하기도 했다.

Untitled

이런 아키텍처 변경의 주요 목적은 새로운 서비스를 빠르게 개발하기 위한 것이었다. 이후에 사용자 인터페이스를 고려한 UI 서비스의 변동 빈도 수가 늘어나면서 UI 구성요소만 따로 추출하고, API에서 데이터를 가져오는 형태로 발전했다.

Untitled

위 그림같은 아키텍처를 사용하던 2011년에는 대다수 사용자가 웹을 주로 사용했다.