2. #disatpn
TITOLO: Tra edge e cloud, il Fog Computing
Sottotitolo: di cos'altro poteva parlare uno che è nato a Rovigo?
3. #disatpn
Cos’è l’IIoT?
Estensione dell'uso dell'IoT standard al settore industriale.
IoT:
• Many devices, low rate
• Consumer centric
• Strong Internet
IIoT:
• Few devices, high rate
• Production centric
• Weak Internet
IoT
Edge Fog Cloud
IIoT
Edge Fog Cloud
Ibrido tra tecnologia dell'informazione e tecnologia operativa. IT + OT = IIoT
3
4. #disatpn
..Perchè?
Produzione: il settore in cui viene attualmente impiegata la maggior
parte della tecnologia IIoT. Le macchine abilitate per l’IIoT possono
monitorare e prevedere i potenziali problemi, riducendo i downtime e
aumentando l’efficienza complessiva.
Supply chain: grazie all’inventario gestito da sensori, la tecnologia IIoT può
prendersi carico dell’ordinazione preventiva di materiali di consumo prima
dell’esaurimento delle scorte. In questo modo si riducono gli scarti, mantenendo
la merce necessaria in magazzino e lasciando più tempo ai dipendenti di
concentrarsi su altre attività.
Gestione degli edifici: la tecnologia IIoT può essere impiegata per rendere la gestione
energetica degli edifici più semplice e sicura. Con i sistemi basati su sensori, ad
esempio, è possibile eliminare i dubbi e le frustrazioni derivanti dagli interventi
manuali sulla climatizzazione. Inoltre, i dispositivi che tengono monitorati i punti di
ingresso e rispondono rapidamente alle potenziali minacce aumentano la sicurezza.
IIoT: motivazioni e temi
4
6. #disatpn
L’IoT nel mondo industriale è un concetto
nuovo? No.
• Sistemi di controllo industriale (ICS),
• Interfacce uomo-macchina (HMI),
• Sistemi di controllo di supervisione e acquisizione dati (SCADA),
• Sistemi di controllo distribuito (DCS)
• Controllori logici programmabili (PLC)
Se non è nuovo da chi è sempre stato gestito e
governato? .. L’automazione.
6
8. #disatpn
Convergenza IT e OT
• Culture diverse
• Due manager diversi
• Storie diversi e figure
professionali diverse
• L’ Automazione non sa
di Docker, Cloud, Paas
• IT non sa di SCADA,
MES, HMI, PLC
8
9. #disatpn
Io sostengo che tra i due, è l’IT che
deve aiutare l’OT. Non sicuramente il
contrario. E’ necessario
comprendere il loro mondo… e:
• Trovare dei punti in comune
• Ragionare sull’integrazione
• Smussare gli angoli
11. #disatpn
LA PIRAMIDE CLOUD
Pipeline parallela verso il cloud
IoT Edge con ecosistema di servizi locali
Gestione cloud degli aggiornamenti
Big Data spostato su Cloud
10
12. #disatpn
Facciamo un passo indietro..
• Ci è servito per conoscere, capire e dare un
volto pratico alle architetture
• E’ stato ed è tuttora una fonte inesauribile
di continua innovazione e formazione
• Ha accelerato l’adozione dell’agile
methodology e della filosofia LEAN
Il Cloud, ed Azure specialmente:
SISTEMISTA DBADMIN DEPLOYER
..e in più abbiamo eliminato molti problemi.
11
13. #disatpn
C:> Peccato che il cloud, e anche l’edge, nella realtà dei fatti,
c’entri mooooolto poco con l’IIoT e lo Smart Manifacturing _
Affermazione forte?
14. #disatpn
OnPrem, OnCloud …
OnCloud, OnPrem …
Locazione non certa, encryption,
sicurezza (?), Compatibilità,
Eterogeneicità messaggi, Leadership
Aziendale, Player non tecnologici,
hardware al primo posto, Protocolli
proprietari, Traffico dati, Storage
infinito senza motivo, Risorse
computazionali vaghe, analytics
ancora più vaghi, pipeline parallela
al MES, costi non ricorrenti…
«Voglio tutto quello che mi hai proposto… ma da
qui non esce niente»
Cit. #UnClienteVeramenteAdorabile
14
15. #disatpn
IoT Edge e smart manifacturing, nel mondo
reale
• Va bene solo su approcci
distribuiti dove c’è un
accesso alla rete (meglio se
non troppo discontinuo)
• Va bene solo quando esiste
un IT MANAGER vero (che
conta!), e che sia garante
della protezione del dato
PROBLEMI VERI:
• Pochissimi device industriali compatibili (chi fa hardware
dedicato .. non vuole troppo software di terzi)
• Forte discrepanza di pensiero tra chi vende sistemi industrali
e i cloud vendor (che parlano di tecnologia.. E nient’altro)
• I casi d’uso riguardano impianti dove sono presenti diversi
vendor (ognuno coi propri sistemi), e un cliente che vuole
dei KPI di Linea, un alerting unificato, ma GUAI a chi fa uscire
un bit.
• In più: il MES e ERP «cloud» sono poco diffusi, .. Quindi lo
scenario è … più complesso del solito.
15
17. #disatpn
Facciamo un ragionamento assieme
• Analizziamo i problemi che dobbiamo
risolvere
• Analizziamo i pattern che potremmo
usare su cloud
• Capiamo le ripercussioni sull’on premise
• Distribuiamo i pesi
• Monitoriamo tutto e in modo ridondante
Cit. «Se prendi il problema, e lo trasformi in numeri.. e
lo metti pure su Excel.. Excel non ti mente mica, eh!»
..e via in forno!
17
18. #disatpn
1. Big Analog Data with Perpetual Connectivity
• Arriva da un mondo analogico
• E’ comunque una approssimazione digitale
• Arriva da Posti diversi (Persone/Device/Macchine/Cose/Ambienti)
Monitor
• Ridurre il rischio di errori
nell’ingestion.
• Usare sistemi con Discovery
per lo scaling “zero downtime”
Mantain
• Assicurare meccanismo multi
mimico per Update, fix, patch
• Rolling out di storage
separando I flussi R/W
massimizzando gli IOPS
Monetize
• Documentare le interazioni
con gli altri attori OT/IT in
termini di “Hits/Ts”,
analizzandone i pattern.
18
19. #disatpn
2. IoT data is REALLY Real time
• Millisecondo o secondo? Dipende dal problema
• In che punto della catena c’è la reazione?
• Quali utenti hanno realmente bisogno del dato RRT?
Acquisition
• Usare il massimo rate di
acquisizione disponibile
SEMPRE, e agire in
bufferizzazione/conversion
successiva
Analysis
• Dividere gli obbiettivi di analisi
in Business Insight,
Engineering Insight, e
Scientific Insight
Action
• Agire (in forma dispositive o
informativa) verso tutta la
catena precedente
19
20. #disatpn
3. Time to Insight vs Depth of insight
• Real time SIGNALS > GATEWAY
• Near real time GATEWAY > EDGE
• In movimento EDGE > FOG
• Su richiesta FOG > CLOUD
• Archivio CLOUD > ? (QUANTUM?) :D :D :D
Edge
• Buffering del dato disaccoppiata da
distribuzione
• Uso di Demultiplexer configurabili On-the-
fly
• Uso di esecutori per applicare algoritmi di
inference o pre-classificazione
Fog
• Ingestion massiva parallela,
• Arricchimento/tagging del dato con
connotati MES o classe Applicativa di utilizzo
• Distribuzione del dato verso strutture di
triggering
• Memorizzazione dato su strutture time
based
Cloud
• Archiviazione long term,
• Interazione con Utenti esterni
• Elaborazione massiva periodica e lenta dei
bigdata
• Ambiente di simulazione fabbrica virtuale
• Sviluppo di nuovi inference o “decisori
intelligenti”
20
21. #disatpn
4. Consider the future: The Fifth «V»
Visibili
ty
Accedere alle informazioni da Paese diversi dal Sito di produzione.
Il «Data Scientism» non potrà sempre essere interno.
21
22. #disatpn
5. Shift left to the edge
• Sistema asincrono di delivery
• Correlation ID sempre presente
• Tracciabilità di tutti gli step
• Tracciante circolare sempre presente
Edge
• Buffering del dato disaccoppiata da
distribuzione
• Uso di Demultiplexer configurabili On-the-
fly
• Uso di esecutori per applicare algoritmi di
inference o pre-classificazione
Fog
• Ingestion massiva parallela,
• Arricchimento/tagging del dato con
connotati MES o classe Applicativa di utilizzo
• Distribuzione del dato verso strutture di
triggering
• Memorizzazione dato su strutture time
based
Cloud
• Archiviazione long term,
• Interazione con Utenti esterni
• Elaborazione massiva periodica e lenta dei
bigdata
• Ambiente di simulazione fabbrica virtuale
• Sviluppo di nuovi inference o “decisori
intelligenti”
22
23. #disatpn
Che futuro ci aspetta ?
• Convergenza dei livelli
• OT nei processi, IT nei modi
• Mes Cloud
• CSO di impianto
• … e «il What-if dei What-if» …
10
25. #disatpn
Strato EDGE
• Buffering del dato disaccopiata con broker locale
• Demultiplexer per la composizione JSON Array, con OUPUT configurabili
• Self standing API (inference, decision making)
• Executor con finite-state-machine locale
• Command listener
• Update checker
• Configuration updater
25
26. #disatpn
STRATO FOG
• Hub di ingestion dati
• Multi output demultiplexer
• Arricchimento OnTheFly del dato
• Storage circolare su TimeSeries DB, partizionato per data
• Downsampling dei segnali
• Motore di regole per «retroazionare»
• Device Virtuale, Prodotto Virtuale, Processo Virtuale
26
27. #disatpn
STRATO CLOUD (o FOG)
• Data Analysis attraverso Tabular E Multidimentional model
• Big Data (document based) con dati aggregati per «funzione» (multi
Point of View)
• Periodico re-training di Modelli di Machine Learning
• Pubblicazione su registry locale di API per la previsione o la
categorizzazione
27
28. #disatpn
STRATO CLOUD
Simulaton desk
• Throughput
• Analytics
• Inference
Extension Workplace
• Root cause analysis
• Alarm Monitoring
• ML Training
• Module Repository
Information Bus
• To Customers
• To Scientists
• From MES
28
30. #disatpn
Iot alla ZAMANA
• Ricetta – per 4 Impianti Iiot alla Zamana
Ingredienti per 4 macchine:
n.4 BECKHOFF CX5240 (= F2)
n.3 Nodi Ingestion ( = D2S v3)
Docker, Linux
C# q.b.
31. #disatpn
Acquisition
• Docker Toolbox (Vtx!!)
• Rabbit + MqttPlugin
• Swarm
• N deploy via Docker compose (Infra e
Apps) tramite Stack
• CoreOS (!!!)
32. #disatpn
Ingestion
• Vm Linux in Ring network
• Kafka, Orleans
• Swarm
• N deploy Docker compose (Apps)
• Orleans, Trill, FAST
33. #disatpn
Demo - Edge
# COSTRUIAMO LA RETE e le VM (Linux CoreOS)
# USANDO 4 DOCKER FILE, CREIAMO 4 IMMAGINI DOCKER x i LOADER
# USANDO N DOCKER FILE, CREIAMO N IMMAGINI DOCKER x i DISPATCHER
# DENTRO AD OGNI VM CREIAMO i SERVIZI DENTRO UNO SWARM
37. #disatpn
Il punto di svolta .. È L’attore!
L’attore può bufferizzare dimensioni fisiche, e attendere un dato di processo,
cambiando di stato.
Reminder e Timers possono occuparsi di effettuare le operazioni non legate ad eventi
Il meccanismo degli Observable, applicato a soggetti passivi, rende triggerabile il
Cambio di stato accodando operazioni da eseguire…
… VERSO IL CLOUD, VERSO IL FOG, VERSO L’EDGE!
Un esempio tra tutti: MES cloud, Scientists remoti, processi esterni al plant, Allarmi
direttamente al soggetto preposto
38. #disatpn
Comporre!!
• Tutto è un Attore
• PSO (PluggableSerializableObject)
• Actor Tracing
• Combination
• Silos Interchange
• Stream Providers
39. #disatpn
Ma… quanti pattern dobbiamo utilizzare?
• ACTOR PATTERN ? (singlethread, mutable
state, intelligence demand)
• MESSAGE QUEUE?
(Async processing, Chains as Phases)
• EVENT SOURCE (Store changes, not data)
• LAMBDA / KAPPA ?
#Il «Pollo», la Spia e il Ladro
#I Vasi comunicanti
#Il pizzino chilometrico delle cose da
fare
#Tubi, tubi tuuuubiiiiiii
#…HEXAGONAL ARCH? ;)
41. #disatpn
Alcuni spoiler .. direttamente da «Scotty» di Ms
• PROSE: genera codice, dato un input e un output di esempio (basta scrivere
noiose console application per «predigerire JSON mal gestiti, splittare file
secondo logiche colonnari, ecc ecc».
• WORKFLOW-CORE: la famosa FSM in formato «light» (a morte i BPM!)
• BEATPULSE: framework per fare tracking applicativo, e health check
42. #disatpn
Ah già … e il Cloud?
#QUELLO CHE VOGLIAMO..
#Integrazione con AzureMonitor?
#Integrazione con Office365 via LogicApps?
#Long term storage + DGX VMs?
#Esposizione di API per invocare comandi o
richiedere aggiornamenti / cambi
configurazione
#Lanciare report on demand
44. #disatpn
Prima di uno scrosciante applauso..
“Un timoniere di valore continua
a navigare anche con la vela a brandelli.”
::Lucio Anneo S::
#UnConsulenteVeramenteAdorabile
Cit. Lettere a Lucilio
45. #disatpn
Riferimenti
• Email: riccardo.zamana@beantech.it
• EmailPocoSeria: zarkeys@gmail.com
• Twitter: Zama202
• Medium: presto.. Prestissimo!!!
#Grazie.
«In memory of» SMACK Architecture:
https://medium.com/pintail-labs/what-is-the-smack-stack-31bc85131a9a
Cloud «on my premises»:
https://arxiv.org/abs/1811.09047
Microsoft Orleans is on Github!!!!
https://github.com/dotnet/orleans