Docker e Itsaslab: Contenerización en entornos hostiles


En el ecosistema de Itsaslab, la fiabilidad no es una opción, es un requisito biológico dictado por el Cantábrico. Gestionar una infraestructura que combina el procesamiento pesado en Debian 13 con la captura de datos en el edge presenta desafíos logísticos que solo la contenerización ha podido resolver.

El Problema: El “Infierno de las Dependencias”

Antes de implementar Docker, la actualización de un modelo de IA para detección de microplásticos en el servidor central podía comprometer la base de datos de telemetría. Las librerías de Python necesarias para el procesado de señales a menudo colisionaban con las versiones estables de Debian.

Problemas resueltos en la gestión de Itsaslab:

  1. Aislamiento de Modelos de IA: Ejecutamos contenedores específicos para PyTorch y TensorFlow. Esto permite que el sistema operativo Debian 13 se mantenga “limpio” y ultra-estable, mientras los contenedores gestionan las complejas y volátiles dependencias de la IA.
  2. Paridad Entorno Desarrollo/Producción: El código que escribimos en la oficina es exactamente el mismo que corre en el servidor del puerto. Si el contenedor funciona en nuestra máquina de pruebas, funcionará bajo el oleaje.
  3. Despliegue de Microservicios: Itsaslab divide sus funciones en piezas independientes:
    • Servicio de Telemetría: Captura datos LoRa.
    • Servicio de Alertas: Procesa los veredictos (nuestro “Oso Analítico”).
    • Visualizador: Sirve la interfaz web mediante Astro.

[Image of Docker container architecture for microservices]

Docker y el ESP32: El Flujo CI/CD

Aunque el ESP32-S3 no corre Docker directamente, utilizamos contenedores para automatizar su compilación. Gracias a Docker, disponemos de una imagen con todo el ESP-IDF preconfigurado. Esto elimina el clásico “en mi ordenador compila” cuando varios ingenieros trabajan en el firmware de las boyas.

Conclusión

Docker no es solo una herramienta de IT en Itsaslab; es un sistema de compartimentos estancos, igual que en un barco. Si un servicio falla o se inunda de errores, el resto de la infraestructura se mantiene a flote.

“En el mar, la modularidad es supervivencia.” ʕ •ᴥ•ʔ