Proyectos
Ingeniería de datos · AWS2025·Complejidad

Análisis de calidad del aire en Lima

Sistema de monitoreo de calidad del aire en tiempo real para Lima: un pipeline serverless en AWS que recopila, valida y visualiza datos ambientales para la toma de decisiones de salud pública.

HEHarold Eustaquio
Harold Eustaquio
AI & Data Engineer
Código fuente
Stack
AWS LambdaAWS EventBridgeAWS RDSAWS EC2AWS CloudWatchPythonPower BI
Arquitectura
EventBridge dispara una Lambda cada 3 min que extrae de la API WAQI; vía EC2 se insertan en RDS (MySQL) y se monitorea con CloudWatch, hasta el dashboard de Power BI.
Contexto

La información de calidad del aire en Lima está dispersa y es poco consultable, pese a ser clave para decisiones de salud pública. Quería una capa de datos gobernada, en tiempo real, que cubriera las estaciones de monitoreo de la ciudad sin abrir múltiples fuentes.

Problema

Recolectar de forma continua y confiable las mediciones de 10 estaciones de monitoreo, y dejarlas validadas, consultables y visualizables con contexto geográfico.

Solución

Pipeline serverless en AWS: EventBridge dispara una Lambda cada 3 minutos que extrae mediciones (PM2.5, PM10, O₃, NO₂, SO₂, CO) desde la API WAQI. Los datos se validan y transforman, y se insertan en RDS (MySQL) a través de una instancia EC2. Un dashboard en Power BI ofrece lectura en tiempo real, tendencias históricas y patrones geográficos.

Decisiones de diseño
  • Disparar la ingesta con EventBridge cada 3 minutos para una recolección casi en tiempo real sin servidores siempre encendidos.
  • Aislar las dependencias de la Lambda en una capa (layer) y separar la lógica en un módulo de funciones reutilizable.
  • Insertar en RDS a través de una instancia EC2 que habilita las conexiones TCP/IP desde Lambda y desde la máquina local.
  • Modelar el esquema en tres tablas (ubicaciones de sensores, mediciones registradas y descripción de métricas) para consultas analíticas claras.
  • Supervisar logs, métricas y errores con CloudWatch para detectar fallos de ingesta a tiempo.
Resultados
  • Recolección automatizada y casi en tiempo real de 6 contaminantes desde 10 estaciones de monitoreo.
  • Capa de datos gobernada y consultable en RDS, con contexto geográfico por estación.
  • Dashboard público en Power BI con lectura actual, tendencias históricas y patrones geográficos.
Lecciones aprendidas
  • Una cadencia de 3 minutos ya es casi tiempo real para datos ambientales: sobre-ingestar solo suma costo, no señal.
  • La instancia EC2 puente hacia RDS es el punto frágil (siempre encendida); un VPC endpoint o RDS Proxy lo resolvería.
  • Validar y modelar el esquema en la ingesta vuelve trivial el dashboard: la calidad del dato se define en el origen, no en el reporte.
Dashboard