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

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 42

  • @Zaaaainn
    @Zaaaainn 2 года назад +6

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

  • @jacintduduka9137
    @jacintduduka9137 Год назад +6

    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 :)

    • @GoingHeadlesswithJohn
      @GoingHeadlesswithJohn  Год назад +4

      I have been around long enough to also see the cyclical nature of our industry. Although old concepts are renewed just as in fashion old style revivals always have new and often potent nuances. Seeing similar things before gives you the advantage of deeper insight and understanding of these nuances.

    • @masterflitzer
      @masterflitzer 4 месяца назад

      i only know api gateways lol

  • @이든-i9z
    @이든-i9z 11 месяцев назад

    The easiest video for bff beginners!

  • @OhDearBabajan
    @OhDearBabajan 8 месяцев назад

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

  • @TerenceRyan-y2q
    @TerenceRyan-y2q Год назад

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

  • @gosiastefanowicz5599
    @gosiastefanowicz5599 Год назад

    It was a pleasure to watch this. Thank You.

  • @ivankostadinov5186
    @ivankostadinov5186 2 года назад +1

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

  • @youriregnaud8461
    @youriregnaud8461 Год назад +1

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

  • @praskatti
    @praskatti 2 года назад +2

    @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

  • @amirnz
    @amirnz Год назад

    Would the BFF also be built as a bunch of micro services or would you say that is an overkill?

    • @GoingHeadlesswithJohn
      @GoingHeadlesswithJohn  Год назад

      The BFF is the API for you frontend team to use so it doesn't have to be microservices, it does seem to me to be overkill, as I the BFF will be sitting on top of your backend that could be built will Microservices

  • @BernardVisagie
    @BernardVisagie Год назад

    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.

  • @carlosbenavides670
    @carlosbenavides670 2 года назад +1

    Beautifully explained

  • @christhornham
    @christhornham Год назад

    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.

  • @rafaelrocha3991
    @rafaelrocha3991 2 года назад +1

    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?

  • @mararosa2404
    @mararosa2404 Год назад

    Very nicely and concise explained. Thank you!

  • @annathompson5306
    @annathompson5306 2 года назад

    Best educational videos on headless solution.

  • @manmohanmundhraa3087
    @manmohanmundhraa3087 2 года назад

    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 ?

    • @GoingHeadlesswithJohn
      @GoingHeadlesswithJohn  2 года назад +1

      The BFF is not for the initial load of data but act as the communication layer between your app and other APIs. It is allows the front end devs to build an API specifically for the app they are building.

  • @christopher5731
    @christopher5731 8 месяцев назад

    great explanation

  • @brunchkim4197
    @brunchkim4197 10 месяцев назад

    Thanks for the help

  • @AZ-mi2wj
    @AZ-mi2wj 2 года назад +1

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

  • @mrabetrafik
    @mrabetrafik 2 года назад

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

  • @123taran321
    @123taran321 2 года назад +1

    Amazing, perfect video for what I need!

  • @WhiteSiroi
    @WhiteSiroi 2 года назад +1

    thank you, very helpful

  • @djsadsa2933
    @djsadsa2933 Год назад

    Best friend forever💅

  • @viinnniiee
    @viinnniiee 5 месяцев назад +1

    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.

    • @jordanwalker7076
      @jordanwalker7076 5 месяцев назад

      Exactly, the complexity of mapping and data aggregation still exists, it's just not in the front end anymore. I think the real advantage is separation of concerns; with a BFF, you isolate the complexity of data mapping and aggregation into a single service/component, and remove those concerns from your front end (which might have many other concerns to deal with).

    • @viinnniiee
      @viinnniiee 5 месяцев назад +1

      @@jordanwalker7076 I see, I've studied a bit about Amazon API GATEWAY, and there is this thing called mapping templates, which sort of do that, you defined it beautifully, it is about "isolating the complexity of data mapping and aggregation into a single service/component"

  • @niveditya
    @niveditya 2 года назад

    Very well explained! Thank you :)

  • @jordanwalker7076
    @jordanwalker7076 5 месяцев назад

    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.

  • @tamilan247
    @tamilan247 Год назад

    Thanks a ton :)

  • @dgcp354
    @dgcp354 2 года назад

    real-life example will be good

  • @sanisaj1147
    @sanisaj1147 Год назад

    brilliant

  • @genesisguerrero7151
    @genesisguerrero7151 Год назад

    Graphql fit there

  • @Muslim_Adam
    @Muslim_Adam 2 года назад +2

    Use graphQL

    • @OP-tw6bf
      @OP-tw6bf Год назад

      Was thinking the same thing. But would this fully replace all benefits of a BFF, or only partial?

  • @j.j.9538
    @j.j.9538 Год назад

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

  • @juozaskrusna4205
    @juozaskrusna4205 4 месяца назад

    okok