Integración de API ‒ Backend para frontend - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Integración de API ‒ Backend para frontend

El patrón Backends for Frontends (BFF) se utiliza normalmente en entornos de microservicios. En el contexto de las microinterfaces, una BFF es un servicio del lado del servidor que pertenece a una microinterfaz. No todas las microinterfaces necesitan tener una mejor amiga. Sin embargo, si utilizas un BFF, debe ejecutarse dentro del mismo contexto acotado y no compartirse en otros contextos acotados.

A diferencia de un servicio tradicional, una mejor amiga no sigue un modelo de dominio. En cambio, se trata de una capa de API para que la microinterfaz procese previamente los datos antes de que lleguen al cliente. Entre las áreas en las que esto resulta útil se incluyen las siguientes:

  • Autorización para las API privadas

  • Agregación de datos de diferentes fuentes

  • Transformación de datos para reducir la carga de la red y facilitar el consumo de datos por parte del cliente

Por lo tanto, un BFF es propiedad de la microinterfaz, no del nivel de servicio del dominio. Los mejores amigos se pueden implementar de la siguiente manera:

  • API de AWS AppSync GraphQL

  • Un conjunto de funciones de AWS Lambda

  • Como contenedor que se ejecuta en Amazon ECS, Amazon EKS o AWS AppRunner

El siguiente diagrama muestra que, sin el patrón BFF, las microinterfaces deben conectarse a puntos de enlace individuales de la API de microservicios para obtener y agregar datos.

Aplicación de panel de control que primero busca las transacciones y, después, los precios de los microservicios disociados.

En cambio, con el patrón BFF del siguiente diagrama, las microinterfaces pueden comunicarse con su propio backend y obtener datos agregados.

La vista de transacciones obtiene datos agregados, incluida la información de precios, del BFF.

Los equipos pueden desarrollar mejores amigos para diferentes canales, como dispositivos móviles, web o vistas específicas, con el requisito de optimizar las interacciones de back-end reduciendo las conversaciones.