By WalkingTree   October 12 , 2020

The Backends-For-Frontends Pattern

The idea of having mobile and web clients in a single general-purpose API server was perfect for small applications. However, there were drawbacks to this. 

Teams started to complain about bloated servers. Other complaints included taking forever to build and test, and a lack of coordination between various teams. The introduction of Microservices helped mitigate these complaints.

Yet, frontend teams still struggled. They had to jam multiple use cases into a single API layer leading to the poor user experience. The fix? Backends-for-Frontends!

As the name suggests, the Backends-for-Frontends (BFF). develops different backends for each user experience. The BFF pattern is a concept where each client application has its own server. BFF makes it possible for developers to add an API tailored to the needs of each client. This removes the bloat caused by having a single server.

The other benefits include ownership of both, client application and its underlying resource consumption layer. Also, it gives protection from API changes in downstream service. To top it off, BFFs are client-specific and single-dimensional.

When to use the Backends for Frontends pattern? 

  • When maintaining a general-purpose backend service and expecting significant development ahead.
  •  To optimize the backend of specific client interfaces.
  •  When accommodating customizations on multiple interfaces.
  • When your development teams are clashing for feature delivery. 

Backends-For-Frontends solves the major concern for mobile development when using microservices. Also, they provide a captivating alternative to the general-purpose API backend. Read on to know more about the Backends for Frontends concept.

Blogs

Translate »