Architecture화면 단위 복잡성을 흡수하다: 여기어때 BFF의 기록
이 글은 여기어때컴퍼니의 BFF(Backend For Frontend) 도입 배경과 팀의 역할을 기록한 글입니다. 여기어때는 MSA 구조를 기반으로 운영되지만, 화면 단위에서는 여러 도메인 API를 호출해야 하는 복잡성이 발생했습니다. 예를 들어, 한 화면에 필요한 검색 결과, 리뷰, 쿠폰, 포인트, 주문 상태 등의 정보를 얻기 위해 5개 이상의 API를 호출해야 하는 상황이었습니다. 이는 네트워크 오버헤드 증가, 클라이언트 복잡도 상승, 중복 개발 및 유지보수 난이도 증가 등의 문제를 야기했습니다. 이러한 화면 단위의 복잡성을 해결하기 위해 BFF 패턴을 도입하여 각 클라이언트(iOS, Android, Web)에 최적화된 API를 제공하고, 백엔드 도메인 팀의 부담을 줄이는 것을 목표로 했습니다.





