Arquitectura
IronFlock es un sistema distribuido con dos capas: dispositivos edge autónomos que ejecutan aplicaciones en el punto de operación, y servicios centrales que proporcionan almacenamiento de datos a nivel de flota, dashboards, IA y coordinación. Un broker de mensajes en tiempo real conecta todo.
No es una plataforma puramente edge ni puramente cloud. Es ambas cosas — y la arquitectura está diseñada para que cada capa haga lo que mejor sabe hacer.
Cómo encaja el sistema
┌─────────────────────────────────────────────────────────┐ ┌──────────┐
│ Servicios Centrales │ │Dispositivo│
│ │ │ Virtual │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │┌────────┐│
│ │ FleetDB │ │ Backend │ │ IA │ │ Web │ │ ││ Custom ││
│ │ Cluster │ │ Service │ │ Service │ │ UI │ │ ││ Service││
│ │(Timescale│ │ │ │ │ │ │ │ │└────────┘│
│ │ DB) │ │ │ │ │ │ │ │ │ Agent │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └───┬────┘ │ └────┬─────┘
│ │ │ │ │ │ │
│ └─────────────┴──────┬──────┴────────────┘ │ │
│ │ │ │
│ ┌───────┴───────┐ │ │
│ │ WAMP Message ├────────────────────────────┘
│ │ Broker │ │
│ └───────┬───────┘ │
│ │ │
└────────────────────────────┼────────────────────────────┘
│
┌──────────────┼─────────────┐
│ │ │
┌───────┴──┐ ┌───────┴──┐ ┌──────┴───┐
│ Edge │ │ Edge │ │ Edge │
│ Device 1 │ │ Device 2 │ │ Device 3 │
│┌────────┐│ │┌────────┐│ │┌────────┐│
││ Apps ││ ││ Apps ││ ││ Apps ││
││(Docker)││ ││(Docker)││ ││(Docker)││
│└────────┘│ │└────────┘│ │└────────┘│
│ Agent │ │ Agent │ │ Agent │
└──────────┘ └──────────┘ └──────────┘Las tres capas
1. Dispositivos Edge — Ejecutores autónomos de aplicaciones
Los dispositivos edge son los nodos de ejecución principales en IronFlock. Cada dispositivo ejecuta un agente ligero y una o más aplicaciones containerizadas (Docker). Los dispositivos son autónomos: continúan operando incluso cuando están desconectados de los servicios centrales, y se reconectan automáticamente cuando se restablece la red.
Los dispositivos edge pueden ser cualquier hardware compatible con Linux — Raspberry Pi, PCs industriales, NVIDIA Jetson, gateways x86 o placas ARM personalizadas.
Qué se ejecuta en los dispositivos edge:
- El agente IronFlock — gestiona el ciclo de vida del dispositivo, maneja actualizaciones OTA, ejecuta contenedores y mantiene la conexión con el broker de mensajes
- Sus aplicaciones — desplegadas como contenedores Docker en cualquier lenguaje de programación. Estas apps recopilan datos de PLCs y sensores, ejecutan lógica de control, sirven HMIs locales, ejecutan modelos de IA, o hacen cualquier otra cosa que una aplicación Linux pueda hacer
Los dispositivos edge inician todas las conexiones de forma saliente por defecto — no es necesario abrir puertos de entrada. Sin embargo, los puertos del dispositivo pueden abrirse selectivamente cuando sea necesario, por ejemplo para exponer un HMI local o un endpoint API. Consulte Dispositivos Edge y Agente para más detalles.
2. Servicios Centrales — Datos, UI e Inteligencia a nivel de flota
La capa central proporciona capacidades que requieren una vista de toda la flota o infraestructura persistente. Cada servicio central es escalable de forma independiente — los servicios pueden escalarse horizontalmente para manejar flotas crecientes sin afectarse mutuamente:
- FleetDB — Un clúster de bases de datos PostgreSQL/TimescaleDB que almacena todos los datos de telemetría recopilados de los dispositivos. Cada proyecto obtiene su propia instancia de base de datos aislada con tablas y credenciales dedicadas. La arquitectura del clúster permite el escalado horizontal entre proyectos. FleetDB maneja almacenamiento de series temporales, agregaciones programadas y sirve como backend de datos para dashboards y consultas de IA.
- Servicio Backend — Gestiona dispositivos, proyectos, apps, cuentas de usuario, releases y todas las operaciones a nivel de flota. Expone la API web y maneja la capa de lógica de negocio. Escala horizontalmente para manejar la carga API creciente y registros de dispositivos.
- Servicio FleetDB — Procesa flujos de datos entrantes de dispositivos, maneja transformaciones de datos, sirve datos de dashboard en tiempo real al frontend y gestiona la evaluación de alarmas. Escala de forma independiente para adaptarse al volumen de ingestión de datos.
- Servicio de IA — Orquesta conversaciones con agentes de IA, añadiendo y eliminando agentes especializados dinámicamente según evoluciona la conversación. Dirige consultas en lenguaje natural, invoca funciones del lado del dispositivo a través del broker de mensajes y genera gráficos y análisis en tiempo real. Escala para soportar conversaciones de IA concurrentes entre proyectos.
- Web UI — El panel de control basado en navegador donde los operadores gestionan su flota, visualizan dashboards, configuran alarmas, desarrollan apps e interactúan con el asistente de IA.
- Container Registry — Almacena imágenes Docker para todas las apps, permitiendo el despliegue OTA a cualquier dispositivo de la flota. Escala almacenamiento y rendimiento de forma independiente a medida que crece su catálogo de apps.
Los servicios centrales pueden ejecutarse en la nube IronFlock (gestionada por IronFlock) o en su propia infraestructura para despliegues on-premises. Consulte Servicios Centrales para más detalles.
3. Dispositivos Virtuales — Nodos de cómputo centrales personalizados
Además de los dispositivos edge físicos, IronFlock le permite aprovisionar dispositivos virtuales — nodos de cómputo alojados en la nube que se unen a su proyecto junto con su flota física. Un dispositivo virtual ejecuta el mismo agente IronFlock que un dispositivo físico, participa en el mismo enrutamiento de mensajes y puede ejecutar cualquier aplicación containerizada.
Usos comunes de dispositivos virtuales:
- Ejecutar servicios centrales de flota como Grafana, Node-RED, Netdata o Jupyter que necesitan una perspectiva de toda la flota
- Alojar pipelines de procesamiento de datos que agregan datos de múltiples dispositivos físicos
- Ejecutar servicios de inferencia de IA que son demasiado intensivos computacionalmente para hardware edge
- Actuar como puentes de protocolo conectando sistemas externos (SAP, ERP, APIs cloud) a su proyecto IronFlock
Los dispositivos virtuales no son una función separada — son participantes completos en su proyecto. Aparecen en la lista de dispositivos, reciben actualizaciones OTA y sus apps se comunican con las apps de dispositivos edge a través del mismo broker de mensajes.
Consulte Dispositivos Virtuales para más detalles.
El broker de mensajes — El pegamento
Todos los componentes en IronFlock se comunican a través de un broker de mensajes WAMP (Web Application Messaging Protocol) central. El broker proporciona:
- Mensajería pub/sub en tiempo real — Los dispositivos publican telemetría, los dashboards se suscriben a datos en vivo, las apps se comunican bidireccionalmente
- RPC (Llamadas a Procedimiento Remoto) — El servicio de IA llama funciones del lado del dispositivo, el backend activa operaciones de contenedores en dispositivos, los operadores envían comandos
- Aislamiento de proyectos — Cada combinación proyecto-app obtiene su propio reino de mensajería criptográficamente aislado. Los dispositivos en un proyecto no pueden ver mensajes de otro
- Autenticación — Toda conexión al broker requiere credenciales válidas
El broker de mensajes es lo que hace de IronFlock un sistema distribuido en lugar de una colección de partes desconectadas. Un agente de IA ejecutándose en la nube central puede invocar una función en un dispositivo físico en una planta de fábrica — y obtener el resultado en tiempo real — porque ambos están conectados al mismo broker.
Consulte Broker de Mensajes (WAMP) para más detalles.
Escalabilidad y actualizaciones sin tiempo de inactividad
Cada componente de la arquitectura de IronFlock está diseñado para la escalabilidad horizontal. El backend, FleetDB, el servicio de IA, el broker de mensajes y el registro de contenedores pueden escalarse de forma independiente para manejar flotas crecientes, volúmenes de datos cada vez mayores y más usuarios concurrentes — sin afectar a otras partes del sistema.
Todos los componentes del sistema ahora soportan actualizaciones con casi cero tiempo de inactividad — pueden actualizarse a nuevas versiones prácticamente sin interrumpir las conexiones activas ni los flujos de datos. El broker de mensajes en clúster fue el último componente en dar el paso, por lo que toda la plataforma ahora se puede actualizar con casi ninguna interrupción del servicio.
Arquitectura vs. SCADA Tradicional
Las plataformas SCADA tradicionales (Ignition, WinCC, Wonderware) siguen un modelo centrado en gateway: un servidor central hace todo — recopilación de tags, almacenamiento de históricos, visualización de pantallas, procesamiento de alarmas y scripting. El “edge” son solo PLCs alimentando datos a ese servidor central.
IronFlock lo invierte. Los dispositivos edge son ejecutores autónomos de aplicaciones con capacidad de cómputo completa. Los servicios centrales manejan lo que necesita una vista de toda la flota: almacenamiento persistente de datos, dashboards, orquestación de IA y gestión de flota. Ninguna capa está subordinada a la otra — son complementarias.
| Aspecto | SCADA Tradicional | IronFlock |
|---|---|---|
| Rol edge | Fuente de datos simple (PLC → gateway) | Nodo de cómputo autónomo ejecutando aplicaciones completas |
| Rol central | Hace todo (servidor gateway) | Datos, UI, IA y coordinación a nivel de flota |
| Despliegue de apps | Módulos en gateway central | Contenedores Docker en dispositivos edge |
| Comportamiento offline | Edge deja de funcionar sin gateway | Dispositivos edge continúan operando autónomamente |
| Escalado | Añadir más servidores gateway | Añadir más dispositivos edge |
| Comunicación | Polling/OPC del gateway al PLC | Mensajería bidireccional en tiempo real (WAMP) |
Opciones de despliegue
Los servicios centrales de IronFlock pueden ejecutarse en tres configuraciones:
| Modo | Servicios Centrales | Dispositivos Edge | Caso de uso |
|---|---|---|---|
| Cloud (por defecto) | Nube gestionada IronFlock | Conexión por internet | La mayoría de despliegues |
| Appliance | Caja preconfigurada en las instalaciones — también actúa como dispositivo de borde | Conexión por red local | Fabricantes de máquinas / OEMs |
| Nube privada | Su DMZ / VPC / datacenter | Conexión por red local | Air-gap, regulado |
Consulte Opciones de despliegue para una comparación completa de los tres modelos.