Aprile 2025: 7 anni di Astarte. Retrospettiva e sviluppo futuro.

Nel 2018, Astarte ha preso le prime mosse, per cambiare il modo in cui le aziende sfruttano i dati IoT.

In sette anni, Astarte si è evoluta in un pilastro delle applicazioni IoT industriali in tutto il mondo. La crescente domanda cui Astarte dà risposta è stata guidata da un rapido cambiamento del mercato verso modelli di servitizzazione, alimentato dal valore dei dati estratti dai dispositivi sul campo; le aziende cercavano soluzioni che potessero non solo ottimizzare le operazioni nel campo dell'automazione industriale, ma anche creare flussi di entrate sostenibili e ricorrenti. Astarte ha permesso alle aziende di andare oltre le vendite di hardware una tantum, abilitando modelli di servizio flessibili basati su abbonamento, fornendo una piattaforma di orchestrazione dei dati robusta progettata per guidare questa trasformazione.

Oggi, Astarte si presenta come la piattaforma di orchestrazione dei dati all'interno della Clea Software Suite, consentendo alle aziende di tutto il mondo di sfruttare appieno il potenziale dei loro dispositivi connessi, ottimizzare le operazioni e guidare l'innovazione attraverso una gestione dei dati senza soluzione di continuità. Scopriamo la storia della sua nascita.

La Nascita di Astarte: Passare dal Dispositivo ai Dati

Ispirata Srl, una giovane azienda fondata nel 2012 e successivamente acquisita da SECO Spa, inizialmente ha concentrato i suoi sforzi nello sviluppo e nella commercializzazione di HemeraOS.

HemeraOS era una piattaforma open-source progettata per semplificare lo sviluppo di applicazioni per dispositivi embedded, affrontando sfide nella configurazione, audit remoto e gestione dei dispositivi. Costruita attorno a Qt5, HemeraOS forniva un kit di sviluppo software (SDK) completo che includeva tutti gli strumenti necessari per lo sviluppo di applicazioni, supportando più linguaggi di programmazione tramite binding o applicazioni proxy. Supportava più sistemi operativi, inclusi Linux e Windows, e forniva un installatore universale testato su piattaforme come Ubuntu 14.04 LTS e Windows 7 in poi. L'SDK includeva anche un'anteprima del plugin Qt Creator, offrendo un ambiente di sviluppo integrato per le applicazioni Hemera. In generale, HemeraOS mirava a semplificare lo sviluppo di applicazioni embedded fornendo una piattaforma sicura, agnostica rispetto all'hardware, con capacità di comunicazione robuste, affrontando così molte complessità intrinseche nello sviluppo di sistemi embedded. Nonostante le sue capacità, HemeraOS mancava della capacità di supportare l'orchestrazione dei dati IoT su larga scala.

È via via diventato sempre più chiaro che la nuova, grande opportunità risiedeva nel fornire alle aziende i mezzi per sfruttare i loro dati sul campo IoT per offrire servizi a valore aggiunto ai loro clienti, una piattaforma middleware che potesse orchestrare e consumare dati generati dai dispositivi in insights azionabili per pipeline AI/ML. All'epoca, molti proof-of-concept (PoC) IoT erano costruiti su Kubernetes, ma il team di Ispirata voleva creare un middleware che astraesse le complessità di Kubernetes e desse agli sviluppatori di smart-products un modo per integrarsi facilmente con il loro stack e software di terze parti. Grazie alla sua licenza permissiva, Astarte si sarebbe presentata come una scelta robusta ma non vincolante per progetti proof-of-concept che, una volta dimostrati di successo, potrebbero scalare senza soluzione di continuità in implementazioni di produzione complete. Il team di Ispirata si è proposto di costruire una soluzione scalabile, flessibile e, soprattutto, developer-friendly. Man mano che il progetto si evolveva, il team ha costruito un PoC in Java, sfruttando il suo ecosistema e la familiarità degli sviluppatori. Quando Elixir ha iniziato a diventare noto, il team di Ispirata ha rapidamente riconosciuto il suo potenziale per migliorare l'architettura di Astarte. Date le esigenze delle applicazioni IoT—gestire un gran numero di connessioni simultanee, garantire affidabilità e gestire efficacemente i dati distribuiti—i punti di forza di Elixir sono diventati sempre più evidenti. La sua massiccia concorrenza, la fault-tolerance integrata e i processi leggeri lo hanno reso una scelta ideale per una piattaforma che doveva scalare senza soluzione di continuità. Riconoscendo i vantaggi di Elixir, Astarte è passata da un sistema monolitico Java a un'architettura basata su microservizi alimentata da Elixir e dalla BEAM VM, migliorando la scalabilità e la resilienza.

Reingegnerizzazione con Elixir

Dopo la fase PoC, lo sviluppo di Astarte si è concentrato su scalabilità, resilienza, facilità di distribuzione, interoperabilità e facilità d'uso.

Con il suo approccio alla Gestione Dichiarativa dei Dati, Astarte richiede agli utenti di definire le strutture dei dati prima della trasmissione utilizzando le Interfacce. Le interfacce in Astarte definiscono come i dispositivi comunicano con la piattaforma, garantendo uno scambio di dati strutturato. La versioning garantisce che gli aggiornamenti non rompano la compatibilità, rendendo Astarte adattabile per implementazioni IoT a lungo termine. Questo approccio garantisce una gestione automatizzata degli schemi e una chiara separazione delle preoccupazioni tra produttori e consumatori di dati. Le interfacce per design seguono il Semantic Versioning - cambiamenti arbitrari possono avvenire esclusivamente tra diverse versioni principali (ad esempio rimozione di membri, cambiamento di tipi, ecc...), mentre le versioni minori consentono solo cambiamenti additivi incrementali (ad esempio aggiunta di membri), consentendo aggiornamenti fluidi e compatibilità retroattiva per le implementazioni IoT. Questo modello consente un'integrazione dei dati senza soluzione di continuità nelle applicazioni semplificando le complessità della gestione del database e della convalida dei dati.

Astarte è principalmente scritto in Elixir e segue un'architettura a microservizi replicata, rendendo ogni componente autosufficiente. Ciò consente a parti del sistema di fallire senza interrompere l'intera infrastruttura. I servizi comunicano tramite un'API basata su Protobuf su AMQP, consentendo l'estensibilità cross-linguaggio. Astarte presume che i dispositivi scambino dati su un trasporto o protocollo che supporta SSL/TLS, come MQTT, che garantisce una comunicazione sicura e un'autenticazione affidabile dei dispositivi tramite certificati SSL client. Ogni implementazione di trasporto deve essere in grado di mappare le interfacce e i messaggi out-of-band su di esso. Tuttavia, Astarte stesso rimane agnostico rispetto ai dettagli di implementazione del livello di trasporto, poiché il suo ruolo è elaborare i messaggi AMQP conformi alla sua specifica API interna. L'implementazione di trasporto ufficiale e raccomandata per Astarte è MQTT, utilizzando VerneMQ insieme al suo plugin dedicato per Astarte, per facilitare una comunicazione senza soluzione di continuità e scalabile tra i dispositivi e la piattaforma.

La maggior parte delle piattaforme sul mercato adotta un approccio verticale. Sono progettate per servire un'industria specifica se non una singola linea di prodotti. A differenza delle piattaforme IoT integrate verticalmente, Astarte non limita i dispositivi a una funzione predefinita. Invece, rappresenta semplicemente qualsiasi dispositivo elettronico in grado di connettersi—sia esso un frigorifero industriale, un router o un satellite, ecc. Ogni dispositivo è assegnato un ID Dispositivo univoco a 128 bit, garantendo un'identificazione coerente e una gestione senza soluzione di continuità.

Gli SDK dei dispositivi possono sfruttare il design delle interfacce per generare dinamicamente codice per lo scambio di dati con Astarte, e sono forniti per numerosi linguaggi di programmazione e dispositivi, dal C adatto a piccoli MCU come ESP32 o ZephyrOS, Java per supportare dispositivi Android, C++ sulla piattaforma Qt, a linguaggi moderni come Rust e Go che implementano misure di memory-safety per design, e molti altri (Python, Elixir, C#). In questo modo, gli sviluppatori che utilizzano gli SDK dei dispositivi non sono costretti a imparare i dettagli sui trasporti e protocolli sottostanti, e possono impiegare il framework o il linguaggio con cui si sentono più a loro agio.

Astarte è progettato per scalare orizzontalmente e verticalmente, integrandosi nativamente con Kubernetes per semplificare la distribuzione e l'orchestrazione dei dati. Astarte è costruito sopra l'API standard di Kubernetes, il che significa che non richiede distribuzione su un provider cloud o ambiente specifico. Che sia distribuito nel cloud, all'edge, o in scenari on-premise e ibridi, Astarte si integra senza soluzione di continuità in qualsiasi installazione standard di Kubernetes. Questa flessibilità garantisce che le organizzazioni possano sfruttare la loro infrastruttura esistente beneficiando delle capacità di scalabilità e orchestrazione di Astarte. L'Operatore Astarte automatizza le operazioni del cluster, inclusi aggiornamenti, monitoraggio e scalabilità, ottimizzando le prestazioni tra distribuzioni cloud, edge e on-premise. Anche gli sviluppatori non familiari con Kubernetes beneficiano della sua astrazione delle operazioni infrastrutturali complesse.

Astarte in Produzione: Applicazioni nel Mondo Reale

Tra il 2019 e il 2021, Astarte ha visto un'adozione diffusa in vari settori. Esploriamo due casi d'uso nel mondo reale in cui Astarte è emersa come la soluzione ideale per i nostri clienti.

Nell'industria delle reti, Astarte è stata fondamentale nel consentire comunicazioni IoT massivamente scalabili e sicure, in particolare per un cliente che gestisce vaste reti di router. Non possiamo rivelare nomi, ma fidatevi—avete interagito con la loro tecnologia innumerevoli volte. Questo cliente richiedeva una soluzione in grado di scalare fino a miliardi di dispositivi. Astarte affronta questa sfida attraverso la sua integrazione con ScyllaDB, un database distribuito NoSQL ad alte prestazioni noto per la sua latenza ultra-bassa e l'elevata capacità di throughput. ScyllaDB supera i database tradizionali, garantendo che Astarte possa gestire un'enorme ingestione di dati e un'elaborazione in tempo reale per implementazioni IoT su larga scala. Nella tecnologia medica, un OEM che produce apparecchiature mediche di fascia alta ha sfruttato Astarte per passare dalla vendita di dispositivi a un modello di entrate ricorrenti. Invece di vendere dispositivi direttamente, l'azienda ha implementato un sistema basato su crediti. I medici potevano acquistare crediti d'utilizzo del dispositivo tramite una dashboard online, con Astarte che orchestrava il backend per gestire e tracciare il tempo di terapia disponibile su base dispositivo. Ciò ha permesso ai medici di accedere a trattamenti avanzati senza costi iniziali elevati, mentre l'OEM ha beneficiato di un flusso di entrate prevedibile, mantenendo la proprietà dei loro dispositivi.

Unificazione Sotto la Clea IoT Software Suite di SECO

Un'importante pietra miliare nell'evoluzione di Astarte è arrivata nel 2021 quando Ispirata Srl è stata acquisita da SECO SpA per formare SECO Mind, la sussidiaria di SECO dedicata al software IoT all'avanguardia.

Questa fase ha portato allo sviluppo di Edgehog, un sistema di gestione dei dispositivi open-source costruito su Astarte, progettato per supervisionare i cicli di vita dei dispositivi IoT. Edgehog semplifica la gestione delle flotte con funzionalità come aggiornamenti firmware OTA, monitoraggio dello stato in tempo reale, tracciamento della geolocalizzazione e accesso al terminale da remoto. Supportando sia sistemi basati su Linux che dispositivi ESP32, Edgehog fornisce un'orchestrazione senza soluzione di continuità dei dispositivi attraverso vari ambienti hardware.

Inoltre, Clea Portal è stato sviluppato come un'estensione di Astarte votata al business, consentendo alle organizzazioni di gestire utenti, applicazioni e progetti IoT con un'interfaccia utente grafica personalizzabile e app plug-and-play basate su JavaScript.

SECO ha introdotto il marchio Clea, consolidando tutti i componenti sotto un'offerta commerciale IoT unificata mantenendo un approccio middleware aperto. Questa mossa ha posizionato Astarte come un attore chiave nelle soluzioni IoT industriali, accompagnato da un'offerta modulare di hardware e software.

Ora tocca a te

La maggior parte dei componenti software della Suite Clea sono disponibili su GitHub sotto la licenza permissiva Apache 2. Ciò significa che, sebbene questa sia la storia di Astarte, potete certamente partecipare al suo futuro. Visitate SECO.com per saperne di più sul codice e su come contribuire, oppure non fatelo. Utilizzate Astarte come meglio credete, anche in progetti commerciali.

Se state cercando di ottimizzare le vostre operazioni, di passare a modelli di business basati su abbonamento o di integrare un'orchestrazione dei dati all'avanguardia nei vostri prodotti, SECO è qui per aiutarvi. Contattateci oggi stesso per scoprire come le nostre soluzioni, tra cui Astarte e Clea IoT Software Suite, possono trasformare la vostra attività.