A description of the backend for frontend microservices pattern
Overview
Backend for Frontend (BFF) is essentially an orchestration layer in your development stack, which comprises multiple API Gateways for your application. Similar to a single API Gateway, this layer handles a lot of the complexity of fetching and handling microservices data, so that it can be more easily, reliably, and securely consumed by the frontend.
What makes BFF unique, is that each frontend will have its own dedicated API gateway custom tailoring the data that it receives, instead of having all the frontend channels sharing the same single gateway.
Why BFF is Beneficial
The frontend in modern development increasingly comprises a variety of different devices like web browsers, mobile apps, and other smart devices like televisions, watches, etc. It is no longer sufficient for your app to only work seamlessly on a web browser - users expect a seamless experience across all their devices.
In order for developers, marketers, and content creators to optimize this experience across all the users' touch points, the frontend channels must all be connected properly to the backend.
In the past, frontend code was often tightly coupled with the backend, as with traditional monolithic CMS platforms like WordPress and Drupal. More recently, microservices have come to be widely used. BFF brings microservices together into a more manageable layer that handles the different data dependencies and requirements in such a way that frontend developers can easily consume the data they need without having to worry about how the API is functioning behind the scenes.
How the BFF Pattern Fits into Kuroco's Development Philosophy
Like a kuroco (or ‘backstage helper’ in traditional Japanese theater, working behind the scenes to ensure the show runs smoothly), the purpose of a BFF is to consolidate all the data sources of an app into a kind of ‘black box’ approach that makes the API strategy much more manageable. This is especially true in the case of large enterprises, where many different microservices being consumed by all frontend channels can become unwieldy to work with.
Kuroco is the Headless CMS Built with API Management in Mind
Kuroco is a feature-rich headless CMS that enables enterprise teams to easily configure and customize API endpoints. While we offer a single API gateway out-of-the-box, it can be easily customized to function as a BFF. This enables you to access all your enterprise's data with ease, without having to make complicated, potentially breaking changes to your backend architecture or do expensive rebuilds.
Kuroco is the best solution of its type for enterprises looking to decouple their backend and frontend concerns. If you are interested in learning more about how our solutions can help your business, please contact us and we will be happy to answer any questions you have.