EDGE COMPUTING CON AZURE

FOCUS ON: AZURE, IOT, EDGE COMPUTING

INTRODUZIONE

Uno dei settori in cui meglio si applicano i concetti dell’IoT edge è quello della Industrial Internet of Things (IIoT):

  • La capacità di processare grandi quantità di dati, provenienti dai sensori, direttamente sull’edge riduce i costi legati alla larghezza di banda della rete e allo storage di file nel cloud.
  • I casi d’uso nell’IoT industriale possono richiedere tempi di risposta inferiori al secondo per operazioni critiche per la sicurezza e di precisione: ad esempio, un operaio troppo vicino ad un macchinario potrebbe dover causare un blocco immediato del macchinario stesso. In questo caso, la decisione di bloccare il funzionamento non può attendere il tempo di comunicazione verso il cloud (e ritorno). Un altro caso significativo riguardo a tempi di risposta molto rapidi è quello delle automobili a guida autonoma.
  • Sicurezza e privacy sono requisiti fondamentali per l’IoT industriale, che stanno fortemente spingendo all’adozione dell’edge computing. I dispositivi edge possono essere utilizzati all’interno degli stabilimenti come unico punto di accesso ad Internet, schermando quindi gli altri device che rimangono connessi solo alla rete interna o tra di loro. Inoltre, i dati generati dalle macchine sono spesso identificati come privati e ad accesso ristretto: in questo caso, l’edge computing può essere adottato per trattare e gestire dati sensibili solo all’interno della fabbrica.
  • L’edge computing consente alle applicazioni di essere autonome, ovvero di essere attive indipendentemente dalla presenza di una connessione di rete, consentendo di proseguire l’operatività (entro i limiti del possibile) anche in assenza di connessione ad Internet. Un tale scenario sarebbe per ovvie ragioni impossibile nel caso in cui tutta l’operatività sui dati venisse delegata al cloud.

CONCLUSIONI

Quanto più le aziende espandono le proprie architetture verso il cloud, tanto più ci si imbatte in scenari in cui l’approccio “tutto vada sul cloud” non regge. Non tutti gli scenari possono tollerare i requisiti di larghezza di banda e latenza necessari per spingere tutto sul cloud, e non tutte le aziende tollerano che ogni loro device sia in grado di accedere ad Internet.

La soluzione di IoT Edge proposta da Cluster Reply consente di applicare intelligenza ai dati nel luogo in cui essi originano fornisce opzioni architetturali in cui non è più necessario inviare ogni dato sul cloud perché esso venga analizzato. L’analisi è ora possibile direttamente sull’edge, e solo un sottoinsieme dei dati grezzi può successivamente essere inviato al cloud. Il risparmio è quantificabile: in termini di banda, tempo, denaro, spazio di immagazzinamento.

APPLICAZIONE

Cluster Reply adotta la piattaforma Azure IoT Edge di Microsoft per l’implementazione si soluzioni IoT presso i propri clienti del settore manufacturing. Azure IoT Edge è una estensione della suite Azure IoT, della quale sfrutta gli stessi componenti aggiungendo alcune caratteristiche necessarie ed abilitanti per l’edge computing.


  • Azure IoT Hub è il servizio principale di ogni architettura IoT basata su Azure: supporta comunicazione bidirezionale (device-to-cloud per invio telemetria, cloud-to-device per invio messaggi, comandi e configurazioni) ed è estremamente scalabile computazionalmente e geograficamente. Inoltre, adotta numerosi standard e protocolli per garantire la massima sicurezza delle comunicazioni. All’interno di Azure IoT Hub, un device di tipo edge possiede tutte le caratteristiche di un normale device (chiavi di accesso, modalità di provisioning, device twin) più alcune caratteristiche specifiche (gestione dei deployment, module twin, policy di riavvio).
  • Un modello architetturale basato su Container, che vengono eseguiti direttamente sul dispositivo edge, garantisce estrema flessibilità e facilità di gestione. I container vengono gestiti dalla soluzione Azure IoT Edge tramite il runtime Moby, che è la tecnologia standard su cui si basa il diffusissimo Docker: di conseguenza, applicazioni containerizzate con Docker possono essere trasferite sull’edge senza necessità di essere riscritte, ma semplicemente riconfigurate.
  • Ogni container incapsula al suo interno un set ben definito ed indipendente di funzionalità, che prende il nome di Modulo. Oltre alle funzionalità specifiche, un modulo di Azure IoT Edge include informazioni relative all’identità del modulo (che definisce ogni specifica istanza all’interno di un device) e alla configurazione del modulo stesso.
  • Come ogni device in Azure IoT Hub, i device edge possiedono un Device Twin, che ne immagazzina le proprietà configurabili sotto forma di documento JSON. L’elenco di proprietà di un device twin è costantmente accessibile sia dal device che da altri sistemi, interrogando le API di Azure IoT Hub che le espongono
  • Il Module Twin in Azure IoT Edge è l’equivalente di un device twin, ma applicato a ciascun modulo. Infatti, le configurazioni più importanti vengono solitamente fatte a livello di singolo modulo e non di device, dal momento che ogni modulo è a tutti gli effetti una unità indipendente.
  • Come detto, ogni modulo in Azure IoT Edge è una unità di computazione indipendente: tuttavia, i massimi benefici di una tale organizzazione si hanno quando i moduli sono in grado di operare in maniera congiunta, trasmettendo informazioni l’uno verso l’altro e, dove necessario, verso il cloud. Tale meccanismo viene gestito attraverso politiche di Edge Message Routing
  • L’esecuzione di codice su device edge è resa sicura per default da un componente di sistema, gestito all’interno del modulo Edge Agent, chiamato Security Manager Service.
  • Le configurazioni di un device, o di un gruppo di device nel caso siano identiche, possono essere racchiuse all’interno di una struttura chiamata Deployment, gestita da Azure IoT Hub. E’ qundi IoT Hub ad assicurarsi autonomamente che i device contenuti in un deployment abbiano in ogni momento la corretta configurazione applicata, in termini di moduli in esecuzione, message routing, e metriche di utilizzo.

BENEFICI

Esaminare alcuni casi di utilizzo reali della soluzione IoT Edge proposta da Cluster Reply è il modo migliore per comprenderne i benefici.

  • Nell’ambito dell’automazione industriale, un edge intelligente è in grado di implementare logiche di tipo ingest-interpret-respond tipiche delle tradizionali architetture SCADA. I moduli al suo interno si occuperanno quindi di ricevere le informazioni (segnali) provenienti dai sensori collegati ai macchinari, applicare logiche di verifica dei valori e, nel caso sia presente una anomalia che necessita di intervento, inviare un segnale di controllo al controller dedicato sulla macchina. In aggiunta, l’edge può contenere un modulo che fornisca una interfaccia grafica (web-based) per la visualizzazione delle informazioni. Rispetto ad uno SCADA tradizionale, i vantaggi più importanti sono la facilità e la rapidità di sviluppo, garantita dall’uso di tecnologie note ed aperte e dalla portabilità di soluzioni basate su container.
  • Capacità analitiche avanzate, come ad esempio quelle fornite da sistemi di Machine Learning e Intelligenza Artificiale, possono essere trasferite direttamente sul device Edge e non essere più prerogativa esclusiva di servizi cloud. Azure rende disponibili diversi moduli per l’installazione su Azure IoT Edge, quali Azure Stream Analytics per definire logiche avanzate di processamento dei dati, Azure Machine Learning service per applicare gli algoritmi di apprendimento automatico, e Custom Vision per la classificazione automatica di immagini e video. Ciò consente di utilizzare questi sistemi avanzati, e di conseguenza di prendere decisioni, con la minima latenza assicurata dall’edge computing.
  • All’interno di un impianto, è possibile che non tutti i device applicati ai macchinari siano in grado di comunicare con il cloud utilizzando uno dei protocolli supportati: ad esempio, i device che usano il protocollo MODBUS o persino alcune versioni del protocollo OPC UA necessitano di un componente aggiuntivo che sia in grado di effettuare la traduzione di protocollo ed il successivo invio dei messaggi ad Azure IoT Hub. Device ormai legacy possono quindi entrare pienamente a far parte di una architettura IoT avanzata, arricchendone lo spettro ed il campo.