Struttura del corso
Modulo 0: Nozioni di base e panoramica sull’ecosistema AWS IoT
- Introduzione a IoT
- Definizione di IoT nel 2024: oltre ai semplici “dispositivi” (intelligenza all’Edge, intelligenza artificiale e machine learning in prossimità dei dispositivi, sistemi ciber-fisici).
- Motivazioni alla crescita di IoT (settori industriali, casi d’uso).
- Tendenze chiave di IoT (computazione all’Edge, sostenibilità, integrazione di AI/ML, rafforzamento della sicurezza).
- Ruolo di AWS IoT nell’ambito dell’intero ecosistema AWS (risorse del Partner Network AWS – APN).
- Panoramica dei servizi AWS IoT
- AWS IoT Core (protocollo MQTT/Bridge, gestione delle attività programmate, Device Defender).
- AWS IoT Device Management (onboarding dei dispositivi, gestione della configurazione, aggiornamenti OTA).
- AWS IoT Analytics (elaborazione e modellazione dati).
- AWS IoT Greengrass (computazione all’Edge, esecuzione locale dei processi, connettività sicura).
- AWS IoT Button (descrizione concettuale per dispositivi semplici).
- Collegamenti: AWS IoT Core si interfaccia con Lambda, DynamoDB, OpenSearch, Step Functions e SageMaker.
Modulo 1: Architettura di IoT, componenti principali e sicurezza
- Architettura IoT
- Livello dei dispositivi (sensori, attuatori, dispositivi Edge come Raspberry Pi ed ESP32).
- Livello di connettività (protocolli MQTT, CoAP, HTTP, LPWAN: LoRaWAN, NB-IoT, Sigfox, Cellular IoT).
- Livello di integrazione cloud (AWS IoT Core, API Gateway, Lambda, Step Functions).
- Livello di elaborazione e analisi dati (DynamoDB, Timestream, OpenSearch, S3, Athena, SageMaker).
- Livello applicativo (applicazioni mobili e web realizzate con AWS Amplify, nonché soluzioni aziendali personalizzate).
- Importanza: spiegazione delle ragioni alla base di architetture distribuite (riduzione della latenza, ottimizzazione della larghezza di banda, potenza computazionale e sicurezza).
- Approfondimento sui componenti essenziali di IoT
- Hardware: criteri di scelta (unità MCU, capacità di connettività, sensori), elementi di sicurezza (Ambienti di Esecuzione Affidabili – TEE).
- Computazione all’Edge (AWS Greengrass): vantaggi quali riduzione della latenza, minore traffico verso il cloud e capacità di prendere decisioni in loco.
- Gestione dei dispositivi: processo di onboarding (aggiornamenti Over-the-Air – OTA e provisioning preconfigurato), configurazione, monitoraggio e debug remoto.
- Sicurezza approfondita: identità del dispositivo, autenticazione e autorizzazione (certificati X.509, token JSON Web – JWT), crittografia dei dati (in transito e a riposo) nonché strumenti come AWS IoT Device Defender.
- Standardizzazione della sicurezza: introduzione a standard normativi (es. IEEE P2145, Open Connectivity Foundation – OCF) e conformità alle normative di settore (ISO/IEC 27001, SOC 2).
- Funzionalità PaaS specifiche fornite da AWS per IoT
- AWS IoT Core: comunicazione MQTT sicura/Bridge e gestione delle attività per gli aggiornamenti firmware tramite Device Defender.
- AWS Lambda: calcolo serverless finalizzato alla pre-elaborazione dei dati e al lancio di azioni automatiche.
- AWS Step Functions: gestione dei flussi operativi complessi coinvolgenti più dispositivi.
- Amazon DynamoDB: database NoSQL ottimizzato per un rapido inserimento di dati IoT.
- Amazon OpenSearch Service: strumenti di ricerca e analisi, particolarmente adatti a gestione di serie temporali.
- Amazon Timestream: database specializzato per la memorizzazione e l’analisi di dati temporali.
- Amazon S3: archiviazione estesa dei dati grezzi in forma non elaborata.
- AWS IoT Device Defender: monitoraggio continuo e valutazione della sicurezza.
- AWS IoT Wireless: connessione di dispositivi remoti operanti su reti LPWAN.
Modulo 2: Protocolli di comunicazione per i dispositivi IoT
- MQTT (versione 5 e WebSockets)
- Caratteristiche principali del protocollo MQTT 5.0 (flag di conservazione dati, sessione pulita, proprietà personalizzabili, argomenti con caratteri jolly).
- Utilizzo del protocollo MQTT tramite WebSockets (standard attualmente in sviluppo).
- Spiegazione dei livelli di Qualità del Servizio – QoS.
- Best practice per l’impiego corretto del protocollo.
- Altri protocolli di comunicazione
- CoAP (Constrained Application Protocol): ottimizzato per dispositivi a risorse limitate.
- AMQP e MQTT su AMQP: formati standardizzati per lo scambio dati.
- HTTP: adatto a situazioni in cui gli aggiornamenti avvengono con scarsa frequenza.
- WebSockets: consentono una comunicazione bidirezionale completa.
Modulo 3: Sviluppo di applicazioni IoT affidabili con AWS
- Onboarding dei dispositivi e sicurezza della connettività
- Pre-provisioning tramite AWS IoT Device Defender.
- Procedura di onboarding sicuro via OTA (ispirata alle funzionalità fornite da AWS IoT Button).
- Gestione dei certificati dispositivo mediante ACM e infrastrutture PKI.
- Implementazione della comunicazione MQTT protetta tramite TLS.
- Ingestione, archiviazione ed elaborazione dei dati
- Invio efficiente di informazioni dai dispositivi a AWS IoT Core.
- Scelta del canale di destinazione più adatto: Lambda per elaborazioni event-driven, Step Functions per l’orchestrazione complessa, Timestream e OpenSearch rispettivamente per la gestione di dati temporali o di analisi approfondita; S3 invece è ideale come archivio per i dati grezzi.
- Utilizzo di AWS IoT Analytics per la pulizia, l’arricchimento e la preparazione dei dati prima della loro memorizzazione.
- Gestione di scenari caratterizzati da altissima densità informativa (servizi Kinesis/Firehose).
- Gestione operativa e monitoraggio dei dispositivi
- Monitoraggio del parco dispositivi tramite AWS IoT Device Management.
- Progettazione, implementazione e gestione di aggiornamenti OTA (realizzati con le funzioni specifiche offerte da AWS IoT Jobs).
- Monitoraggio remoto e configurazione dinamica dei dispositivi.
- Creazione del back-end per applicazioni IoT
- Utilizzo di API Gateway per creare interfacce REST o GraphQL atte alla comunicazione con i dispositivi e l’elaborazione dei dati.
- AWS Lambda viene impiegato per implementare tutta la logica aziendale prevista.
- AWS Step Functions assicura un coordinamento efficace tra componenti distribuiti del sistema.
- Amazon SQS/SNS facilitano lo scambio asincrono di messaggi e il lancio automatico di eventi operativi.
Modulo 4: Computazione all’Edge e integrazioni avanzate
- AWS IoT Greengrass
- Elementi fondamentali (Core, dispositivi, connettori).
- Esecuzione diretta delle funzioni Lambda sul dispositivo stesso.
- Capacità di eseguire codice scritto in linguaggi come C++ e Python all’interno dei dispositivi.
- Mantenimento di una comunicazione sicura tra i componenti Greengrass Core, i dispositivi IoT stessi e l’ambiente cloud AWS.
- Casi d’uso tipici: filtraggio locale delle informazioni, pre-elaborazione dati o utilizzo di algoritmi avanzati di intelligenza artificiale in prossimità dei dispositivi.
- Integrazione con sistemi AI e Machine Learning
- Sfruttamento di SageMaker per lo sviluppo e l’applicazione di modelli complessi nell’ecosistema cloud.
- Esecuzione in locale dei processi di inferenza ML sfruttando Greengrass ML Accelerator (GMA).
- Visualizzazione dati e creazione di interfacce utente
- Utilizzo di AWS IoT SiteWise per la visualizzazione industriale dei dati raccolti.
- Sviluppo di applicazioni web con AWS Amplify (comprendenti API, interfacce grafiche e sistemi di autenticazione).
- Realizzazione di dashboard dinamici con Amazon QuickSight o OpenSearch Dashboards.
Modulo 5: Sicurezza, governance e prassi consigliate
- Ciclo di vita della sicurezza nei sistemi IoT
- Principi progettuali orientati alla sicurezza (approccio “Defense-in-Depth”).
- Metodiche di sviluppo responsabili dal punto di vista della sicurezza (guida OWASP IoT Top 10).
- Gestione delle vulnerabilità riscontrate nei dispositivi.
- Modellizzazione dei possibili rischi associati all’implementazione complessiva di un sistema IoT.
- Servizi AWS dedicati alla sicurezza degli ambienti IoT
- AWS IoT Device Defender: funzionalità sia per l’analisi delle attività che la valutazione globale della sicurezza.
- AWS Shield, gestione delle identità e dei permessi tramite IAM.
- Strumenti di AWS Config finalizzati all’individuazione tempestiva di eventuali carenze in materia di compliance.
- Integrazione con moduli hardware dedicati alla sicurezza – HSM.
- Gestione della privacy e governance dei dati
- Rilevamento e gestione adeguata di informazioni riservate o appartenenti a soggetti identificabili (PII).
- Definizione precisa delle politiche relative alla conservazione e cancellazione temporale dei dati.
- Aspetti normativi da considerare in termini di adeguamento legislativo.
Modulo 6: Progetti pratici e attività finale
- Esercitazioni guidate in laboratorio
- Procedura di onboarding dei dispositivi e comunicazione mediante protocollo MQTT.
- Ingestione sicura delle informazioni inviate ai sistemi AWS.
- Creazione di un semplice dashboard per la visualizzazione degli indicatori raccolti.
- Simulazione passo dopo passo dell’aggiornamento OTA dei dispositivi.
- Messa a fuoco preliminare su concetti fondamentali di AWS IoT Greengrass.
- Progetto finale
- Costruzione completa di una soluzione IoT rispondente ad un problema reale (es. automazione domestica intelligente, monitoraggio ambientale o piattaforme industriali per sensori).
- Requisiti chiave: utilizzo di dispositivi sicuri e configurabili, capacità di acquisizione e elaborazione efficace dei dati, visualizzazione tempestiva delle informazioni; eventualmente anche componenti operanti in prossimità del dispositivo stesso.
- Integrazione dei servizi AWS illustrati nel corso.
Requisiti
Finalità del corso:
Il moderno sviluppo di soluzioni IoT si basa su infrastrutture Platform-as-a-Service (PaaS). Tra i principali sistemi PaaS per IoT vi sono Microsoft Azure, AWS IoT (Amazon), Google IoT Cloud e Siemens MindSphere. È fondamentale che gli sviluppatori conoscano le funzionalità offerte da questi ambienti per integrare correttamente i dati provenienti dai dispositivi IoT in altri sistemi. In questo corso si effettuerà una formazione pratica utilizzando un Raspberry Pi e il chip multi-sensore TI SensorTag, dotato di ben 10 sensori integrati (rilevamento del movimento, temperatura ambiente, umidità, pressione, misurazione della luce, ecc.). Si impareranno i principi fondamentali di IoT nonché come implementarli nell’ecosistema cloud AWS tramite le funzioni Lambda.