miércoles, 20 de mayo de 2020

Microservices - API Gateway / BFF

Consideraciones generales

Analizando la infraestructura a implementar en una "arquitectura intermedia" con .Net Core, estamos buscando una forma sencilla y eficiente de impolementar un API Gateway o BFF ( Backend for Frontend)

Explicación básica del porqué de un API Gateway


Red Hat

Red Hat propone un stack de herramientas para desarrollar aplicaciones basadas en Kubernetes, con el fin de brindar la capacidad de escalar de OnPremise al Cloud.





.Net Core

Ocelot : API Gateway para .Net Core
El API Gateway de Ocelot implementa servicios de autenticación, logging, cache, etc.,

Cómo implementar puertas de enlace API con Ocelot.


Lo nuevo de Microsoft

.NET Microservices Sample Reference Application
This reference application is cross-platform at the server and client side, thanks to .NET Core services capable of running on Linux or Windows containers depending on your Docker host, and to Xamarin for mobile apps running on Android, iOS or Windows/UWP plus any browser for the client web apps. The architecture proposes a microservice oriented architecture implementation with multiple autonomous microservices (each one owning its own data/db) and implementing different approaches within each microservice (simple CRUD vs. DDD/CQRS patterns) using Http as the communication protocol between the client apps and the microservices and supports asynchronous communication for data updates propagation across multiple services based on Integration Events and an Event Bus (a light message broker, to choose between RabbitMQ or Azure Service Bus, underneath) plus other features defined at the roadmap.

Building a Backend for Frontend (BFF) For Your Microservices


Kestrel / IIS

Las API desarrolladas en .Net Core se pueden publicar en Kestrel web server que a su vez puede o no utilizar un reverse proxy como IIS.

Conclusiones

How to choose the right API Gateway for your platform.
¿Ocelot o Envoy? Queda pendiente de analizar y definir...

No hay comentarios:

Publicar un comentario