Posted in

Implementing the Backend-for-Frontend (BFF) / Curated API…

Explains using Azure API Management as a Backend-for-Frontend to aggregate, transform, and optimize backend services per client. Describes APIM policies for parallel calls, response aggregation, error handling, caching, and centralized security without changing backend code.

Azure API Management now supports implementing a Backend-for-Frontend (BFF) or Curated API pattern using policy-based orchestration. This approach removes the need for additional aggregation services while enabling client-specific payload shaping and orchestration.

Main feature/change and impact

Using APIM policies, you can implement a lightweight BFF that aggregates, transforms, and curates responses. APIM can call multiple backends in parallel, capture each response, and compute a unified payload and status. This reduces backend coupling and network chattiness. The result is client-optimized responses without modifying backend services or adding new infrastructure.

Practical implications

Teams can centralize cross-cutting concerns like caching, rate limiting, and auth in APIM policies. Mobile and low-bandwidth clients benefit from fewer round trips and smaller payloads. Developers avoid creating and operating separate aggregation services. Observability and governance remain at the API layer, simplifying compliance and lifecycle management.
“The BFF pattern introduces a dedicated backend layer for each frontend experience.”
Closing paragraph: Adopt APIM-based BFFs when client-specific shaping or reduced round trips matter. Next steps: prototype with send-request and wait policies, validate timeouts and error handling, and iterate on curated payloads.

Key points from the article:

  • APIM policies can implement BFF without new backend services.
  • Use wait and send-request policies for parallel backend calls.
  • Aggregate responses and compute composite status codes.
  • Transform payloads to reduce over-fetching and improve client UX.
  • Apply caching, rate limiting, and auth centrally in APIM.
  • Related Coverage:

    From the Microsoft Developer Community Blog articles