Streaming de datos con AKS
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
Descargue un archivo Visio de esta arquitectura.
Flujo de datos
- Los sensores generan datos y los transmiten a Azure API Management.
- 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.
- Un servicio de ingesta en AKS almacena datos en Azure Cosmos DB.
- De forma asincrónica, un servicio de análisis en AKS recibe los datos y los transmite a Apache Kafka en Azure HDInsight.
- Los científicos de datos usan modelos de aprendizaje automático en Azure HDInsights y la plataforma Splunk para analizar los datos.
- 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.
- 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:
- Acerca de Azure Cache for Redis
- ¿Qué es la Azure API Management?
- Información general de App Service
- Azure Kubernetes Service
- Introducción a Azure Container Registry
- Bienvenido a Azure Cosmos DB
- ¿Qué es Azure Database for PostgreSQL?
- ¿Qué es Azure HDInsight?
- ¿Qué es Azure Pipelines?
Módulos de formación de Microsoft:
- Creación y almacenamiento de imágenes de contenedor con Azure Container Registry
- Configuración de planes de Azure App Service
- Trabajo con Azure Cosmos DB
- Creación de una instancia de Azure Database for PostgreSQL y conexión a ella
- Desarrollo para Azure Cache for Redis
- Exploración de API Management
- Introducción a Azure HDInsight