Hace un tiempo leí que el concepto del “efecto mariposa” se podría haber sugerido en un viejo proverbio chino que dice: “el leve aleteo de las alas de una mariposa se puede sentir al otro lado del mundo”. Para trasladar esto al ámbito de la informática, podríamos hablar de programación reactiva.
Dado que la informática moderna esta orientada a eventos, es decir, “cuando ocurre algo, se desencadena algo”, y que montarte un sistema para el control de eventos es costoso y complicado, azure nos proporciona Event Grid, que es un artefacto el cual permite “controlar” esos eventos.
En esta sesión veremos que es la programación reactiva, que nos aporta, y como explotarla al máximo de una manera sencilla, permitiéndonos desacoplar nuestros desarrollos controlando eventos mediante arquitecturas serverless o creando nuestros propios eventos.
10. Simplificación del consumo de eventos (PUB - SU
Reacción a eventos (casi tiempo real)
Fácil implementación de ARQ basadas en eventos
Aplicaciones confiables en cloud
Escalable y alta disponibilidad
Grandes posibilidades con serverless
Automatización
11. Principios Azure Event Grid
Siempre disponible
CASI tiempo real
Escalable
Plataforma agnóstica (WebHook)
Lenguaje agnóstico (Protocolo HTTP)
12.
13. Conceptos imprescindibles
Event: ¿Qué pasó?
Event Publisher: ¿Dónde ocurrió?
Topic: ¿A dónde se envían los eventos?
Event Subscriptions: ¿Cómo recibes los eventos?
Filters: Tipos de evento, empieza con… termina con…
Event Handlers: App o servicio que reacciona al evento
what if all these events could be managed and directed from one place?
Simplifique sus aplicaciones basadas en eventos con Event Grid, un único servicio para administrar el enrutamiento de todos los eventos desde cualquier origen hasta cualquier destino. Diseñado para ofrecer alta disponibilidad, un rendimiento constante y escalado dinámico, Event Grid le permite centrarse en la lógica de su aplicación en lugar de la infraestructura.
PROGRAMACIÓN REACTIVA
https://www.returngis.net/2017/08/azure-event-grid-el-enrutador-de-eventos-de-microsoft-azure/
Simplifique el consumo de eventos
Elimine los sondeos y los costos y la latencia que conllevan. Con Event Grid, sus aplicaciones pueden escuchar y reaccionar a eventos de casi todos los servicios de Azure y de orígenes personalizados. El control de eventos sencillo y reactivo basado en HTTP le ayuda a crear soluciones eficaces con filtrado y enrutamiento de eventos inteligente.
Cree aplicaciones en la nube confiables
Y Obtenga escalado masivo y dinámico al tiempo que disfruta de entrega de eventos casi en tiempo real con un modelo de publicación-suscripción. Cree aplicaciones mejores y más confiables mediante programación reactiva, aprovechando una entrega de eventos garantizada la alta disponibilidad de la nube.
Dedique su tiempo a la innovación de productos
Desarrolle escenarios de aplicación más completos habilitando la lógica sin servidor para que la desencadenen múltiples servicios y eventos. El modelo de pago por operación de Event Grid complementa las modernas arquitecturas sin servidor y le permite centrarse en la innovación y la solución de problemas de su negocio en lugar de la infraestructura.
Simplifique sus aplicaciones basadas en eventos con Event Grid, un único servicio para administrar el enrutamiento de todos los eventos desde cualquier origen hasta cualquier destino. Diseñado para ofrecer alta disponibilidad, un rendimiento constante y escalado dinámico, Event Grid le permite centrarse en la lógica de su aplicación en lugar de la infraestructura.
PROGRAMACIÓN REACTIVA
https://www.returngis.net/2017/08/azure-event-grid-el-enrutador-de-eventos-de-microsoft-azure/
Evento: se trata de una pequeña cantidad de información que describe lo ocurrido en un sistema. Todo evento tiene información común: la fuente que ha generado dicho evento, el momento en el que ocurrió, el tipo y un identificador único.
Publicador de eventos: se trata de la fuente que genera los eventos.
Topic: Es el mecanismo que utiliza Azure Event Grid para recibir los eventos de los publicadores mencionados anteriormente. También es el lugar donde los suscriptores se suscriben con el fin de recuperar los eventos de su interés. Existen una serie de topics que ya están disponibles, relacionados con la plataforma de Azure, pero también es posible crear los tuyos propios.
Suscripción: es el enlace de los servicios o aplicaciones con uno o más topics dentro de Azure Event Grid.
Manejadores de eventos: son las aplicaciones o servicios que tratarán los eventos, una vez recibidos por parte de Azure Event Grid.
https://stackify.com/azure-event-grid-services/
Protocolo de enlace ValidationCode (mediante programación): Si se controla el código fuente para el punto de conexión, se recomienda este método. En el momento de crear la suscripción a eventos, Event Grid envía un evento de validación de suscripción en su punto de conexión. El esquema de este evento es similar a cualquier otro evento de Event Grid. La parte de datos de este evento incluye una propiedad validationCode. La aplicación comprueba que la solicitud de validación es para una suscripción a un evento esperado, y devuelve el código de validación a Event Grid. Este mecanismo del protocolo de enlace se admite en todas las versiones de EventGrid.
Protocolo de enlace ValidationURL (manual): En algunos casos, no puede acceder al código fuente del punto de conexión para implementar el protocolo de enlace ValidationCode. Por ejemplo, si usa un servicio de terceros (como Zapier o IFTTT), no puede responder con el código de validación mediante programación. Hacer get sobre la url durante 5 min. Caduca a los 10 min
Event Grid conecta orígenes de datos y controladores de eventos. Por ejemplo, use Event Grid para desencadenar al instante una función sin servidor que ejecute un análisis de la imagen cada vez que se agrega una fotografía nueva a un contenedor de Blob Storage.
Event Grid permite agilizar la automatización y simplificar el cumplimiento de directivas. Por ejemplo, Event Grid puede enviar una notificación a Azure Automation cuando se crea una máquina virtual o cuando se pone en marcha una instancia de SQL Database. Estos eventos se pueden usar para comprobar de forma automática que la configuración del servicio es conforme, poner metadatos en herramientas de operaciones, etiquetar máquinas virtuales o archivar elementos de trabajo.
Extienda los flujos de trabajo existentes activando una aplicación lógica cuando haya un nuevo registro en su BD o en su storage…
Event Grid conecta su aplicación con otros servicios. Por ejemplo, cree un tema personalizado para enviar los datos de eventos de su aplicación a Event Grid y aprovechar la entrega confiable, el enrutamiento avanzado y la integración directa con Azure que ofrece. También puede usar Event Grid con Logic Apps para procesar datos en cualquier parte, sin necesidad de escribir código.