A Backend for Frontend (BFF) architecture can be used to create backends for client-facing mobile or web apps. BFF’s can help support an application with multiple clients while at the same time moving the system into a less-coupled state than a monolith system. This code pattern helps teams iterate features faster and have control over the backends for mobile apps without affecting the experience for a corresponding mobile or web app.
The backends-for-frontends architectural pattern describes a world in which each client application has its own server-side component — a _backend _for a particular frontend.
This pattern is highly applicable if you have multiple client interfaces with significantly different needs that all consume the same underlying resources. The most common real-world example is an application that has both a web and a mobile client.
To understand why backends-for-frontends is useful, let’s walk through some evolutions in web architecture.
Simplicity is great, right? Actually, it is…but only up to a point. If your application is small enough this architecture can absolutely work! However, monoliths tend to break down with scale. You might hear your teams start to say things like…
These types of problems catalyzed the rise of microservices.
#micro-frontends #bff #frontends #backends