Andrea Bielli, IT Architect Global Digital Solution, Enel
Davide Gimondo, Software Engineer, Enel
Enel mostra come neo4j aiuta nella gestione delle reti elettriche in 8 paesi nel mondo.
Con l’obiettivo di ottimizzare gli algoritmi di percorrenza della rete elettrica, in modo da rendere le reti sempre più efficienti e resilienti.
L’obiettivo di Enel è una gestione ottimale della topologia della rete per garantire gli obiettivi del gruppo: la transizione energetica e l’elettrificazione dei paesi in cui opera, verso l’obiettivo Net Zero, relativo alla riduzione delle emissioni nella produzione e distribuzione dell’energia elettrica.
10. INTERNAL
10
Decoupling
layer
Business services
Microservices
Solutions
Smart
Maintenance
Network
Operations
Customer
interactions
…
Network
analysis
Architectural logic structure
Asset
Inventory
… Network
topology
… Customer
& Trader
Data
Domains
Description
Solutions to provide new
business capabilities
Numerosity
̴ 40
Decoupling Layer enables full
Solution access to all Data
Domains
̴10.000
14
Domains are set of data entities
supporting a consistent set of a
business process
Publishing services on the platform
is the Domain Platformization
Implementing a unique global data
model is the Domain Convergence
ENEL Grids Digital Hub
GBS Program & Platformization
G
B
S
12. INTERNAL
12
Entity Access (typical SQL login).
Good performance in accesses based on
plant properties, in order to retrieve the
attributes of a node without
considering the relationships.
Need for a db that could easily represent the model of
the electrical network.The graphs represent this
infrastructure well.
Navigation of the relations of a graph (typical
graphDB access). High performance in accessing
network objects related to each other, in order to
extract entire power lines and all the elements that
compose them
ENEL Grids Topology: Neo4j graph DB
Project Needs
13. INTERNAL
13
3 candidates
• Neo4j
• Other graph db
• SQL DB
3 databases of
different sizes
• "Small" DB containing
the network of a country
• «Medium» DB containing
the network of 3
countries
• "Large" DB containing
the 3 country network
multiplied by 5
21 sample graphs
• Starting from the three
types of network (T1 / P2
/ S2), 21 sample graphs
representing parts of the
network were extracted,
chosen by number of
elements and depth
ENEL Grids Topology: Neo4j graph DB
Decision making process
14. INTERNAL
14
Features Neo4J Other graph DB SQL DB
Scalability Horizontal Vertical (no sharding) Vertical (no sharding)
Availability
- Master-Slave data replication
- Supports full / incremental
backups from the running cluster
- Monitoring and restoring
instances
- Supports up to 15 read replicas
ACID Compliance Yes [1]
Yes, except for some operations in
order to increase performance
Yes
Supported graph
models
Property graph [Cypher e Gremlin]
- Property graph [Gremlin]
- RDF [SPARQL]
None [2]
Data visualization
Neo4j Bloom, integrated and highly
customizable
Absent, but third-party solutions
that can be integrated
No graph data display support
Security
- User role management
(Enterprise ed.)
- Support external authentication
systems via LDAP (eg Kerberos)
- Access management to portions
of graphs
- Isolation in VPC
- Permissions managed through
AWS IAM
- Cryptable instances with AWS
KMS
- Automatic update management
Fine grained access rights
according to SQL-standard
Graph data
analysis
Neo4j Graph Analytics, library
composed of procedures that can be
called up by cypher (centrality,
clustering, pathfinding)
Not supported Not supported
Ability to edit Yes by modifying the vertex labels
Yes through workaround on the
creation of new vertexes with
updated labels and elimination of
the old ones
Yes
License Open Source/Commercial Commercial Open Source
neo4j Other graph
DB
SQL DB
* Features analyzed at the date of the POC(Q4 2020)
ENEL Grids Topology: Neo4j graph DB
Decision making process
15. INTERNAL
15
≈ 150 ms
• 2Mln queries / day
• 8 countries
8 DBs (1 per country)
• 1TB data
• 600M nodes
• 800M relations
For each environment
(Dev, UAT, Prod)
• 3 server Causal cluster
• 256GB RAM, 16 cpu
ENEL Grids Topology: Neo4j graph DB
Implementation process and results obtained
Oggi parleremo di come Enel ha adottato la tecnologia dei db a grafo con neo4j nella gestione delle reti elettriche in 8 paesi nel mondo.
Con l'obiettivo di ottimizzare gli algoritmi di percorrenza della rete elettrica, in modo da rendere le reti sempre più efficienti e resilienti.
per garantire gli obiettivi del gruppo: la transizione energetica e l'elettrificazione dei paesi in cui opera, verso l'obiettivo Net Zero, relativo alla riduzione delle emissioni nella produzione e distribuzione dell'energia elettrica.
Iniziamo introducendo un po’ cos’è Enel
non è solo L’Ente nazionale dell’energia elettrica. Ma è una multinazionale presente in oltre 20 paesi in tutti i continenti.
È il più grande operatore di distribuzione al mondo (esclusi operatori pubblici es Cina)
È il più grande operatore privato nelle rinnovabili
E l’operatore con il maggior numero di clienti al mondo
Quindi Enel porta la sua capacità di produrre, e distribuire energia in tutto il mondo ed è quindi leader e trainante nelle sfide della transizione energetica che stiamo vivendo
Enel è presente in tutto il mondo non solo come produttore e distributore di energia.
Con le sue società offre numerosi servizi.
Queste sono le società di Enel:
Global Power Generation (green power + thermal power)
Enel X way per i servizi legati alla elettrificazione e alle smart cities
Enel Grids gestisce le reti di distribuzione dalle centrali fino alla consegna
Come dicevamo prima, Enel ha un ruolo determinante nei processi di trasformazione, e transizione energetica che il mondo si sta predisponendo a fare.
Questo si ripercuote su obiettivi estremamente sfidanti per Enel, che ci portano a fare continuamente innovazione e grandi investimenti per riuscire in un obiettivo cosi importante.
Ognuna delle società con le sue peculiarità ha posto obiettivi enormi, semplicemente se confontiamo la crescita tra il 21 e il 24 e quella con il 30.
Ovviamente tutti questi obiettivi contribuiscono al più grande che è quello del Net Zero, ovvero la riduzione fino a zero delle emizssioni nella produzione di energia.
Una elettrificazione cosi forte passa da una componente estremamente importante, una rete di grande qualità che riduce gli sprechi e arriva ovunque. Che è l’obiettivo di Enel Grids
In particolare è all’interno della società Enel Grids, in cui io lavoro, che è stato scelto di utilizzare neo4j. Proprio per gestire la topologia e il grafo della rete elettrica.
Enel Grids gestisce e distribuisce energia su 2Mln di km di line elettriche in 8 paesi (alcuni di questi sono usciti da poco dalla strategia e sono in vendita)
In ognuno di questi paese è primo o secondo distributore, proprio perché l’obiettivo è migliorare drasticamente la qualità del servizio nei paesi in cui si trova, non si tratta semplicemente di entrare in un mercato.
E come dicevamo prima Enel Grids è in una posizione centrale e determinante in quel processo di elettrificazione e trasizione energetica.
Sostanzialmente perché è l’infrastruttura abilitante, che permette di distribuire energia al meglio, senza sprechi e con grande qualità l’energia.
Rendendo efficiente la produzione e raggiungendo i clienti ovunque
Questo si traduce in linee elettriche sempre più smart, telecontrollate e resilienti.
Il processo di transizione che Enel sta facendo si basa su questi pillar:
Decarbonizzazione (che è anche l’obiettivo principale del gruppo)
Digitalizzazione
Centralità dei clienti
Elettrificazione (che va di pari passo con la decarbonizzazione e la digitalizzazione)
Urbanizzazione (per rendere sempre più smart le grandi città e renderle più efficienti energeticamente)
Come vedete la digitalizzazione è uno dei pillar fondamentali ed è al centro. Anche se enel è una società di energia, utilities, perché mette al digitalizzazione al centro?
Enel è una delle pochissime aziende nel suo campo, ma anche in altri, ad aver messo al centro la digitalizzazione. Nel processo di trasformazione digitale ha avuto il coraggio di digitalizzare l’intera azienda.
Non ha fatto come molte che hanno creato degli spinoff totalmente digitali.
Questo denota la forte propensione dell’azienda all’innovazione dedicando Grandi investimenti nel piano strategico comunicato qualche anno fa.
In ambito Grids l’approccio all’innovazione è estremamente importante e lo si può vedere nei temi riportati in questa slide.
Grids sta intraprendendo un viaggio estremamente veloce e sempre in anticipo, andando a credere e sviluppare sulle tecnologie più moderne.
L’esempio più eclatante è che Enel ha deciso di migrare tutto in cloud tutto dal 2015, completando la migraazione nel 2019. Nel 2015 solo le startup erano in cloud e negli ambienti delle grande imprese, soprattutto italiane, se ne parlava solamente.
Full CloudWe are the world’s first large utility company to fully embrace the cloud model.From 2015, in april 2019 Enel became “full cloud”
Un secondo grande passo è stato il cambio totale di modello, sia in ambito tecnologico che di business. L’implementazione della platform, di cui parlo nella prossima slide, traforma totalemnte l’approccio allo sviluppo. E’ un totale passaggio verso applicazioni a microservizi. In questo ambito orami in enel si parla di sistemi legacy riferendosi a quelli in IaaS
Platform based modelThe Enel Digital Platform is a set of infrastructure, tools, manual and automated procedures that allow a faster, more reliable and more efficient management and development of digital solutions.
La platform è lo strumento che ci sta aiutando a definire un vero e proprio Digital twin della rete elettrica.
Stiamo testando e sviluppando nuove tecnologie come il Quantum Computing per migliorare la pianificazione delle attività in campo, il Quantum Edge Device per la digitalizzazione delle cabine secondarie, o il Network Digital Twin con i suoi modelli di analisi dei dati ottimizzare la pianificazione della rete, per rendere i lavori più efficienti o per la formazione sulla sicurezza.
La prossima milestone del percorso di digitalizzazione delle reti di Enel, in effetti, deriva dall'intersezione di diverse tecnologie ormai mature: il modello di piattaforma digitale, l'ecosistema dei social network e il sistema Network Digital Twin. Le opportunità che possono scaturire dalla combinazione di queste tre tecnologie si materializzano in quello che viene chiamato il Metaverso, un articolato ecosistema di tecnologie che possono essere combinate in modo originale per fornire un’esperienza di collaborazione e interazione immersiva e in tempo reale sia con altre persone che con oggetti in uno spazio virtuale che simula il contesto reale.
Per le reti il GridVerse sarà una delle tante istanze interoperabili del Metaverso che ospiterà casi d’uso relativi alla progettazione collaborativa, all’addestramento virtuale, all’assistenza remota e alla simulazione del comportamento delle reti.
IT Platformization represents a new way of developing IT Systems and revolves around a common denominator to enable new platform businesses and operating models.
Evolving towards an IT Platform Model means:
Moving away from the development of applications based on vertical systems to the development of solutions.
Being able to integrate with what is being done, and this requires introducing a decoupling layer separating data from solutions.
Sharing and democratizing data.
The adoption of an IT Platform model means:
More Speed, thanks to re-use and shared services.
Unleashed Data Potential, thanks to systems integration by design.
Enable New Business Models & Platform Operating Models, thanks to a new way of developing IT systems.
Enable Decoupling
Democratize Data
Support Productivity
Guarantee Sustainability
Build a Community
Plan For Growth
Enel Grids crede moltissimo in questo nuovo approccio allo sviluppo e sta migrando tutte le applicazioni verso le solution in platform.
L’investimento è enorme ma i risultati si vedono e qui vediamo come sta crescendo l’utilizzo della platform
Nell’ambito di Enel Grids, il dominio Topology, forse il più importante perché contiene i dati relativi alla topologia della rete elettrica, le connessioni tra i vari elementi e la configurazione della rete in tutte le country gestite.
3 anni fa, quando è stato deciso di fare questa migrazione alla platform, ci si è chiesti quale fosse il modo migliore di descrivere al topologia della rete. Fino a quel momento la rete e le relative relazioni tra i nodi erano definiti su un db sql Oracle.
Ora ci si prospettava la possibilità di scegliere un db che possa rappresentare al meglio una infrastruttura come la rete elettrica, che appunto è proprio un grafo (come vedete nell’immagine). Una serie di elementi collegati tra loro da connessioni elettriche e gerarchiche.
Inoltre c’era l’esigenza di rendere il più veloce, performante e efficiente la percorrenza della rete. Ovvero fare delle estrazioni da una cabina primaria fino ai clienti alimentati, o verificare la presenza di magliature o controalimentazioni. Questi campi di applicazione sono estremamamente importanti per garantire una rete efficiente, sicura e resiliente. Per fare calcoli di rete, curve di carico, analisi sulla qualità del servizio ecc.
La terza esigenza importante era che il nuovo db doveva garantire al tempo stesso ottime performance nel caso di accessi sql like. Ovvero non basarsi solo su etichette e relazioni, ma ricerche di entità sugli attributi e sugli indici.
Nel processo di scelta del db abbiamo fatto dei test di comparazione tra 3 differenti prodotti e tecnologie per vedere come si comportavano con le nostre esigenze.
Neo4j
Un altro graphdb (di un altro produttore)
E un sql db
Abbiamo identificato 3 set di dati di grandezza differente per eseguire i test con carichi differenti
Successivamente abbiamo definito 21 tipologie di estrazione di rete da eseguire sui 3 db e sui 3 differenti set di dati
I risultati dei test hanno evidenziato neo4j come la miglior scelta.
Come vedete ci sono stati casi di test in cui le alter tecnologie sono state più performanti, ma in generale neo4j si è rivelato più adattabile a tutti I casi e vincendo nella maggior parte dei confronti.
Inoltre anche le features offerte dai prodotti risultavano migliori per neo4j
Ad oggi neo4j è quindi il db ufficiale della topologia delle rete, e su cui si stanno migrando tutte le applicazioni (solution)
Il tasso di utilizzo è in costante aumento e ogni giorno riceve più query e il carico aumenta
Questa è la sfida su cui lo stiamo mettendo alla prova, stiamo cercando di renderlo sempre più efficente all’aumentare del carico che non riusciamo ancora a stimare ma sarà di diversi ordini di grandezza superiori a quello attuale
Ora vediamo dei casi d’uso in cui l’utilizzo di neo4j ha abilitato funzioni molto important per enel e su cui stiamo anche cercando di fare innovazione.
Nel primo caso vediamo il pannello cartografico su cui la rete viene progettata e pianificata.
Il secondo caso è un po’ un’anteprima, e rappresenta il GridVerse. Ovvero il metaverso della rete. Che permetterà ai nostri colleghi che lavorano sul campo, e che progettano la rete, di avere una versione, un digital twin della rete, il più realistico possibile. Permettendo un giorno di lavorare anche a distanza. Offrendo anche una realtà aumentata che facilita il lavoro e lo rende più sicuro.
I prossimi passi, come dicevo prima saranno quelli di rendere la nostra architettura sempre più resiliente e meglio gestita. Visto che il carico è in continuo aumento.
Per questo stiamo pensando di andare verso una soluzione ibrida, dal momento che aura db non è ancora adatto alle nostre esigenze in cui abbiamo molte apoc custom sviluppate per migliorare la percorrenza di rete. Ma andremo verso una soluzione in cui I servizi di neo4j, il CMS prenderà in carico la nostra infrastruttura e gestirà I nostril ambienti 24x7