티스토리 뷰

B.F.F란 Best Friend Forever 이라는 뜻의 약어인데, 개발계에서 영원히 함께 할 수밖에 없는 짝꿍을 뽑으라면 Backend와 Frontend가 아닐까 싶다. 개발에서의 BFF란 Backend For Frontend라는 뜻으로 해석 그대로 프론트엔드를 위한 백엔드를 의미한다. 나름대로 자료를 많이 읽어보았지만 읽으면 읽을수록 광범위하고 섬세한 범위를 포함하고 있어 다 풀기에는 아직 더 많은 공부가 필요할 듯싶다. 이번 포스팅은 많은 자료를 기반으로 이해해 본 BFF의 개념을 소개해보고자 한다.


10년 전 즈음, 모바일이 활성화 되기 이전에는 거의 모든 개발 플랫폼은 웹에 한정되어있었다. 당시에는 하나의 백엔드를 통하여 하나의 플랫폼이 1:1 매칭 되어 서비스해도 전혀 무리가 되는 시절이 아니었을 것이다.

그러나 요즘 주위를 둘러보면 컴퓨터, 모바일뿐만 패드, 스마트 티비 등 다양한 플랫폼이 등장하였다. 심지어 요즘은 스마트워치에서도 앱을 실행하는 시대가 되었다. 단순히 종류만 다양한 것이 아니라 해상도, 성능, 크기 등등 모든 것이 다양한 시대가 도래한 것이다. 각 디바이스에서 보여줄 수 있는 정보가 서로 다르기 시작했고, 감당할 수 있는 데이터의 양과 속도 등이 모두 다른 환경에서 특정 한 디바이스에 중심이 된 백엔드로 모든 것을 커버하기란 무리일 수밖에 없다.

가령 모바일에서 D, E, F의 정보가 필요한데, 웹을 기준으로 만들어진 API를 사용하다 보니 A, B, C, D, E, F의 모든 정보를 불러올 수밖에 없는 상황이라던지, 웹을 기준으로 만들어진 API를 웹 뿐만 아니라 모바일, 패드 등에서도 호출하게 되면서 병목현상이 발생한다든지 하는 상황 말이다. 

https://docs.microsoft.com/ko-kr/azure/architecture/patterns/backends-for-frontends

그래서 고안된 것이 BFF. 프론트엔드를 위한 백엔드이다. 즉, 하나의 디바이스 당 하나의 백엔드를 연결하는 기법인데, 해당 디바이스의 프론트엔드에서 필요한 정보를 맞춤으로 보내주기 때문에 이전의 모든 것을 포괄할 때 보다 더 가볍고 빠른 백엔드 서비스를 제공할 수 있고, 결과적으로 사용자에게 좋은 경험을 제공할 수 있다. 더불어 다른 플랫폼들과의 의존성이 적기 때문에 수정에도 매우 용이한 장점이 있다.

https://docs.microsoft.com/ko-kr/azure/architecture/patterns/backends-for-frontends

개인적으로 BFF가 프론트엔드를 위한 백엔드라는 것에 초점이 맞추어지는 것이 아니라 사용자 경험의 향상에 초점이 맞추어진다고 생각하며, 관련하여 심화로 이해할 수 있는 포스팅이 있어 함께 첨부한다.

https://www.mobilelive.ca/blog/why-backend-for-frontend-application-architecture/

 

Why “Backend For Frontend” Application Architecture?

You’re likely using an application to serve your customers but how do you know your development isn’t costing you in user experience?

www.mobilelive.ca

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함