Microsoft AZ-305: Arquitectura de Integración y Mensajería — Guía de estudio
Forma parte de la Microsoft Azure Solutions Architect Expert AZ-305 — Guía de estudio. Practica con respuestas verificadas en el centro de exámenes de Microsoft, o realiza tests cronometrados en ExamRoll.io.
Información general
La arquitectura de integración y mensajería en Azure se basa en seleccionar el servicio correcto para la semántica de movimiento de comandos, eventos y datos; diseñar para la fiabilidad, el ordenamiento y la escalabilidad; e integrar sistemas híbridos de forma segura. Los componentes fundamentales incluyen Azure Service Bus para mensajería empresarial con brokers enriquecidos, Azure Event Grid para enrutamiento reactivo de eventos, Azure Event Hubs para ingesta de streaming de alto rendimiento y Storage Queues para un sistema de colas simple. Alrededor de estos se encuentran Azure Logic Apps para la automatización de procesos, API Management para la gobernanza y la experiencia del desarrollador, Azure Data Factory para ETL/ELT, Azure Relay para conectividad on-premises compatible con firewalls y Azure Notification Hubs para notificaciones push para móviles. Un diseño sólido utiliza el servicio adecuado para cada tarea, modela explícitamente los contratos y los modos de fallo, y aplica patrones de orquestación o coreografía cuando es apropiado.
Mensajería y gestión de eventos en Azure
Azure Service Bus es el broker empresarial para comandos y flujos de trabajo que requieren entrega ordenada, transacciones, FIFO dentro de grupos y manejo de mensajes fallidos (dead-letter). Las colas ofrecen mensajería punto a punto entre un productor y un grupo de consumidores en competencia. Los temas permiten un modelo pub/sub con múltiples suscripciones independientes que pueden filtrar y enrutar mensajes usando filtros y acciones similares a SQL. Las sesiones de mensajes agrupan mensajes relacionados bajo un sessionId, permitiendo FIFO y procesamiento con estado por grupo; el bloqueo de sesión asegura que un único consumidor procese una sesión a la vez. Las colas de mensajes fallidos (dead-letter queues) capturan mensajes corruptos (poison messages) cuando se excede el número máximo de entregas, el TTL expira o cuando se envían explícitamente a esta cola, permitiendo su cuarentena e inspección posterior; cada cola o suscripción tiene una subcola $DeadLetterQueue. Las transacciones permiten operaciones atómicas de envío/recepción/completado entre entidades dentro del mismo espacio de nombres, asegurando, por ejemplo, que un mensaje solo se complete si los mensajes posteriores se envían con éxito (la función send-via admite flujos de trabajo entre entidades).
Azure Event Grid es un enrutador de eventos totalmente gestionado para patrones reactivos basados en push. Utiliza el esquema nativo de Event Grid o CloudEvents 1.0. Las suscripciones de eventos se dirigen a puntos de conexión (endpoints) como Functions, Logic Apps, Service Bus, Event Hubs, WebHooks y Storage Queues, con filtros por asunto y avanzados para reducir el ruido. La entrega se reintenta con un retroceso exponencial (exponential backoff); las suscripciones admiten una política de reintentos configurable (número máximo de intentos de entrega y tiempo de vida del evento) y pueden enviar a una cuenta de Storage como mensajes fallidos (dead-letter) los eventos que no se pueden entregar. La validación por handshake asegura los endpoints de WebHook, y las identidades administradas simplifican la publicación y entrega a endpoints de Azure.
Azure Event Hubs ingiere telemetría y datos de streaming a escala masiva con registros particionados. Las particiones proporcionan paralelismo y ordenamiento dentro de una partición; elija una clave de partición para mantener ordenados los eventos relacionados. El número de particiones determina la escala y no se puede reducir después de la creación, así que debe dimensionarse para el rendimiento futuro. Los grupos de consumidores proporcionan vistas independientes del flujo de eventos para diferentes aplicaciones sin interferir con los desplazamientos (offsets) de los demás. La función de captura descarga datos de forma persistente a Azure Blob Storage o Data Lake Storage casi en tiempo real basándose en ventanas de tiempo/tamaño, típicamente en formato Avro, permitiendo análisis por lotes (batch) sin afectar la ingesta. El Schema Registry integrado almacena esquemas Avro/JSON con control de versiones y políticas de compatibilidad, permitiendo a los productores y consumidores validar y evolucionar los contratos de forma segura.
Storage Queues ofrece una entrega de tipo “al menos una vez” (at-least-once) simple y rentable, con tiempos de invisibilidad y un manejo básico de mensajes fallidos mediante el TTL del mensaje y el tratamiento de mensajes corruptos (poison) gestionado por la aplicación. Carecen de transacciones, sesiones y enrutamiento avanzado, pero son excelentes para el desacoplamiento básico y la distribución masiva (fan-out) a bajo coste.
Cuándo elegir cada uno:
- Use Service Bus para comandos, flujos de trabajo y escenarios de integración que requieran FIFO (a través de sesiones), transacciones, aplazamiento, detección de duplicados y auditoría de mensajes fallidos.
- Use Event Grid para notificaciones ligeras, basadas en push y de distribución masiva (fan-out) desde servicios de Azure o aplicaciones personalizadas, con filtrado de grano fino y reacciones casi en tiempo real.
- Use Event Hubs para la ingesta de telemetría y registros de streaming de alto rendimiento, con consumidores independientes y análisis posteriores.
- Use Storage Queues para un desacoplamiento simple productor/consumidor donde las características avanzadas de un broker no son necesarias y la simplicidad de costes es primordial.
Integración, API y conectividad híbrida
Azure Logic Apps proporciona automatización de flujos de trabajo gestionada con cientos de conectores. En el plan de Consumo (multiinquilino), se paga por acción con escalado automático y conectores multiinquilino; ideal para un uso con picos de actividad. El plan Estándar (inquilino único) se ejecuta en el entorno de ejecución de Functions con flujos de trabajo con y sin estado, mayor rendimiento, conectores personalizados y conectores integrados que se ejecutan en el mismo proceso, contenedorización, desarrollo local e integración con VNET/punto de conexión privado; ideal para el aislamiento empresarial y una capacidad predecible. El Integration Service Environment (ISE) es un sello dedicado heredado para redes privadas y localidad de datos; los nuevos diseños generalmente prefieren Logic Apps Estándar con integración de VNET o implementación en App Service Environment v3.
Azure API Management (APIM) proporciona una capa de abstracción y gobernanza sobre las API. Las directivas se aplican en las fases de entrada (inbound), backend y salida (outbound) para aplicar aspectos transversales como
undefined
,
undefined
,
undefined
,
undefined
,
undefined
,
undefined
y
undefined
para el enrutamiento dinámico. Los productos agrupan una o más API, empaquetan el comportamiento de las directivas y se pueden publicar para grupos específicos. Las suscripciones emiten claves por consumidor o por producto para medir y controlar el acceso; las claves se pueden rotar y vincular a cuotas. El portal para desarrolladores permite flujos de trabajo de autodescubrimiento, documentación, prueba e incorporación, mientras que la puerta de enlace autohospedada permite implementaciones híbridas de plano de control/borde para entornos locales (on-prem) o en otras nubes.
Azure Relay permite la conectividad de entrada a servicios locales (on-prem) sin abrir puertos de firewall de entrada. Hybrid Connections utiliza WebSockets sobre TLS 443 para la comunicación de socket bidireccional de propósito general, iniciada de forma saliente desde el entorno local (on-prem) y desde los clientes hacia el Relay, útil para HTTP y protocolos arbitrarios encapsulados sobre WebSockets. WCF Relay expone puntos de conexión WCF locales (on-prem) (NetTcp/HTTP) a través del relay con seguridad a nivel de transporte o de mensaje y acceso basado en notificaciones (claims); es ideal para servicios WCF existentes que necesitan una exposición segura y compatible con firewalls.
Azure Notification Hubs es un intermediario de notificaciones push multiplataforma que abstrae los sistemas de notificación de plataforma (APNs para iOS, FCM para Android, WNS para Windows, ADM para Amazon). Los backends registran dispositivos o instalaciones con etiquetas y plantillas para dirigir y personalizar notificaciones a escala. Se requieren credenciales de plataforma por cada PNS: clave p8 o certificado de APNs, clave/credenciales del servidor de FCM, SID/secreto del paquete de WNS. Notification Hubs se encarga de la distribución ramificada (fan-out), la limitación de velocidad (throttling) y la gestión de tokens para que el código de la aplicación permanezca agnóstico al PNS.
Movimiento de datos y análisis de streaming
Azure Data Factory (ADF) orquesta la integración de datos en entornos híbridos. Los entornos de ejecución de integración (IR) alojan el cómputo para las actividades: Azure IR para copia sin servidor y flujos de datos dentro de Azure, Self-hosted IR para movimiento de datos/cómputo dentro de redes privadas sin abrir puertos de entrada, y Azure-SSIS IR para migrar paquetes SSIS (lift-and-shift) a clústeres gestionados. Las canalizaciones (pipelines) orquestan actividades con flujo de control (dependencias, bucles, bifurcaciones, desencadenadores) y parametrización para su reutilización. Los flujos de datos de mapeo (Mapping Data Flows) proporcionan transformaciones sin código basadas en Spark a escala, con manejo de la deriva del esquema (schema drift) y controles de particionamiento; se utilizan cuando las transformaciones son complejas pero se desea un cómputo gestionado. Los servicios vinculados (linked services) definen los metadatos de conexión y las credenciales para orígenes, receptores y cómputo; los conjuntos de datos y los orígenes/receptores de flujos de datos hacen referencia a estos, permitiendo la reutilización segura y el RBAC.
Event Hubs se integra con la analítica a través de Capture en el almacenamiento persistente, y luego Azure Synapse o Databricks pueden procesar archivos Avro en microlotes. El registro de esquemas (Schema Registry) simplifica la deserialización y la evolución en los trabajos de streaming al centralizar los contratos, evitando el tipado implícito y frágil entre productores y consumidores.
Fiabilidad y Patrones Orientados a Eventos
El diseño para la fiabilidad comienza con un manejo explícito de fallos. Service Bus proporciona colas de mensajes fallidos (DLQ) por cada entidad; los consumidores deben monitorear y clasificar estas DLQ, con la opción de reenviarlas automáticamente a colas de análisis. Utilice la detección de duplicados y controladores idempotentes para evitar el doble procesamiento. Aproveche las transacciones para confirmar atómicamente las recepciones y enviar mensajes de la bandeja de salida (outbox), y use sesiones para el procesamiento ordenado por entidad de negocio mientras se escala entre sesiones. La política de reintentos de Event Grid utiliza un retroceso exponencial (exponential backoff) con límites configurables; configure el almacenamiento de mensajes fallidos en Storage para la auditabilidad y construya herramientas de reproducción (replay). Event Hubs garantiza una entrega de al menos una vez; el checkpointing a través de los SDK (o los desencadenadores de Azure Functions) asegura el seguimiento del progreso por partición/grupo de consumidores. Storage Queues dependen de los tiempos de espera de visibilidad y de los patrones de mensajes dudosos (poison message) que usted implementa explícitamente.
La arquitectura orientada a eventos utiliza típicamente coreografía u orquestación. La coreografía distribuye la coordinación entre servicios que reaccionan a eventos de sus pares. Es débilmente acoplada, escalable y resiliente a fallos parciales, pero puede volverse difícil de visualizar y gobernar, y las compensaciones están dispersas. La orquestación centraliza el control del flujo en un orquestador como Azure Durable Functions, Logic Apps o un motor de flujo de trabajo, mejorando la observabilidad, la lógica de tiempos de espera/compensación y los pasos con intervención humana, a costa de un acoplamiento más fuerte con el orquestador. El patrón saga implementa transacciones de larga duración y múltiples pasos con acciones de compensación en lugar de confirmaciones en dos fases. En la coreografía, cada servicio escucha eventos de dominio y emite compensaciones según sea necesario; en la orquestación, el orquestador invoca actividades y desencadena compensaciones en caso de fallo o tiempo de espera. En Azure, implemente sagas usando Durable Functions (orquestación con estado, reintentos, tiempos de espera, patrones de compensación) con Service Bus para una entrega fiable de comandos, o con Logic Apps Standard para flujos de trabajo empresariales robustos y conectores integrados.
Escenario de Problema Práctico
Contoso Retail moderniza su procesamiento de pedidos a través de un ERP on-premise, un sitio de comercio electrónico, aplicaciones móviles y análisis downstream. La solución debe soportar notificaciones a socios, análisis de telemetría en tiempo real, acceso seguro on-premise y notificaciones push a móviles, con un orden estricto y compensaciones para pagos e inventario.
- Ingesta y flujo de trabajo de comandos
- Use temas de Azure Service Bus para los comandos de pedido. Las suscripciones segmentan el procesamiento (Pagos, Inventario, Envíos). Habilite sesiones de mensajes con clave
OrderIdpara garantizar el procesamiento FIFO por pedido y concurrencia única. Justificación: Service Bus proporciona las sesiones, transacciones y colas de mensajes fallidos necesarias para flujos de trabajo de negocio ordenados y fiables.
- Orquestación y compensaciones
- Implemente una saga con Azure Durable Functions. Las actividades llaman a la pasarela de pago, reservan inventario y crean el envío; las compensaciones reembolsan o reabastecen en caso de fallo. Use desencadenadores y salidas de Service Bus dentro de ámbitos transaccionales para completar atómicamente los mensajes entrantes y publicar los siguientes. Justificación: La orquestación centralizada simplifica los tiempos de espera, reintentos y compensaciones, preservando al mismo tiempo la fiabilidad del bróker.
- Notificaciones orientadas a eventos
- Publique eventos de dominio (OrderPlaced, OrderShipped) en temas personalizados de Azure Event Grid. Los socios y las aplicaciones internas se suscriben con filtros por prefijo de asunto. Configure el almacenamiento de mensajes fallidos en una cuenta de Storage y una política de reintentos con un número limitado de intentos. Justificación: Event Grid ofrece notificaciones push de baja latencia con filtrado de grano fino y auditoría de mensajes fallidos para una amplia distribución (fan-out).
- Streaming de telemetría y analíticas
- Envíe telemetría de clickstream y de la aplicación a Azure Event Hubs con 8 particiones usando la sesión del usuario como clave. Habilite Capture a Data Lake Storage cada 5 minutos o 100 MB. Registre esquemas Avro en Schema Registry y fuerce la compatibilidad de esquemas. Justificación: Event Hubs escala la ingesta independientemente de los consumidores; Capture desacopla las analíticas; Schema Registry mantiene la disciplina de los contratos.
- Integración de datos
- Use Azure Data Factory con un Self-hosted Integration Runtime on-premise para extraer datos del ERP de forma segura, y un Azure IR para depositar los datos curados en Synapse. Construya canalizaciones (pipelines) y flujos de datos de mapeo (mapping data flows) para el procesamiento de SCD y el enriquecimiento con los archivos de Event Hubs Capture. Justificación: ADF orquesta el movimiento y las transformaciones de datos híbridos con cómputo gestionado y conexiones gobernadas a través de servicios vinculados (linked services).
- APIs y gobernanza de socios
- Exponga todos los puntos de conexión de cara a los socios con Azure API Management. Exponga APIs para el estado del pedido y el registro de webhooks. Aplique políticas:
validate-jwtpara los tokens emitidos por los socios,rate-limit-by-keypara límites de velocidad más estrictos por socio,rewrite/set-backend-servicepara enrutar a Logic Apps existentes sin cambios de código. Publique un producto para socios que requiera suscripciones y claves; incorpórelos a través del portal para desarrolladores. Justificación: APIM impone la seguridad, el control de peticiones (throttling) y proporciona una incorporación de autoservicio sin tocar la lógica del backend.
- Automatización de flujos de trabajo y conectores
- Use Azure Logic Apps Standard para la automatización de back-office (p. ej., enviar correos electrónicos, actualizar Dynamics) con conectores integrados e integración con VNET. Justificación: El rendimiento de inquilino único, la conectividad privada y los conectores de nivel empresarial simplifican la integración con aplicaciones SaaS y de línea de negocio.
- Conectividad híbrida
- Exponga servicios selectivos del ERP on-premise a través de Azure Relay WCF Relay para puntos de conexión WCF existentes y Hybrid Connections para aplicaciones ligeras HTTP/WebSocket, evitando cambios en el firewall de entrada. Justificación: Relay proporciona conectividad segura, iniciada desde el exterior, sin la complejidad de una VPN.
- Notificaciones push a móviles
- Envíe actualizaciones de envío a través de Azure Notification Hubs usando etiquetas (tags) para la segmentación por dispositivo/usuario y plantillas para la localización. Configure las credenciales de token de APNs y las claves de FCM. Justificación: Notification Hubs abstrae las diferencias de los PNS (Platform Notification Service) y escala la entrega de notificaciones push.
Este diseño asigna cada requisito a servicios creados para un propósito específico: Service Bus para comandos fiables, Durable Functions para sagas orquestadas, Event Grid para notificaciones push, Event Hubs + Capture + Schema Registry para analíticas de streaming, ADF para ETL/ELT híbrido, APIM para la gobernanza, Logic Apps para la automatización empresarial, Relay para el acceso on-premise y Notification Hubs para la interacción con móviles.
← Arquitectura de Seguridad y Zero Trust · Todos los dominios · Monitoreo →
Practica estas preguntas → · Práctica cronometrada en ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Aprueba tu examen →