Compartir a través de


Streaming de datos con AKS

Azure App Service
Azure API Management
Azure Container Registry
Azure Managed Redis
Azure Cosmos DB

Ideas de solución

En este artículo se describe una idea de solución. El arquitecto de la nube puede usar esta guía para ayudar a visualizar los componentes principales de una implementación típica de esta arquitectura. Use este artículo como punto de partida para diseñar una solución bien diseñada que se adapte a los requisitos específicos de la carga de trabajo.

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 comerciales registradas o marcas comerciales de Apache Software Foundation en Los Estados Unidos o en otros países. El uso de estas marcas no implica la aprobación de Apache Software Foundation. Splunk es una marca registrada de Cisco.

Arquitectura

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 compilan mediante un proceso de DevOps. Las imágenes de contenedor se almacenan en Azure Container Registry.
  3. Un servicio de ingesta en AKS almacena datos en Azure Cosmos DB.
  4. De forma asincrónica, un servicio de análisis en AKS recibe los datos y los transmite a Apache Kafka en Azure HDInsight.
  5. Los científicos de datos usan modelos de aprendizaje automático en Azure HDInsights y la plataforma Splunk para analizar los datos.
  6. Un servicio de procesamiento en AKS procesa los datos y almacena los resultados 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

  • AKS es un servicio de orquestación de contenedores de Kubernetes administrado. En esta arquitectura, hospeda microservicios en contenedores que ingieren, procesan y enrutan datos de streaming de sensores a varias capas de almacenamiento y análisis.

  • Apache Kafka es una plataforma de streaming de eventos distribuido diseñada para fuentes de distribución de datos de baja latencia y alto rendimiento. En esta arquitectura, recibe datos en tiempo real de microservicios de AKS y los transmite a Azure HDInsight para el análisis a gran escala.

  • API Management es una puerta de enlace para publicar, proteger y analizar LAS API. En esta arquitectura, recibe datos entrantes de sensores y los enruta al clúster de AKS para su procesamiento.

  • App Service es una plataforma totalmente administrada para compilar y hospedar aplicaciones web. En esta arquitectura, ejecuta una aplicación web que visualiza los resultados procesados de la base de datos PostgreSQL.

  • Azure Cache for Redis es un almacén de datos en memoria que admite el acceso rápido a los datos. En esta arquitectura, almacena temporalmente los datos procesados de microservicios de AKS para acelerar el acceso y reducir la latencia.

  • Azure Cosmos DB es un servicio de base de datos NoSQL distribuido globalmente. En esta arquitectura, almacena datos ingeridos de microservicios de AKS.

  • Azure Database for PostgreSQL es un servicio de base de datos relacional administrado basado en PostgreSQL. En esta arquitectura, almacena los resultados procesados de los microservicios de AKS para la generación de informes y la visualización de bajada.

  • Azure HDInsight es un servicio basado en la nube para el análisis de macrodatos mediante marcos de código abierto. En esta arquitectura, ejecuta trabajos de Apache Spark para analizar datos transmitidos desde Kafka y admite cargas de trabajo de aprendizaje automático.

  • Azure Pipelines es un servicio de integración continua y entrega continua (CI/CD) dentro de Azure DevOps. En esta arquitectura, compila e implementa microservicios en contenedores en AKS para habilitar flujos de trabajo de entrega automatizados y repetibles.

  • Container Registry es un servicio de registro de contenedor de Docker administrado. En esta arquitectura, almacena imágenes de contenedor que contienen los microservicios.

  • Splunk es una plataforma de análisis y visualización de datos para los datos generados por la máquina. En esta arquitectura, analiza los datos en tiempo real de Azure HDInsight y crea paneles visuales para la inteligencia empresarial.

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 Apache 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 solución es Azure HDInsight, que es un servicio en la nube administrado que permite procesar de forma eficaz grandes cantidades de datos mediante los marcos de código abierto más populares. Azure HDInsight simplifica la ejecución de marcos de macrodatos en gran volumen y velocidad al usar Apache Spark en Azure. Splunk ayuda en el proceso de análisis de datos. Splunk crea visualizaciones a partir de datos en tiempo real y proporciona 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: