4. Presentazione
• Partner di Lobra Futura
• Enterprise Architect e Technology
Advisor
• 20 anni di esperienza nel IT
• Oltre 23 certificazioni Microsoft
https://www.linkedin.com/in/carusomarco/
@MarcoCaruso79
marco.caruso@lobrafutura.com
5. Azure Storage cos’è
E’ il servizio cloud di Microsoft per l’archiviazione dei dati le sue caratteristiche
principali sono:
• Highly Available: La ridondanza garantisce che i dati siano al sicuro in caso di errori hardware
temporanei. Si può anche scegliere di replicare i dati tra data center o aree geografiche per una
protezione aggiuntiva da catastrofi locali o calamità naturali. Con questo tipo di replica, i dati
mantengono disponibilità elevata in caso di interruzioni impreviste.
• Secure: Tutti i dati vengono crittografati dal servizio. Permessi dettagliati su chi potrà accedere ai
dati.
• Scalable. La soluzione è progettata per offrire scalabilità elevata in modo da soddisfare le
esigenze di archiviazione dati e di prestazioni delle attuali applicazioni.
• Accessibility. I dati sono accessibili ovunque tramite HTTP o HTTPS. Tramite client che possono
sfrutturare diversi linguaggi nonché un'API REST
6. Tipologie di Servizi
Le tipologie di servizi si suddividono in:
BLOB
• Oggetti a
scalabilità elevata
per archiviare
enormi quantità di
dati non
strutturati. Include
anche il supporto
per l'analisi dei Big
Data tramite Data
Lake Storage
Gen2.
Files
• condivisioni di file
gestite per
distribuzioni cloud
o locali, accessibili
tramite il
protocollo SMB
(Server Message
Block)
Queue
• servizio per
l'archiviazione di
un numero elevato
di messaggi
Table
• archivio NoSQL
per l'archiviazione
senza schema di
dati strutturati.
Disk
• volumi di
archiviazione a
livello di blocco
per le macchine
virtuali di Azure.
7. Limiti di Azure Storage
https://docs.microsoft.com/en-us/azure/storage/common/scalability-targets-standard-account
9. Settings: Performance
In fase di creazione del servizio possono essere scelte due tipologie di
servizio che possono incidere sulle Performance e sui dischi utilizzati
• Standard: consente di disporre di qualsiasi servizio dati (BLOB, file,
coda, tabella) e utilizza il tradizionale disco rigido
• Premium: limitato a un tipo specifico di BLOB chiamato BLOB di
pagine e alla memorizzazione di dischi di macchine virtuali non
gestite. Utilizza unità a stato solido (SSD) per un accesso più rapido.
10. Settings: Account Type
E’ possibile scegliere tre tipi di account di archiviazione con funzionalità diverse e ha
un proprio modello di prezzo.
I tre tipi di account di archiviazione sono i seguenti
1. Account v2 generici
È il tipo di account di archiviazione di base. Offre tutti i tipi di archiviazione come BLOB, file,
code e tabelle.
2. Account v1 generici
È il tipo di account Legacy. Supporta BLOB, file, code e tabelle ma potrebbe non supportare
tutte le funzionalità.
3. Account di archiviazione BLOB Account di archiviazione solo BLOB..
Consiglio: utilizzare quando possibile i v2 che sono di ultima generazione
11. Settings: Replication
Il servizio crea più copie
dei dati in modo che
siano protetti da eventi
pianificati e non
pianificati, inclusi errori
hardware temporanei,
interruzioni della rete o
dell'alimentazione e
disastri naturali di
grandi dimensioni.
Archiviazione con ridondanza locale (LRS)
Una strategia di replica semplice ed economica
che offre la minor durata rispetto ad altre
opzioni. I dati vengono replicati all'interno di
una singola unità di scala di
archiviazione. Fornisce almeno il
99.999999999% (11) di durata degli oggetti in
un determinato anno.
Archiviazione con ridondanza di zona (ZRS)
I dati vengono replicati in modo sincrono su tre
cluster di archiviazione in una singola
area. Offre prestazioni eccellenti e bassa
latenza. Offre una durata degli oggetti di
archiviazione del 99,99999999999% (12 ) in un
determinato anno.
Archiviazione con ridondanza geografica (GRS)
replica interregionale per la protezione da
indisponibilità a livello di regione. Mantiene sei
copie dei nostri dati. Replica i dati in una
regione secondaria che dista centinaia di miglia
dalla regione primaria. Fornisce almeno il
99.9999999999999999% (16) durata degli
oggetti in un determinato anno
Archiviazione con ridondanza geografica e
accesso in lettura (RA-GRS):
replica interregionale con accesso in lettura alla
replica. È quasi simile al GRS. Ma fornisce
l'accesso in sola lettura ai dati nella posizione
secondaria. Se abilitato l'accesso in sola lettura
ai dati nell'area secondaria, questi sono
disponibili anche su un endpoint secondario,
oltre all'endpoint primario per l’account di
archiviazione.
12. Settings: Access Tier
Il servizio offre diverse opzioni per l'accesso ai dati in base ai modelli di
utilizzo. Questa impostazione viene utilizzata solo per l'archiviazione
BLOB. In base al livello di accesso cambia anche il princing
Hot - Ottimizzato per l'archiviazione dei dati a cui si accede di frequente.
Cool - Ottimizzato per l'archiviazione di dati a cui si accede raramente e
che vengono archiviati per almeno 30 giorni.
Archivio(non settabile in creazione): ottimizzato per l'archiviazione di
dati a cui si accede raramente e che vengono archiviati per almeno 180
giorni con requisiti di latenza flessibili (nell'ordine delle ore).
13. Pricing
Per calcolare il pricing bisogna considerare i seguenti
fattori:
• Region
• Dati storicizzati(Gb,Tb)
• Performance (Standard, Premium)
• Tipo di Replica scelta(LRS,ZGR, GRS, RA-GRS)
• Access Tier scelto(Hot,cool, Archive)
• Numero di operazioni
• Data transfer
16. Creazione del servizio:Advanced
Abilita il protocollo HTTPS
Abilita il supporto a file di grandi
dimensioni fino ad un massimo di 100
TB. Non disponibile nella replica GRS
Abilità la funzionalità di Soft Delete
che permette di non
cancellare/aggiornare i dati in
modalità definitiva e ripristinarli
tramite la retetion impostata.
Abilita il supporto alla gerarchia dei
namespace in particolare per le analisi
in ottica BigData
18. Sicurezza 1/6
Ogni richiesta effettuata su
una risorsa dello storage
account deve essere
autorizzata.
L'autorizzazione garantisce
che le risorse nell'account
di archiviazione siano
accessibili solo quando si
vuole e solo agli utenti o
alle applicazioni a cui si
concede l'accesso.
19. Sicurezza 2/6
L’acceso dall’esterno gestito tramite chiave primaria e chiave secondaria
che serve per accedere ai dati sia tramite client che in modalità rest.
Appena viene creato il servizio in automatico vengono creati queste
chiavi. E’ best practices rigenerare le chiavi ogni tre mesi.
20. Sicurezza Shared Access Signature 3/6
E’ possibile gestire le permission di come si accede agli oggetti degli
storage e con quale ruolo creando una Shared Access Signature
21. Sicurezza Shared Access Signature 4/6
La Shared Access Signature è possibile impostarla anche per un
determinato tempo e in base all’indirizzo IP chiamante e il tipo di
protocollo
22. Sicurezza Shared Access Signature(SAS) 5/6
Una impostati i criteri per la SAS genera il token e le connection strings
23. Sicurezza: l’Advanced Threat Protection 6/6
Per avere una maggiore sicurezza è possibile abilitare anche
l’Advanced Threat Protection, che è un ulteriore livello di sicurezza
per gli storage, che rileva tentativi insoliti e dannosi, inviando un’e-mail
all’indirizzo impostato. Tale servizio ha un costo aggiuntivo di 0,018
euro per 10 mila transazioni.
24. Files
Usage
•Sostituire o integrare file server locali:È
possibile usare File di Azure per sostituire
completamente o integrare i dispositivi NAS
o i file server locali tradizionali
•Applicazioni "lift-and-shift" :
File di Azure semplifica il trasferimento nel
cloud in modalità lift-and-shift di
applicazioni che prevedono una
condivisione file per archiviare i dati delle
applicazioni o degli utenti
Benefits
• Accesso condiviso. Le condivisioni file di
Azure supportano il protocollo SMB
standard di settore. Di conseguenza, è
possibile sostituire facilmente le
condivisioni file locali con condivisioni file di
Azure senza preoccuparsi della
compatibilità delle applicazioni.
• Soluzione completamente gestita. È
possibile creare condivisioni file di Azure
senza dover gestire l'hardware o un sistema
operativo.
• Resilienza. File di Azure è stato progettato
per garantire disponibilità
costante. Sostituendo le condivisioni file
locali con File di Azure non sarà più
necessario occuparsi di problemi di rete o
interruzioni dell'alimentazione a livello
locale.
Programming
• Script e strumenti. È possibile usare
PowerShell, CLI, Azure Data Explorer per
scriptare gli accessi e i caricamenti.
• Programmabilità nota. Le applicazioni
eseguite in Azure possono accedere ai dati
nella condivisione tramite le API di I/O del
file system.
29. Data lake Approach
Ingestion data:
Batch o Real Time
Store All Data:
in native format
(without schema)
Do Analysis:
Using Analytics
Engine(Databricks,
Stream Analytics ecc)
Presentation: KPI,
Report, with Power
BI
31. Azure Data Lake Overview
La prima versione di Azure Data Lake è uscita nel 2016 ed è
ancora possibile usarla tramite il servizio Data Lake Storage
Gen1. La nuova versione Data Lake Storage Gen2 in GA
da febbraio del 2019.
Gen2 usa Archiviazione di Azure come base per la
compilazione di Enterprise Data Lake (EDL) in Azure.
Una parte fondamentale di Data Lake Storage Gen2 è
l'aggiunta di uno spazio dei nomi gerarchico all'archivio
BLOB. Lo spazio dei nomi gerarchico organizza gli oggetti e i
file in una gerarchia di directory per un accesso ai dati
efficiente. Una convenzione di denominazione comune per
l'archiviazione di oggetti prevede l'inserimento di slash nel
nome per simulare una struttura di directory gerarchica
32. Azure Data Lake Storage Capabilities 1/2
Le capabilities sono
• Accesso compatibile con Hadoop: consente di gestire i dati e accedervi
esattamente come si farebbe con Hadoop Distributed File System (HDFS). Il
nuovo driver ABFS è disponibile all'interno di tutti gli ambienti di Apache
Hadoop, tra cui Azure HDInsight , Azure Databricks e SQL Data Warehouse, per
accedere ai dati archiviati in Data Lake Storage.
• Un superset di autorizzazioni POSIX: il modello di sicurezza per Data Lake
Gen2 supporta l'elenco di controllo di accesso e le autorizzazioni POSIX oltre a
una granularità aggiuntiva specifica di Data Lake Storage Gen2. È possibile
configurare le impostazioni tramite Storage Explorer o framework come Hive e
Spark.
• Conveniente: offre capacità di archiviazione e transazioni a basso costo. Con il
passaggio di dati tramite il relativo ciclo di vita completo, le tariffe di
fatturazione cambiano mantenendo i costi al minimo tramite funzionalità
incorporate, come ad esempio il ciclo di vita di archiviazione BLOB di Azure.
• Driver ottimizzato: il driver ABFS è ottimizzato appositamente per l'analisi dei
Big Data. Le API REST corrispondenti vengono rilevate tramite l'endpoint
dfs.core.windows.net.
33. Azure Data Lake Storage Capabilities 2/2
I benefici sono:
• Azure Data Lake aiuta a semplificare l'efficienza
dell'archiviazione dei dati consentendo alle organizzazioni
aziendali di eseguire query, elaborare e archiviare rapidamente i
dati. Un vantaggio è che Azure Data Lake è ospitato nel cloud, il che
significa che è incredibilmente scalabile e flessibile. Oltre a ciò, le
analisi del data lake necessarie possono essere eseguite
contemporaneamente; le esecuzioni possono effettivamente
verificarsi su centinaia di terabyte di dati più rapidamente di quanto
tu abbia mai sperimentato, consentendoti un accesso più rapido alle
informazioni di business. Azure Data Lake si integra efficacemente
anche con i data warehouse o altre piattaforme in modo da poter
spostare i dati nella loro forma grezza in un ambiente più strutturato
come un data warehouse.
• Azure Data Lake consente l'analisi di data lake ad alta velocità
di trasmissione di tutti i dati grezzi e semi-strutturati. È la
soluzione perfetta per le organizzazioni che cercano di fondere un
data lake con un data warehouse. Insieme, Azure Data Lake e Data
Lake Analytics consentono analisi interattive in tempo reale che si
muovono alla velocità della tua azienda.
34. Storage Lifecycle
Quando parliamo di data lake e in generale di progetti Big Data la gestione del Lifecycle
dello storage è molto importante. Ovvero la gestione del dato, perché all'inizio del ciclo di
vita, gli utenti accedono ad alcuni dati spesso. La necessità di accesso si riduce tuttavia
drasticamente con l'invecchiamento dei dati.
E’ possibile gestire il Lifecycle con diversi strumenti, DataFactor, Databricks ma c’è anche una
funzionalità all’interno del Blob Storage chiamata Lifecycle Management
Sempre tramite il portale o script powershell permette di creare delle regole per lo
spostamento o cancellazione dei dati.
Queste regolo permettono di :
• Spostare i BLOB a un livello di archiviazione ad accesso più sporadico (da frequente a
sporadico, da frequente ad archivio o da sporadico ad archivio) per ottimizzare costi e
prestazioni
• Eliminare i BLOB al termine del ciclo di vita
• Definire le regole da eseguire una volta al giorno a livello di account di archiviazione
• Applicare regole ai contenitori o a un sottoinsieme di BLOB (usando i prefissi come filtri)
35. Soft Delete 1/2
Per una maggiore durabilità e disponibilità dei dati nello storage è
possibile impostare l’opzione Soft Delete(Data Protection) che permette
di non cancellare/aggiornare i dati in modalità definitiva e ripristinarli
tramite la retetion impostata. Questa impostazione preserva i dati in
molte situazioni in cui i BLOB o gli snapshot dei BLOB vengono eliminati
o sovrascritti
Quando un BLOB viene sovrascritto, viene generato automaticamente
uno snapshot dello stato del BLOB prima dell'operazione di scrittura. Lo
snapshot è uno snapshot eliminato temporaneamente ed è invisibile a
meno che gli oggetti eliminati temporaneamente non vengano elencati
in modo esplicito.
36. Soft Delete 2/2
In pratica i dati eliminati
temporaneamente sono di colore
grigio, mentre i dati attivi sono blu. I
dati scritti più di recente vengono
visualizzati sotto i dati meno recenti.
Quando B0 viene sovrascritto con B1,
viene generato uno snapshot di B0
eliminato temporaneamente. Quando
B1 viene sovrascritto con B2, viene
generato uno snapshot di B1 eliminato
temporaneamente.
Quando viene chiamato Delete Blob su
uno snapshot, lo snapshot viene
contrassegnato come eliminato
temporaneamente. Non viene
generato un nuovo snapshot
37. Data Ingestion
Il Data Ingestion può essere Batch o in Realtime
Strumenti:
Batch:
• Data Factory
• Logic Apps
• Data Bricks
Real Time:
• Event Hubs
• Kafka