Desde hace unos años, las arquitecturas de microservicios han tenido una gran popularidad entre los desarrollos en la nube gracias a sus ventajas y escalabilidad y desarrollos independientes.
De hecho, se considera que el 90% de las nuevas apps que aparecerán en 2022 serán arquitecturas de microservicios. Sin embargo, este proceso es complicado. Por eso Microsoft ha anunciado hoy Dapr para solventar este problema.
Dapr y OAM lo último de Microsoft en el mundo open source
Dapr permitirá a los desarrolladores desde cualquier lenguaje y framework crear aplicaciones de microservicios robustas y portable que trabajen con código en la nube y en el borde. Esto permitirá trabajar con código nuevo o migrar código ya existente. Técnicamente, Dapr es de código abierto, portátil y con un tiempo de ejecución en base a los eventos. Vamos a conocer los pilares de Dapr.
- Invocar al servidor – Se trata de una invocación servicio a servicio robusta que permite llamadas, reintentos en servicios remotos sin importar donde estén funcionando en el ecosistema del host.
- Gestión del estado – Con esta función aplicada a servicios de valores, pares de valores, funcionamiento prolongado, altamente disponible y otros, pueden ser escritos junto a servicios sin estado en la misma aplicación. El almacenamiento de estado es conectable y puede incluir Azure Cosmos o Redis, con otros como AWS DynamoDB en la ruta de los componentes.
- Publica y suscribete a mensajes entre servicios – Publicar eventos y suscribirse a temas entre servicios permite las arquitecturas basadas en eventos para simplificar la escalabilidad horizontal y hacerlos más robustos a los fallos.
- Enlaces de recursos controlados por eventos – Los enlaces a recursos y sus desencadenantes se construyen en base a las arquitecturas en escala y su robusted se consigue mediante el envío y recepción de eventos a cualquiera de mis recursos externos tales como bases de datos, colas, sistemas de archivos, tiendas, webhooks… Por ejemplo, tu código puede desencadenarse por un mensaje en Azure EventHub y escribir datos en Azure CosmosDB.
- Actores Virtuales – Un patron para los objetos sin estado y con todos los estados que hacen de la concurrencia fácil con un método y estado encapsulados. Dapr nos ofrece múltiples capacidades en su modo de trabajo incluyendo concurrencia, estaod ciclo de vida para el actor, activación/desactivación y temporizadores y recordatorios para despertar a los actores.
- Seguimiento distribuido entre servicios – Podemos diagnosticar y observar fácilmente llamadas entre servicios utilizando el W3C Trace Context y mandar elementos a trazar y monitorizar sistemas.
Por otro lado, el Open Application Model u OAM es un estándar para crear aplicaciones en Kubernetes y otras plataformas. Veremos como avanzan estos dos nuevos proyectos de Microsoft.