Mostrando entradas con la etiqueta Microservicios. Mostrar todas las entradas
Mostrando entradas con la etiqueta Microservicios. Mostrar todas las entradas

lunes, 27 de junio de 2022

Istio Service Mesh

La arquitectura de Microservicios permite realizar desarrollos y despliegues de forma más rápida, desacoplada, por eso la adoptan empresas interesadas en innovar. Administrar Microservicios a escala implica desafíos tales como: gestionar efectivamente la comunicación, probar versiones de manera controlada en producción y administrar la seguridad. Las mallas de servicios (Service Mesh), entre las cuales Istio es la más popular, ofrecen una forma segura, rápida y efectiva de administrar un ecosistema de microservicios. Istio es un proyecto open source en el cual se basan algunas soluciones empresariales, permite descubrimiento, seguridad, rastreo, monitoreo y manejo de fallas en estos ambientes

The Istio service mesh - Istio is an open source service mesh that layers transparently onto existing distributed applications


Minikube: lo mejor de Kubernetes con el mínimo esfuerzo (minikube en Github)




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...

miércoles, 4 de septiembre de 2019

Aplicaciones orientadas a microservicios

Revisando la arquitectura de nuestros sistemas, analizando oportunidades de mejoras, buscando formas de mejorar performance y escalabilidad.
Aquí se mencionan algunos artículos y temas de interés.

Diseño de una aplicación orientada a microservicios: muy buena publicación, donde explica el desarrollo de una aplicación empresarial del lado del servidor.

Advanced Message Queuing Protocol (AMQP)

Command Query Responsibility Segregation (CQRS)
¿Que es CQRS?
CQRS es un patrón de arquitectura que separa los modelos para leer y escribir datos.
La idea básica es que puede dividir las operaciones de un sistema en dos categorías claramente separadas:
- Consultas. Devuelven un resultado sin cambiar el estado del sistema y no tienen efectos secundarios.
- Comandos. Cambian el estado de un sistema.


Event-driven architecture (EDA)

Swagger es un marco de código abierto de uso común, respaldado por una gran variedad de herramientas que le permite diseñar, compilar, documentar y utilizar las API RESTful. Se está convirtiendo en el estándar para el dominio de metadatos de la descripción de API.