Architettura
IronFlock è un sistema distribuito con due livelli: dispositivi edge autonomi che eseguono applicazioni nel punto di operazione e servizi centrali che forniscono storage dei dati a livello di flotta, dashboard, AI e coordinamento. Un message broker in tempo reale connette tutto.
Non è una piattaforma puramente edge né puramente cloud. È entrambe le cose — e l’architettura è progettata affinché ogni livello faccia ciò che sa fare meglio.
Come il Sistema si Integra
┌─────────────────────────────────────────────────────────┐ ┌──────────┐
│ Central Services │ │ Virtual │
│ │ │ Device │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │┌────────┐│
│ │ FleetDB │ │ Backend │ │ AI │ │ 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 │
└──────────┘ └──────────┘ └──────────┘I Tre Livelli
1. Dispositivi Edge — Nodi di Esecuzione Autonomi
I dispositivi edge sono i nodi di esecuzione principali in IronFlock. Ogni dispositivo esegue un agent leggero e una o più applicazioni containerizzate (Docker). I dispositivi sono autonomi: continuano a funzionare anche quando sono disconnessi dai servizi centrali e si riconnettono automaticamente quando la rete viene ripristinata.
I dispositivi edge possono essere qualsiasi hardware compatibile con Linux — Raspberry Pi, PC industriali, NVIDIA Jetson, gateway x86 o schede ARM personalizzate.
Cosa gira sui dispositivi edge:
- L’agent IronFlock — gestisce il ciclo di vita del dispositivo, gestisce gli aggiornamenti OTA, esegue i container e mantiene la connessione al message broker
- Le tue applicazioni — distribuite come container Docker in qualsiasi linguaggio di programmazione. Queste app raccolgono dati da PLC e sensori, eseguono logica di controllo, servono HMI locali, eseguono modelli AI o fanno qualsiasi altra cosa possa fare un’applicazione Linux I dispositivi edge avviano tutte le connessioni in uscita per impostazione predefinita — non è necessario aprire porte in entrata. Tuttavia, le porte del dispositivo possono essere aperte selettivamente quando necessario, ad esempio per esporre un HMI locale o un endpoint API. Consulta Dispositivi Edge & Agent per i dettagli.
2. Servizi Centrali — Dati, UI e Intelligenza a Livello di Flotta
Il livello centrale fornisce funzionalità che richiedono una visione a livello di flotta o un’infrastruttura persistente. Ogni servizio centrale è scalabile in modo indipendente — i servizi possono essere scalati orizzontalmente per gestire flotte in crescita senza influenzare gli altri:
- FleetDB — Un cluster di database PostgreSQL/TimescaleDB che memorizza tutti i dati di telemetria raccolti dai dispositivi. Ogni progetto ottiene la propria istanza di database isolata con tabelle e credenziali dedicate. L’architettura a cluster consente la scalabilità orizzontale tra i progetti. FleetDB gestisce lo storage di serie temporali, le aggregazioni pianificate e funge da backend dati per dashboard e query AI.
- Backend Service — Gestisce dispositivi, progetti, app, account utente, release e tutte le operazioni a livello di flotta. Espone l’API web e gestisce il livello di logica di business. Scala orizzontalmente per gestire il carico API crescente e le registrazioni dei dispositivi.
- FleetDB Service — Elabora i flussi di dati in entrata dai dispositivi, gestisce le trasformazioni dei dati, fornisce dati dashboard in tempo reale al frontend e gestisce la valutazione degli allarmi. Scala in modo indipendente per corrispondere al volume di ingestione dei dati.
- AI Service — Orchestra le conversazioni degli agenti AI, aggiungendo e rimuovendo dinamicamente agenti specializzati man mano che la conversazione evolve. Instrada le query in linguaggio naturale, invoca funzioni lato dispositivo tramite il message broker e genera grafici e analisi in tempo reale. Scala per supportare conversazioni AI concorrenti tra i progetti.
- Web UI — Il pannello di controllo basato su browser dove gli operatori gestiscono la loro flotta, visualizzano dashboard, configurano allarmi, sviluppano app e interagiscono con l’assistente AI.
- Container Registry — Memorizza le immagini Docker per tutte le app, consentendo la distribuzione OTA a qualsiasi dispositivo della flotta. Scala storage e throughput in modo indipendente man mano che il catalogo delle app cresce.
I servizi centrali possono essere eseguiti nel cloud IronFlock (gestito da IronFlock) o sulla propria infrastruttura per le distribuzioni on-premises. Consulta Servizi Centrali per i dettagli.
3. Dispositivi Virtuali — Nodi di Calcolo Centrali Personalizzati
Oltre ai dispositivi edge fisici, IronFlock consente di distribuire dispositivi virtuali — nodi di calcolo ospitati nel cloud che si uniscono al tuo progetto insieme alla tua flotta fisica. Un dispositivo virtuale esegue lo stesso agent IronFlock di un dispositivo fisico, partecipa allo stesso instradamento dei messaggi e può eseguire qualsiasi applicazione containerizzata.
Usi comuni per i dispositivi virtuali:
- Eseguire servizi di flotta centrali come Grafana, Node-RED, Netdata o Jupyter che necessitano di una prospettiva a livello di flotta
- Ospitare pipeline di elaborazione dati che aggregano dati da più dispositivi fisici
- Eseguire servizi di inferenza AI troppo intensivi in termini di calcolo per l’hardware edge
- Agire come bridge di protocollo che connettono sistemi esterni (SAP, ERP, API cloud) al tuo progetto IronFlock
I dispositivi virtuali non sono una funzionalità separata — sono partecipanti a pieno titolo nel tuo progetto. Appaiono nell’elenco dei dispositivi, ricevono aggiornamenti OTA e le loro app comunicano con le app dei dispositivi edge attraverso lo stesso message broker.
Consulta Dispositivi Virtuali per i dettagli.
Il Message Broker — Il Collante
Tutti i componenti di IronFlock comunicano attraverso un message broker WAMP (Web Application Messaging Protocol) centrale. Il broker fornisce:
- Messaggistica pub/sub in tempo reale — I dispositivi pubblicano la telemetria, i dashboard si abbonano ai dati live, le app comunicano in modo bidirezionale
- RPC (Remote Procedure Calls) — Il servizio AI chiama funzioni lato dispositivo, il backend attiva operazioni container sui dispositivi, gli operatori inviano comandi
- Isolamento del progetto — Ogni combinazione progetto-app ottiene il proprio realm di messaggistica crittograficamente isolato. I dispositivi in un progetto non possono vedere i messaggi di un altro
- Autenticazione — Ogni connessione al broker richiede credenziali valide
Il message broker è ciò che rende IronFlock un sistema distribuito piuttosto che una raccolta di parti disconnesse. Un agente AI in esecuzione nel cloud centrale può invocare una funzione su un dispositivo fisico in uno stabilimento — e ottenere il risultato in tempo reale — perché entrambi sono connessi allo stesso broker.
Consulta Message Broker (WAMP) per i dettagli.
Scalabilità e Aggiornamenti Senza Interruzioni
Ogni componente dell’architettura IronFlock è progettato per la scalabilità orizzontale. Il backend, FleetDB, il servizio AI, il message broker e il registro dei container possono essere scalati in modo indipendente per gestire flotte in crescita, volumi di dati crescenti e più utenti concorrenti — senza influenzare altre parti del sistema.
Tutti i componenti del sistema ora supportano gli aggiornamenti a downtime quasi nullo — possono essere aggiornati a nuove versioni praticamente senza interrompere le connessioni attive o i flussi di dati. Il message broker in cluster è stato l’ultimo componente a compiere questo passo, quindi l’intera piattaforma è ora aggiornabile con quasi nessuna interruzione del servizio.
Architettura vs. SCADA Tradizionale
Le piattaforme SCADA tradizionali (Ignition, WinCC, Wonderware) seguono un modello gateway-centrico: un server centrale fa tutto — raccolta tag, storage della cronologia, visualizzazione schermate, elaborazione allarmi e scripting. L‘“edge” sono solo i PLC che alimentano i dati a quel server centrale.
IronFlock inverte questo schema. I dispositivi edge sono nodi di esecuzione autonomi con piena capacità di calcolo. I servizi centrali gestiscono ciò che richiede una visione a livello di flotta: storage persistente dei dati, dashboard, orchestrazione AI e gestione della flotta. Nessuno dei due livelli è subordinato all’altro — sono complementari.
| Aspetto | SCADA Tradizionale | IronFlock |
|---|---|---|
| Ruolo edge | Sorgente dati passiva (PLC → gateway) | Nodo di calcolo autonomo che esegue applicazioni complete |
| Ruolo centrale | Fa tutto (server gateway) | Dati di flotta, UI, AI e coordinamento |
| Distribuzione app | Moduli sul gateway centrale | Container Docker sui dispositivi edge |
| Comportamento offline | L’edge smette di funzionare senza gateway | I dispositivi edge continuano a funzionare autonomamente |
| Scalabilità | Aggiungere più server gateway | Aggiungere più dispositivi edge |
| Comunicazione | Polling/OPC dal gateway al PLC | Messaggistica bidirezionale in tempo reale (WAMP) |
Opzioni di Distribuzione
I servizi centrali di IronFlock possono essere eseguiti in tre configurazioni:
| Modalità | Servizi Centrali | Dispositivi Edge | Caso d’uso |
|---|---|---|---|
| Cloud (predefinito) | Cloud gestito IronFlock | Connessione tramite internet | La maggior parte delle distribuzioni |
| Appliance | Box pre-configurato in loco — funziona anche come dispositivo edge | Connessione tramite rete locale | Produttori di macchine / OEM |
| Cloud privato | La tua DMZ / VPC / datacenter | Connessione tramite rete locale | Air-gapped, regolamentati |
Consulta Opzioni di Distribuzione per un confronto completo dei tre modelli.