Architettura · base

Che cosa fa una piattaforma IoT e come si sceglie?

Che cosa offre davvero una piattaforma IoT, le differenze tra piattaforme cloud, open source e verticali, e le domande da porsi prima di impegnarsi.

A server room with rows of network cabinets

Foto: Taylor Vick / Unsplash

Dopo aver letto questo articolo saprai:

  • Descrivere le funzioni che una piattaforma IoT fornisce, dalla connettività alle API applicative
  • Confrontare piattaforme hyperscaler, open source, verticali e di gestione della connettività
  • Decidere quale piattaforma è adatta con domande su posizione dei dati, modello di costo e uscita
In questa pagina
  1. Quali funzioni fornisce una piattaforma?
  2. Quali sono le principali categorie di piattaforma?
  3. Come si sceglie una piattaforma?
  4. Qual è lo schema di fallimento più comune?
  5. Per continuare

Ogni prodotto connesso ha bisogno di un back end con cui i dispositivi possano parlare. Qualcuno deve accettare migliaia di connessioni simultanee, verificare che ogni dispositivo sia chi dice di essere, archiviare ciò che invia, permettere agli operatori di distribuire il firmware ed esporre i dati alle applicazioni. Costruire tutto questo da zero richiede un anno di lavoro prima che compaia la prima dashboard utile. Una piattaforma IoT è un software che fornisce queste funzioni comuni, così che un team possa concentrarsi sulle parti specifiche del proprio prodotto.

Il termine copre una gamma ampia di prodotti: servizi gestiti dei grandi provider cloud, stack open source da ospitare in proprio, piattaforme verticali costruite per un singolo settore e i portali di gestione della connettività offerti dagli operatori mobili. Si sovrappongono, e il materiale di marketing tende a descrivere ciascuno come “end to end”. Questa guida separa le funzioni che una piattaforma può offrire, le mappa sulle principali categorie di prodotto ed elenca le domande che decidono davvero quale sia quella adatta.

Quali funzioni fornisce una piattaforma?

Una piattaforma si capisce meglio se la si vede come un insieme di servizi collocati tra i dispositivi e le applicazioni. Non tutti i prodotti offrono tutti i servizi, ed è la prima cosa da verificare.

Connettività dei dispositivi

Il punto di ingresso è un endpoint a cui i dispositivi si collegano, di solito un broker MQTT, spesso affiancato da HTTP e a volte da CoAP o LwM2M. L’endpoint termina il TLS, autentica il dispositivo e applica le regole di autorizzazione su quali topic può pubblicare o sottoscrivere. Farlo scalare a centinaia di migliaia di connessioni persistenti è uno dei motivi principali per comprare invece di costruire.

Identità e registro

Un registro dei dispositivi annota ogni dispositivo noto al sistema: il suo identificativo, le credenziali o il certificato, il tipo, i metadati come posizione o proprietario, e lo stato. I flussi di provisioning inseriscono un nuovo dispositivo nel registro in modo sicuro, idealmente con un certificato installato in fabbrica e una PKI, così che l’installatore non debba digitare alcun segreto. La guida all’identità dei dispositivi tratta questi meccanismi.

Stato e gestione dei dispositivi

Un device shadow (chiamato anche digital twin in alcuni prodotti, anche se il termine gemello digitale indica di solito qualcosa di più ricco) conserva l’ultimo stato riferito e l’eventuale stato desiderato in attesa di essere applicato. Gli strumenti di gestione della flotta raggruppano i dispositivi, mostrano quali sono online ed eseguono job sui gruppi. Gli aggiornamenti OTA distribuiscono nuovo firmware con rollout graduali e rollback. La guida alla gestione dei dispositivi li spiega nel dettaglio.

Instradamento dei dati e regole

I messaggi in arrivo vengono instradati da un motore di regole che può filtrarli, trasformarli e inoltrarli: a un database, a una coda di messaggi, a una funzione serverless, a un servizio di avvisi. È il collante che collega i dati dei dispositivi al resto della pipeline di dati.

Archiviazione e analisi

Alcune piattaforme includono un database di serie temporali, dashboard e analisi di base; altre si aspettano che tu colleghi i tuoi. Le piattaforme verticali tendono a includere analisi specifiche del dominio, come modelli di manutenzione predittiva per le apparecchiature industriali.

Interfacce applicative

Infine, la piattaforma espone API e webhook perché le tue applicazioni possano interrogare lo stato dei dispositivi, recuperare lo storico, inviare comandi e reagire agli eventi, e di solito un SDK per il firmware dei dispositivi e per il codice applicativo.

Quali sono le principali categorie di piattaforma?

Piattaforme cloud degli hyperscaler

AWS IoT Core, Azure IoT Hub e i loro equivalenti forniscono il livello di connettività, registro, shadow e regole come servizi gestiti, fatturati per messaggio e per connessione. Il loro punto di forza è la scalabilità elastica e l’integrazione stretta con il resto del cloud del provider: archiviazione, funzioni, analisi, machine learning. Il punto debole è che l’integrazione è a senso unico; mettere insieme una dozzina di servizi debolmente accoppiati richiede vera competenza, e andarsene in seguito è doloroso. Il vendor lock-in è una preoccupazione legittima, mitigata tenendo i dispositivi su MQTT standard e la logica di business fuori dai linguaggi di regole specifici del provider.

Piattaforme open source e self-hosted

Gli stack IoT open source confezionano broker, registro, motore di regole, archiviazione e dashboard in qualcosa che esegui sui tuoi server o nel tuo account cloud. Danno pieno controllo sulla posizione dei dati, il che conta per la sovranità dei dati, ed evitano i prezzi per messaggio. Il costo si sposta sull’operatività: qualcuno deve applicare le patch, fare i backup, scalare e monitorare lo stack. Per i team che hanno già capacità di platform engineering e qualche migliaio di dispositivi è spesso la scelta con il miglior rapporto tra costi e benefici. Per una startup di due persone può essere una distrazione.

Piattaforme verticali e industriali

Le piattaforme costruite per un settore specifico, come il monitoraggio delle apparecchiature industriali, la gestione degli smart building o il tracciamento degli asset, includono modelli di dominio, integrazioni con i protocolli di settore come OPC UA o BACnet e applicazioni pronte all’uso. Accorciano il time to market quando il prodotto si adatta, e ti vincolano quando non si adatta.

Piattaforme di gestione della connettività

Una piattaforma di gestione della connettività di un operatore mobile o di un MVNO gestisce SIM ed eSIM, piani dati, accesso alla rete e diagnostica per i dispositivi cellulari. È un livello diverso dalle piattaforme applicative descritte sopra e di solito si usa insieme a una di esse.

Come si sceglie una piattaforma?

La decisione su una piattaforma tende a essere presa una volta sola e a durare per tutta la vita del prodotto. Le domande che seguono distinguono i prodotti meglio degli elenchi di funzionalità.

Quali funzioni ti servono adesso, e quali tra due anni? Un prototipo ha bisogno di connettività e di una dashboard. Un prodotto ha bisogno di provisioning su scala di produzione, di OTA con rollback e di una traccia di audit. Comprare tutto subito è costoso; comprare una piattaforma che non può crescere è peggio.

Dove possono risiedere i dati? La normativa o i contratti con i clienti possono richiedere regioni specifiche o un hosting on premise, il che esclude alcune opzioni gestite.

Quali protocolli parlano i tuoi dispositivi? Una piattaforma che accetta solo MQTT su TLS va bene per i dispositivi Wi-Fi ed è inutile per una flotta LoRaWAN senza un network server intermedio.

Qual è il modello di costo su larga scala? Il prezzo per messaggio è economico con mille dispositivi che riferiscono ogni ora e diventa spaventoso con un milione di dispositivi che riferiscono ogni pochi secondi. Modella il costo totale di possesso, compresi gli ingegneri che la gestiscono.

Quanto è difficile andarsene? Protocolli standard lato dispositivo, dati esportabili e logica di business tenuta nel tuo codice invece che nel linguaggio di regole della piattaforma riducono tutti il costo di migrazione.

Chi la gestisce alle tre di notte? Un servizio gestito ha uno SLA e una linea di assistenza. Uno stack self-hosted ha il tuo turno di reperibilità.

Qual è lo schema di fallimento più comune?

I team scelgono spesso la piattaforma con cui una demo funziona più in fretta, e ne scoprono i limiti durante il primo rollout su larga scala. I sintomi sono familiari: provisioning che richiede passaggi manuali per ogni dispositivo, nessun modo di distribuire un aggiornamento a un sottoinsieme della flotta e regole che scartano messaggi in silenzio sotto carico. È una delle strade che portano al purgatorio dei progetti pilota. La difesa è mettere alla prova la piattaforma presto sugli scenari operativi più noiosi: fare l’onboarding di mille dispositivi in una volta, aggiornarne la metà, revocare un certificato compromesso.

Per continuare

Argomenti: piattaforme, cloud, architettura, gestione dei dispositivi

Diagramma