Streaming de datos con AKS

Azure App Service
Azure API Management
Azure Container Registry
Azure Cache for Redis
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 presenta una solución para usar Azure Kubernetes Service (AKS) para procesar y analizar rápidamente un gran volumen de datos de streaming de dispositivos.

Apache®, Apache Kafka y Apache Spark son marcas registradas o marcas comerciales de Apache Software Foundation en los Estados Unidos u otros países. El uso de estas marcas no implica la aprobación de Apache Software Foundation.

Architecture

Diagrama de arquitectura en el que se muestra cómo se ingieren, procesan y analizan los datos de streaming de los dispositivos.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Los sensores generan datos y los transmiten a Azure API Management.
  2. El clúster de AKS ejecuta microservicios que se implementan como contenedores detrás de una malla de servicio. Los contenedores se crean mediante un proceso de DevOps y se almacenan en Azure Container Registry.
  3. Un servicio de ingesta almacena los datos en Azure Cosmos DB.
  4. Un servicio de análisis recibe de forma asincrónica los datos y los transmite a Apache Kafka y a Azure HDInsight.
  5. Los científicos de datos usan modelos de Machine Learning y la plataforma Splunk para analizar los datos.
  6. Un servicio de procesamiento procesa los datos y almacena el resultado en Azure Database for PostgreSQL. El servicio también copia en caché los datos en Azure Cache for Redis.
  7. Una aplicación web que se ejecuta en Azure App Service crea visualizaciones de los resultados.

Componentes

La solución usa las siguientes tecnologías claves:

Detalles del escenario

Esta solución es una buena opción para un escenario que implica millones de puntos de datos, donde los orígenes de los datos incluyen dispositivos de Internet de las cosas (IoT), sensores y vehículos. En esta situación, el procesamiento del gran volumen de datos es un desafío. El análisis rápido de los datos es otra tarea exigente porque las organizaciones buscan obtener información sobre escenarios complejos.

Los microservicios en contenedores de AKS son una parte clave de la solución. Estos servicios independientes ingieren y procesan el flujo de datos en tiempo real. También se escalan según sea necesario. La portabilidad de los contenedores permite que los servicios se ejecuten en diferentes entornos y procesen datos de varios orígenes. Para desarrollar e implementar los microservicios, se usan DevOps y la integración continua/entrega continua (CI/CD). Estos enfoques acortan el ciclo de desarrollo.

Para almacenar los datos ingeridos, la solución usa Azure Cosmos DB. Esta base de datos escala elásticamente el rendimiento y el almacenamiento, lo que la convierte en una buena opción para grandes volúmenes de datos.

La solución también usa Kafka. Esta plataforma de streaming de baja latencia controla las fuentes de distribución de datos en tiempo real a velocidades extremadamente altas.

Otro componente clave de la solución es HDInsight, que es un servicio de análisis en la nube administrado de código abierto. HDInsight simplifica la ejecución de marcos de macrodatos a gran escala y velocidad al usar Apache Spark en Azure. Splunk ayuda en el proceso de análisis de datos. Esta plataforma crea visualizaciones a partir de datos en tiempo real y facilita inteligencia empresarial.

Posibles casos de uso

Esta solución beneficia a las siguientes áreas:

  • Seguridad del vehículo, especialmente en la industria automotriz
  • Servicio al cliente en el comercio minorista y otros sectores
  • Soluciones en la nube para atención sanitaria
  • Soluciones tecnológicas financieras en el sector financiero

Pasos siguientes

Documentación del producto:

Módulos de formación de Microsoft: