Streaming de datos de IoT instantáneo con AKS

IoT
Kubernetes Service

Idea de solución

Si le gustaría que expandamos 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íquese a través de los Comentarios de GitHub.

Esta solución muestra cómo ingerir y analizar grandes volúmenes de datos de IoT, y cómo generar recomendaciones y conclusiones en tiempo real.

Posibles casos de uso

Esta solución utiliza la siguiente funcionalidad:

  • Ingesta de datos en tiempo real y canalización de procesamiento con capacidad de detección y notificación en cuestión de segundos.
  • Una puerta de enlace de API segura que se conecta a servicios back-end que se ejecutan en cualquier lugar.
  • Aprovisionamiento elástico de la capacidad de proceso sin necesidad de administrar la infraestructura.

Architecture

Architecture Diagram

Descargue un archivo SVG del diagrama.

Flujo de datos

Los datos fluyen por la solución de la siguiente manera:

  1. Los datos de sensores se generan y 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. El servicio de ingesta almacena los datos en una instancia de Azure Cosmos DB.
  4. El 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 pueden analizar los macrodatos para usarlos en modelos de Machine Learning mediante Splunk.
  6. Los datos se procesan mediante el servicio de procesamiento, que almacena los resultados en Azure Database for PostgreSQL y almacena en caché los datos en una instancia de Azure Cache for Redis.
  7. Para ver los resultados, se usa una aplicación web que se ejecuta en Azure App Service.

Componentes

En este escenario de ejemplo se usan varios componentes de Azure:

  • Azure Pipelines: automatice la compilación e inserción de imágenes en el registro de contenedor y la implementación de contenedores en Kubernetes.
  • Azure API Management: exponga datos y servicios de forma selectiva al mundo exterior y administre las llamadas de API entrantes.
  • Azure Container Registry: compile, almacene, proteja, examine, replique y administre imágenes de contenedor y artefactos.
  • Azure Kubernetes Service: la instancia totalmente administrada de Azure Kubernetes Service (AKS) facilita la implementación y la administración de las aplicaciones contenedorizadas.
  • Azure Key Vault: proteja las claves criptográficas y otros secretos que usan los servicios y las aplicaciones en la nube.
  • Azure Cosmos DB: servicio de bases de datos totalmente administrado con distribución global llave en mano y replicación principal múltiple transparente.
  • Azure HDInsights: servicio rentable de nivel empresarial para el análisis de código abierto.
  • Azure Web Apps: compile y hospede aplicaciones web, back-ends móviles y API de RESTful sin necesidad de administrar la infraestructura.
  • Azure Database for PostgreSQL es un servicio de base de datos relacional totalmente administrado basado en el motor de base de datos de código abierto de PostgreSQL.
  • Azure Databricks: plataforma de análisis basada en Apache Spark optimizada para la plataforma de servicios en la nube de Microsoft Azure.
  • Azure Cache for Redis: almacenamiento de datos en memoria totalmente administrado y compatible con código abierto para impulsar aplicaciones rápidas y escalables.

Pasos siguientes