Simplificación de las arquitecturas basadas en eventos con las últimas actualizaciones de Event Grid

Publicado el 29 mayo, 2019

Program Manager, Event Grid

Las arquitecturas basadas en eventos están reemplazando y dejando a un lado progresivamente los sistemas basados en sondeos menos dinámicos, mediante la incorporación de las ventajas de la informática sin servidor a los escenarios de IoT, las tareas de procesamiento de datos o los trabajos de automatización de la infraestructura. Debido a la evolución natural de los microservicios, las empresas de todo el mundo están adoptando un enfoque basado en eventos para crear experiencias en las aplicaciones existentes o migrar dichas aplicaciones a la nube, lo que permite crear escenarios más eficaces y complejos cada día.

Hoy, nos complace muchísimo anunciar una serie de actualizaciones de Event Grid que ofrecerán mayor rendimiento y aplicaciones basadas en eventos más avanzadas en la nube:

  • Versión preliminar pública de eventos de telemetría de dispositivos IoT Hub
  • Versión preliminar pública de Service Bus como un controlador de eventos
  • Recuperación ante desastres geográfica automática en el servidor
  • Disponibilidad general de dominios de eventos, ahora hasta con 100 000 temas por dominio
  • Versión preliminar pública del soporte técnico para eventos de 1 MB
  • API de paginación y búsqueda de lista
  • Disponibilidad general de los filtros avanzados con una mayor profundidad de filtrado

Integración ampliada con el ecosistema de Azure

Una de las características más importantes que nos han solicitado desde el lanzamiento de la integración de Azure IoT Hub con Event Grid es la que está relacionada con los eventos de telemetría de dispositivos. Hoy, por fin, habilitamos esa característica en la versión preliminar pública en todas las regiones públicas, excepto Este de EE. UU., Oeste de EE. UU. y Oeste de Europa. Nos alegra que pruebe esta funcionalidad y compile más soluciones de IoT optimizadas para su negocio.

La suscripción a los eventos de telemetría de dispositivos permite realizar integraciones de los datos desde los dispositivos en la solución con más facilidad, incluidas las aplicaciones sin servidor, con Azure Functions o Azure Logic Apps, y cualquier otro servicio mediante el uso de webhooks, independientemente de que se encuentren en Azure o no. Esto ayuda a simplificar las arquitecturas de IoT al eliminar la necesidad de contar con servicios adicionales que sondeen la telemetría de los dispositivos para un procesamiento adicional.

Con la publicación de los eventos de telemetría de los dispositivos en Event Grid, IoT Hub expande los servicios a los que los datos pueden llegar, más allá de los puntos de conexión admitidos mediante el enrutamiento de mensajes. Por ejemplo, puede automatizar los flujos de trabajo descendentes con la creación de suscripciones distintas a los eventos de telemetría de dispositivos para distintos tipos de dispositivo, identificados por la etiqueta de dispositivo gemelo, y con la activación de aplicaciones de terceros o instancias de Azure Functions diferentes para un cálculo exclusivo por tipo de dispositivo. En función de las suscripciones de Event Grid a los eventos de telemetría de dispositivos, creamos una ruta predeterminada en IoT Hub, para controlar todas las suscripciones de Event Grid a la telemetría de dispositivos.

Obtenga más información sobre la telemetría de dispositivos de IoT Hub en los documentos, y siga enviando sus sugerencias en el foro de UserVoice en Azure IoT.

También vamos a incorporar Service Bus como un controlador de eventos para Event Grid en la versión preliminar pública, así que, a partir de hoy, puede enrutar los eventos de Event Grid directamente a las colas de Service Bus. Service Bus ahora puede actuar como un origen del evento o como un controlador de eventos, para ofrecer una experiencia más sólida con la entrega de eventos y mensajes en aplicaciones empresariales distribuidas. Actualmente se encuentra disponible como versión preliminar pública y no funciona con los temas y las sesiones de Service Bus, pero sí con todos los niveles de las colas de Service Bus.

Esto habilita escenarios de comando y control en los que recibe eventos de actividad de otros servicios, como los blobs creados, los dispositivos creados y los trabajos finalizados, con su difusión para un procesamiento adicional.

Obtenga más información sobre Service Bus como un destino en la documentación.

Recuperación ante desastres geográfica en el servidor

Event Grid ahora incorpora la recuperación ante desastres geográfica automática de los metadatos, una característica aplicable a todos los dominios, temas y suscripciones a eventos existentes, y no solo a algunos. Ofrece una resistencia significativamente mejorada frente a las interrupciones del servicio, un aspecto que se puede administrar íntegramente en la plataforma. En caso de que se produzca alguna interrupción que afecte a una región entera de Azure, el servicio Event Grid ya tendrá todos los metadatos de la infraestructura de eventos sincronizados con una región emparejada, y los nuevos eventos empezarán a fluir de nuevo sin necesidad de realizar ninguna intervención manual, de tal forma que se evita una interrupción del servicio automáticamente.

La recuperación ante desastres se suele medir con dos métricas:

La conmutación por error automática de Event Grid tiene diferentes RPO y RTO para los metadatos (suscripciones a eventos, entre otros) y los datos (eventos). Si necesita una especificación distinta a la siguiente, siempre puede implementar su propia conmutación por error en el cliente con las API de estado de temas.

  • RPO de los metadatos: cero minutos. Ha leído bien. Cada vez que se crea un recurso en Event Grid, se replica al instante entre las regiones. En caso de que se produzca una conmutación por error, no se perderá ningún metadato.
  • RTO de los metadatos: aunque esto suele ocurrir con mucha más rapidez, en 60 minutos, Event Grid empezará a aceptar llamadas para crear, actualizar y eliminar en los temas y las suscripciones.
  • RPO de los datos: si el sistema funciona correctamente y controla el tráfico existente en el momento de la conmutación por error regional, el RPO de los eventos será inferior a 5 minutos.
  • RTO de los datos: al igual que sucede con los metadatos, esto suele ocurrir mucho más rápido, pero, en 60 minutos, Event Grid empezará a aceptar el tráfico nuevo después de una conmutación por error regional.

Y lo mejor de todo es que la recuperación ante desastres geográfica de los metadatos en Event Grid no genera ningún costo. Se incluye en el precio actual del servicio y no supondrá ningún cargo adicional.

Impulso de las cargas de trabajo avanzadas basadas en eventos

A medida que analizamos más arquitecturas avanzadas basadas en eventos para diversos escenarios, como IoT, CRM o las finanzas, observamos una mayor necesidad de expandir nuestras funcionalidades para las aplicaciones multiinquilino y las cargas de trabajo con un control de volúmenes más grandes de datos en sus eventos.

Los dominios de eventos le dan la capacidad de organizar toda la infraestructura de eventos en una única construcción, definir reglas de autenticación pormenorizadas en cada tema para quién puede suscribirse y administrar todos los eventos publicados con un único punto de conexión. Las arquitecturas clásicas de publicación-suscripción se basan exclusivamente en temas y suscripciones; sin embargo, a medida que crea arquitecturas basadas en eventos más avanzadas y de alta fidelidad, la carga del mantenimiento aumenta exponencialmente. Los dominios de eventos evitan este inconveniente al encargarse automáticamente de la mayoría de la administración.

Hoy, nos complace anunciar que los dominios de eventos ya están disponibles con carácter general y, gracias a ello, podrá disponer de 100 000 temas por dominio. Presentamos el conjunto completo de límites de dominios de eventos con disponibilidad general:

  • 100 000 temas por dominio de eventos
  • 100 dominios de eventos por suscripción de Azure
  • 500 suscripciones de eventos por tema en un dominio de eventos
  • 50 suscripciones de eventos tipo "conjunto" dentro del ámbito del dominio de eventos
  • 5000 eventos/segundo en un dominio de eventos

Como siempre, si necesita superar estos límites, no dude en ponerse en contacto con nosotros mediante una incidencia de soporte técnico o enviando un correo electrónico a askgrid@microsoft.com,

para que podamos ofrecerle más capacidad.

También reconocemos que las arquitecturas avanzadas basadas en eventos no siempre se adaptan a los límites de 64 KB. Estas cargas de trabajo requieren la administración de eventos más grandes para una arquitectura más sencilla, y, hoy, anunciamos la versión preliminar pública de los eventos de hasta 1 MB.

No es necesario realizar ningún cambio de configuración y funcionará en las suscripciones a eventos existentes; además, todo lo que no supere los 64 KB se cubrirá aún con nuestro SLA de disponibilidad general. Para probarlo, solo tiene que insertar eventos más grandes, teniendo en cuenta que los eventos con más de 64 KB se cobrarán en incrementos de 64 KB, y el límite del tamaño por lotes de los eventos enviados a Event Grid como una matriz JSON sigue computando como un total de 1 MB.

Administración simplificada de los eventos

Puede tener miles de suscripciones a eventos o, con la disponibilidad general de los dominios de eventos, cientos de miles de temas en torno a su suscripción de Azure. A fin de facilitar la búsqueda y administración de estos recursos, hemos incorporado las API de paginación de lista y de búsqueda de lista en Event Grid. Para obtener más información, consulte todos los detalles en nuestra “Documentación de Azure Event Grid”.

Los filtros avanzados utilizados para enrutar los mensajes en Event Grid actualmente se encuentran disponibles con carácter general, sin ninguna restricción en el número de objetos anidados en sus archivos JSON. Esto aporta mayor granularidad al filtrar los eventos antes de pasarlos a otros servicios para un procesamiento adicional, lo que permite reducir el tiempo de proceso y los recursos necesarios, ya que no es necesario realizar este filtrado en ningún otro lugar.

Si aún no ha utilizado los filtros avanzados, puede usar los operadores siguientes en cualquier parte del evento, de tal forma que las posibilidades serían casi infinitas: StringContains, StringBeginsWith, StringEndsWith, StringIn, StringNotIn, NumberGreaterThan, NumberGreaterThanOrEquals, NumberLessThan, NumberLessThanOrEquals, NumberIn, NumberNotIn y BoolEquals.

Comience hoy mismo

Como siempre, nos encantaría saber sus opiniones, comentarios y listas de deseos cuando tenga la oportunidad de probar estas nuevas características. Puede empezar hoy mismo con los siguientes recursos y, en su caso, envíenos sus comentarios.

  1. Suscríbase para obtener una cuenta gratuita de Azure si aún no la tiene.
  2. Suscríbase a los eventos de telemetría de dispositivos de IoT Hub con Event Grid.
  3. Obtenga más información sobre el uso de Service Bus como un controlador de eventos.
  4. Cree aplicaciones multiinquilino más eficaces con los dominios de eventos.
  5. Realice búsquedas y paginaciones de miles y miles de eventos con estas nuevas API.
  6. Enrute solo los eventos necesarios para su procesamiento mediante los filtros avanzados.