What Is A Backend For A Frontend (BFF) Architecture Pattern

preview_player
Показать описание
Building applications using headless and MACH technologies require different architecture patterns, that goes beyond just the simple direct point to point pattern. So what is a backend for a frontend (BFF) architecture pattern, what does it solve and how does it fill a design gap in headless applications.

See more of my articles on linked in

Most of what I have learned in the MACH / #HeadlessArchitecture world has been while building Amplience headless CMS, DAM and dynamic media services take a look at the Amplience Website and see a MACH platform in action

00:00 Introduction to what is a BFF
00:30 problem of building headless Apps using point to point integration
02:53 What is a BFF
05:00 things to avoid and consider using the BFF architecture pattern
Рекомендации по теме
Комментарии
Автор

Its intriguing how the same concepts suddenly change name in the IT world. Many years ago, we had SOA, which brought enterprise service bus, then it came API gateways, and now BFF. My head is spinning with all this terminology referring to the same concepts :)

jacintduduka
Автор

Concise, to the point, with great clarity on the pros and cons. Very well explained!

Zaaaainn
Автор

Best educational videos on headless solution.

annathompson
Автор

Great video with the topic well explined. 6 mins and I'm in!.

ivankostadinov
Автор

Backend for a frontend...I have known a few of those... well explained.

cvuqxdm
Автор

It was a pleasure to watch this. Thank You.

gosiastefanowicz
Автор

After studying architecture for two weeks, I sketched out this same pattern last night. I didn’t know it had a name. Thanks for making this excellent video.

christhornham
Автор

Don't quite see the benefits described here in terms of reducing complexity, because you haven't really reduced the overall complexity as such, you've just moved it out of the front end. But you still have to do all the mapping and aggregation of multiple calls in the BFF. The real advantage is separation of concerns -- all that complexity (aggregating and mapping data from multiple services) is isolated into its own service.

jordanwalker
Автор

Very nicely explained! Haven't seen any comparable explanation which was equivalently well presented. Pls keep going

AZ-miwj
Автор

Amazing, perfect video for what I need!

taran
Автор

Very nicely and concise explained. Thank you!

mararosa
Автор

Great channel! Will be nice to have a video about API Gateway and BBF. When use API Gateway, BBF, both???

youriregnaud
Автор

@John, thanks for the nice content. Safe to say BFF can be used for query centric purposes [GET requests] and for CUD ops, we fall back to the API Gateway as CUD ops are generally device agnostic? Also in this architecture, how we handle requests where auth tokens need to be validated ? Something API gateway pattern is known for

praskatti
Автор

Really great channel and a very important topic when it comes to scalability and independence of each delivery team. I’m currently using this pattern in my current company, currently building a PoC. So far I’ve been having issues when it comes to data consistency and I don’t want to couple the BFF with our micro services communication message buses since we use them as state machines. So I was thinking of exploring persistence on BFF like a materialised view or a redis cache, any pointers in this front?

rafaelrocha
Автор

Still don't see the point of this. From your explanation, what I can get is that the bff acts like a mapper between the client and api, you said it helps separating different frontend clients concerns but still I can do that without bff. Sounds like a fancy term, to augment the complexity of applications where the tradeOff for that is pretty small (higher frontend costs, higher latency, because of batching) vs (a mapper / adapter, that by the way could be contained in the frontend itself, if the only reason for its existance is mapping values, and also you get a smaller bundle size maybe.

guilhermegavioli
Автор

Great content, John! Would you say it's common to see a headless software architecture being used with microservices/containers?

OhDearBabajan
Автор

4:30, when you say the front end development teams will be responsible for the BFF's; could this be constrewed that the front end teams are responsible for integration with the BFF's and consulting with a back end team on the design and implmentation of the BFF, or rather that the front end teams are responsible and should take ownership of the entire BFF? Including the design of how the BFF integrates with the relevant back ends? As in my experience the front end teams like integrating with API's as opposed to building and designing them, but perhaps that is just my small sample.

BernardVisagie
Автор

what is the typical or recommended stack, framework or language used for a BFF?

mrabetrafik
Автор

I feel like this practice is self-evident, but teams have implemented microservices poorly, so now we need a new buzzword

j.j.
Автор

Is BFF is for initial load of data ? what happens when frontent needs 1 small current data after page load ? should frontend call bff or just call respective microservice ?

manmohanmundhraa