Proyectos
Ingeniería de datos · AWS2025·Dificultad

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.

HE
Harold Eustaquio
AI & Data Engineer
Código fuente
Stack
AWS LambdaAWS EventBridgeAWS RDSAWS EC2AWS CloudWatchPythonPower BI
Arquitectura
Mini Map
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.
  1. EventBridge — Programador que dispara la función Lambda cada 3 minutos.
  2. WAQI API — World Air Quality Index: mediciones de PM2.5, PM10, O₃, NO₂, SO₂ y CO desde 10 estaciones.
  3. AWS Lambda — Extrae y formatea los datos con un módulo de funciones y una capa (layer) con las librerías; sin servidores siempre encendidos.
  4. CloudWatch — Supervisa logs, métricas y errores de la ingesta.
  5. EC2 — Instancia puente que habilita las conexiones TCP/IP desde Lambda y la máquina local hacia RDS.
  6. RDS (MySQL) — Tablas de ubicaciones de sensores, mediciones registradas y descripción de métricas.
  7. Power BI — Dashboard con lectura en tiempo real, tendencias históricas y patrones geográficos.
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 arquitectura serverless simple resuelve mucho en ingesta. El siguiente paso natural es llevarlo a streaming y añadir forecasting de PM2.5.

Dashboard