Backend for Frontend
A narrow backend per client experience, owned by that client's team.
5 to work through
-
intermediate
A platform has a backend-for-frontend per client, and they have diverged with duplicated logic. Is BFF still the right pattern?
2 min answer -
intermediate
A product runs on web, iOS, Android and a television app. The shared API team is the bottleneck for every client change. Design the fix.
3 min answer -
intermediate
A quick-commerce platform serves a mobile app, a web app and a partner API from the same services. When does a backend-for-frontend earn its place?
2 min answer -
intermediate
A travel platform with Booking.com's catalogue breadth replaces nine client-side calls with one backend-for-frontend call that fans out to the same nine services. Mobile p99 improves by 40% on the first day. Each of the nine services holds 99.9% availability. What has the team given up, and when does the bill arrive?
3 min answer -
intermediate
Several client applications with different needs consume the same backend. When is a backend-for-frontend justified, and when does it become an unowned distributed monolith?
2 min answer
2 terms in this topic
Backend for Frontend
A dedicated backend per client experience, owned by the team that owns that client, so each surface gets exactly the payload it needs.
patternClient-Specific Aggregation
A dedicated backend per client type that shapes and combines downstream data for that client's needs, owned by the client team.
Neighbouring topics
Architecture Patterns
General material on architectural patterns and their trade-offs.
Layered Architecture
The default shape, its clarity, and where a technical partition fails.
Event-Driven Architecture
Publishing facts, and trading comprehensibility for decoupling.
Pipes and Filters
Independent transformation steps composed into a pipeline.
Publish/Subscribe
Broadcast to every subscriber, as distinct from work distribution.
Competing Consumers
Scaling throughput with instances, at the cost of ordering.
Saga
Local transactions with compensating actions across services.
CQRS
Separate models for writing and reading, each optimised for its job.
Event Sourcing
The event log as the system of record, with state as a projection.
Outbox
Making the event atomic with the business write it describes.
Strangler Fig
Incremental replacement behind a routing facade.
Anti-Corruption Layer
Translating a foreign model at the boundary so it does not leak in.
Sidecar & Ambassador
Cross-cutting behaviour in a co-deployed process.
Service Mesh
Sidecars applied estate-wide, and the scale at which that pays.
API Gateway
A single entry point for policy, routing and protocol translation.
Cell-Based Architecture
Complete isolated copies each serving a subset of customers.
Sharding Patterns
Directory versus embedded keys, logical shards and rebalancing.
Materialized Views
Precomputed query results, refreshed incrementally or in full.
Orchestration vs Choreography
A coordinator that knows the flow, or services that react to events.