GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
SOGEI - Graph DB per un moderno Identity & Access Management
1. Graph DB per un moderno Identity & Access Management
Alegiani Alessandro
Cyber Defense – Identity Access Management
11 Ottobre 2022
2. SOGEI
Sogei - Società Generale
d'Informatica S.p.A. - è la società di
Information Technology 100%
del Ministero dell'Economia e delle
Finanze e opera sulla base del
modello organizzativo dell'in-house
providing. Da oltre 40 anni Sogei
traduce le esigenze espresse dai
proprio Clienti creando valore per
cittadini, imprese e istituzioni.
Alegiani Alessandro 2/12
11 ottobre 2022
✔ Ricavi 721,0 Mln€
✔ Utile 59.3 Mln€
✔ EBITDA/Ricavi 18,7%
✔ Investimenti 52,2 Mln€
✔ Dipendenti 2.472
✔ Dipendenti Laureati 65%
✔ >12.000 Server fisici e virtuali
✔ 49.7 Petabyte Memoria disco
✔ 3.189 Reti periferiche
✔ 100% Energia elettrica da fonti rinnovabili
3. SOGEI
Partecipare con le istituzioni e i
clienti alla modernizzazione e
digitalizzazione dei processi del
sistema Paese
Operiamo all'interno di un quadro di
riferimento ampio e differenziato.
Il costante sviluppo di nuove soluzioni
tecnologiche e gestionali indirizzate alla
Pubblica Amministrazione si inserisce
all'interno di un contesto definito,
strutturato e in continua evoluzione.
Questo permette di garantire agli
stakeholder alti standard di conformità
normativa e qualità dei servizi.
Offrire servizi semplici, veloci e
completamente digitali.
Innovazione, Know-how, Etica,
Professionalità, Spirito di squadra
MISSION
VISION
VALUE
Alegiani Alessandro
11 ottobre 2022 3/12
4. IAM
A chi ci
rivolgiamo
Integrazioni
con
Utilizzando
C2B B2B
DIPENDENTI PA ESTERNI (cittadini,
fornitori, …)
WEB SERVICE
WEB APPLICATION APP MOBILE
On-premise Cloud
Monolithics Microservices
IBM
DataPower
Gateways
Alegiani Alessandro
11 ottobre 2022 4/12
5. 11 ottobre 2022 Alegiani Alessandro
ADOZIONE NEO4J
DATABASE
RELAZIONALE
DATABASE A
GRAFO
I dati vengono memorizzati senza il vincolo
di un modello predefinito, ciò permette di
avere un'ampia flessibilità nel pensare e
utilizzare gli stessi.
Flessibilità
Fasi adozione NEO4J
ACQUISIZIONE ARCHITETTURA E PROGETTAZIONE BUILD & DEPLOY
• Dichiarativo
• Espressivo
• Pattern-matching
Cypher
Nodi e relazioni, al contrario delle tabelle di
un tradizionale database, consentono una
navigazione più veloce.
Velocità di lettura
5/12
SPERIMENTAZIONE
6. 11 ottobre 2022 Alegiani Alessandro
Acquisizione
licenze
Gara europea
Disegno modello dati
Progettazione dello schema
del db sulla base dei requisiti
applicativi
Impianto
infrastruttura
POC tecnica
Caricamento iniziale ed
elaborazione query
per test funzionali
Analisi del contesto
Raccolta e validazione dei
requisiti in funzione
del modello target + capacity
FASI DI ADOZIONE NEO4J
Sviluppo servizi
Sviluppo servizi REST
di runtime e gestione
attraverso operazioni
CRUD
Caricamento dati
Caricamento Bulk e
procedure di allineamento
2019 2022
Fasi adozione NEO4J
6/12
Sperimentazione
7. 43.443.903 3.481.919.191 401.164 2.078.547
TEAM E AMBIENTI NEO4J
11 ottobre 2022 Alegiani Alessandro
Singolo host
TEST
Singolo host
VALIDAZIONE
Cluster di tre nodi
PRODUZIONE
INTERNI
Piattaforma dedicata ai
dipendenti della PA
Security
Specialist
DB Administrator
Security
Analyst
DB
Architect
7/12
Singolo host
Singolo host
Cluster di tre nodi
ESTERNI
Piattaforma dedicata a
cittadini e professionisti
8. CLUSTER NEO4J
Il cluster, in ambiente di esercizio, è composto
da 3 server sui quali è presente un’istanza
Neo4j per ciascuno. Per garantire la modalità
HA il cluster è costituito da un LEADER, con
grant sia in lettura sia in scrittura, e due
FOLLOWER solo in lettura.
Il Causal Clustering di Neo4j offre tre caratteristiche
principali:
SCALE
SAFETY CAUSAL CONSISTENCY
I Core Server
garantiscono le
transazioni sulla
base della
acknowledge della
maggioranza del
nodi
Piattaforma fortemente
scalabile e workload
consistenti anche in
una topologia
ampiamente distribuita.
Garanzia che ogni
nodo del cluster abbia
visibilità della
transazione a
prescindere
dell'istanza
ingaggiata.
LEADER
FOLLOWER FOLLOWER
Usare i driver ufficiali di Neo4j significa poter sfruttare tutte le capacità di
routing del cluster dei driver. Le richieste saranno indirizzate
automaticamente all'istanza appropriata.
Se la richiesta è di scrittura:
sarà indirizzata all'istanza
Leader.
Se la richiesta è di lettura:
verrà indirizzata a
un'istanza Follower.
Alegiani Alessandro
11 ottobre 2022
In caso di mancata raggiungibilità del
leader attuale si innesca in automatico
l’elezione di un nuovo leader all’interno
del cluster garantendo la continuità e
senza creare disservizi.
8/12
9. MODELLO DATI
11 ottobre 2022
Il modello è stato creato ad hoc per ottemperare alle
necessità relative al mondo autorizzativo, ma
guidato dai requisiti dei primi due mercati che lo
adottano:
Alegiani Alessandro
La struttura dati è consistente per entrambe le
agenzie e prevede di esserlo per altri clienti che
abbiano caratteristiche simili.
Qualora emergessero esigenze nuove, non
realizzabili con
l’attuale disegno, è possibile in esso introdurre
nuovi elementi.
Per la natura schema-less del database
questo tipo di intervento non obbliga ad
effettuare modifica alcuna sulla struttura
dei dati precedentemente inseriti.
9/12
Fonte: https://dist.neo4j.com
Cliente Sistema
Informativo Fiscalità 1
Cliente Sistema
Informativo Fiscalità 2
10. MODELLO DATI IN ACTION
11 ottobre 2022 Alegiani Alessandro 10/12
11. 11 ottobre 2022 Alegiani Alessandro
SVILUPPI
1
2
3
4
Procedure di allineamento notturne fra le basi dati
preesistenti e il grafo
Servizi di runtime (REST Api) per l’accesso alle informazioni
autorizzative (entitlements)
Servizi di gestione per operazioni CRUD (provisioning,
deprovisioning organizzazione, proflili, utenti)
Console di gestione per abilitare I ruoli amministrativi e
operativi
MEDIU
M
LOW
MEDIUM
HIGH
11/12