Análisis en tiempo real de datos con Azure Service Bus y Azure Data Explorer

Azure Service Bus
Explorador de datos de Azure
Azure App Service
Azure SQL Database
Azure Cosmos DB

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

En este artículo se describe cómo usar Azure Data Explorer y Azure Service Bus para mejorar una arquitectura de agente de mensaje existente con análisis casi en tiempo real. Está pensado para administradores de TI, arquitectos de la nube y equipos de supervisión y operaciones.

Architecture

Diagram that shows an architecture for implementing near real-time analytics.

Descargue un archivo Visio de esta arquitectura.

El logotipo de Grafana es una marca comercial de Raintank, Inc., dba Grafana Labs. El uso de esta marca no implica ninguna aprobación.

En el diagrama se muestran dos rutas de acceso de datos. La ruta de acceso principal, representada por líneas continuas y cuadros del 1 al 5, es la ingestión de datos procedentes de diferentes orígenes en un service bus, donde los procesa un trabajo de análisis de flujos y los almacena en una base de datos SQL. La segunda ruta de acceso, representada por líneas de puntos y cuadros, muestra los datos que fluyen desde el service bus a un clúster de Azure Data Explorer, donde se pueden consultar y analizar a través del Lenguaje de consulta Kusto (KQL).

Service Bus se usa para implementar un patrón de equilibrio de carga basado en cola para una aplicación transaccional.

Azure Data Explorer se usa para ejecutar análisis casi en tiempo real y exponer datos a través de API o consultas directas a, por ejemplo, Power BI, Azure Managed Grafana o paneles de Azure Data Explorer.

Flujo de datos

El origen de datos de la arquitectura es una aplicación OLTL (procesamiento de transacciones en línea) existente. Service Bus se usa para escalar horizontalmente de forma asincrónica la aplicación.

  1. La aplicación OLTP (el origen de datos), hospedada en Azure App Service, envía datos a Service Bus.

  2. Los datos fluyen desde Service Bus en dos direcciones:

    1. En el flujo de la aplicación OLTP existente, desencadena una aplicación de funciones para almacenar datos en Azure SQL Database, Azure Cosmos DB o una base de datos operativa similar.

    2. En el flujo de análisis casi en tiempo real, desencadena un flujo de orquestación.

  3. El flujo de orquestación envía datos a Azure Data Explorer para realizar análisis casi en tiempo real. El flujo puede usar:

    • Una aplicación de funciones que usa SDK para enviar datos en microlotes o que usa la compatibilidad de la ingesta de streaming administrada que proporciona Azure Data Explorer cuando está configurada para la ingesta de streaming.
    • Un servicio de sondeo, como una aplicación hospedada en Azure Kubernetes Service (AKS) o una máquina virtual de Azure, que envía datos a Azure Data Explorer en microlotes. Esta opción no requiere configurar la ingesta de streaming de Azure Data Explorer.
  4. Azure Data Explorer procesa los datos, mediante la asignación de esquemas y directivas de actualización, y hace que esté disponible a través de una API, un SDK o un conector para la creación de informes o análisis interactivos. Opcionalmente, Azure Data Explorer también puede ingerir o hacer referencia a datos de otros orígenes de datos, como SQL Database o Azure Data Lake Storage.

  5. Las aplicaciones, los servicios personalizados o los servicios de informes como los paneles de Azure Data Explorer, Power BI y Azure Managed Grafana pueden consultar los datos en Azure Data Explorer casi en tiempo real.

Componentes

  • App Service le permite crear y hospedar aplicaciones web, back-ends móviles y API RESTful en el lenguaje de programación que prefiera sin tener que administrar la infraestructura.
  • Service Bus proporciona mensajería en la nube confiable como servicio.
  • SQL Database es una base de datos SQL totalmente administrada creada para la nube. Proporciona actualizaciones automáticas, aprovisionamiento, escalado y copias de seguridad.
  • Azure Cosmos DB es una base de datos multimodelo distribuida globalmente para aplicaciones de cualquier escala.
  • Azure Functions es una plataforma de proceso sin servidor, controlada por eventos. Con Functions, puede implementar y operar a escala en la nube y usar desencadenadores y enlaces para integrar los servicios.
  • AKS es un servicio Kubernetes de alta disponibilidad, muy seguro y totalmente administrado para cargas de trabajo de aplicaciones y microservicios.
  • Azure Data Explorer es un servicio de análisis de datos rápido, totalmente administrado y altamente escalable para analizar en tiempo real grandes volúmenes de datos que se transmiten desde aplicaciones, sitios web, dispositivos IoT, etc.
  • Data Lake Storage, basado en Azure Blob Storage, proporciona funcionalidad de lago de datos escalable de forma masiva.
  • Power BI puede ayudarle a convertir los datos en información coherente, visualmente envolvente e interactiva.
  • Azure Managed Grafana es un servicio totalmente administrado que permite implementar Grafana sin dedicar tiempo a la configuración.

Detalles del escenario

El análisis en tiempo real es el proceso de analizar los datos en cuanto se generan para obtener información sobre el estado actual del sistema. Las organizaciones adoptan cada vez más el análisis en tiempo real para obtener una ventaja competitiva. El análisis casi en tiempo real es una variante del análisis en tiempo real que proporciona información en cuestión de segundos o minutos tras la generación de datos.

Estos procesos permiten a las organizaciones obtener información más rápidamente, tomar mejores decisiones y responder a las condiciones cambiantes con mayor eficacia. El análisis en tiempo casi real puede aplicarse a diversos ámbitos, como el comercio electrónico, la sanidad, la fabricación y las finanzas. Por ejemplo, una empresa de comercio electrónico puede utilizar el análisis casi en tiempo real para controlar el comportamiento de los clientes, optimizar los precios y personalizar las recomendaciones.

Muchas organizaciones implementan análisis casi en tiempo real en las soluciones existentes. Esta idea de solución muestra cómo agregar análisis casi en tiempo real a una arquitectura existente basada en un agente de mensajes y que forma parte de una aplicación OLTP operativa.

OLTP significa procesamiento de transacciones en línea. Es un tipo de procesamiento de datos que administra aplicaciones orientadas a transacciones, normalmente para transacciones de entrada y recuperación de datos en un entorno en tiempo real. Los sistemas OLTP están diseñados para procesar transacciones pequeñas y rápidas que suelen ser de naturaleza financiera, como transacciones bancarias o compras con tarjetas de crédito.

Posibles casos de uso

Estos son algunos casos de uso que ilustran las ventajas del análisis casi en tiempo real:

  • Los profesionales sanitarios pueden hacer un seguimiento de los resultados de los pacientes, detectar anomalías y mejorar la calidad de la atención.
  • Las empresas manufactureras pueden optimizar la producción, reducir los residuos y evitar los tiempos de inactividad.
  • Las entidades financieras pueden controlar las transacciones, detectar el fraude, administrar el riesgo y garantizar el cumplimiento de la normativa.
  • Las empresas comerciales pueden supervisar las campañas y obtener información para apoyar la promoción.
  • Las empresas pueden supervisar, optimizar, analizar y prever cadenas de suministro.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Otro colaborador:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes