Microsoft definisce Azure Data Factory come un servizio gestito di hybrid data integration, una descrizione fin troppo generica per una delle componenti più importanti della cloud data platform.
In questa sessione entreremo nel merito delle funzionalità offerte da Data Factory, degli scenari di data integration supportati e delle opzioni di security soprattutto in contesti ibridi cloud/on-premise.
Scopriremo che trasferire e trasformare dati nel cloud può essere semplice e relativamente poco costoso.
MV* presentation frameworks in Javascript: en garde, pret, allez!
Azure Data Factory: l'evoluzione della specie della data integration
1. MARZO 2020 /2020 / JAKALA 11
Azure Data Factory: l'evoluzione
della specie della data integration
Azure Meetup Milano - AperiTech Edition
7 Aprile 2020
3. APRILE 2020 /2020 / Azure Meetup 3
Agenda
• Data Factory: chi, cosa, quando, perchè
• Componenti base
• Ambiente di esecuzione
• Data flow
• Monitoring & alerting
• Security & Git integration
• Pricing
4. APRILE 2020 /2020 / Azure Meetup 4
Azure Data Factory: chi, cosa, quando
• Data Factory è il servizio gestito di data integration offerto da Azure
• Permette di orchestrare processi ETL/ELT e data preparation, di dati strutturati e non strutturati,
progettati ed implementati senza l’uso di codice (no code)
• Utilizzabile in tutti quei casi in cui è necessario raccogliere e aggregare dati provenienti da
diverse fonti, cloud e on-premise
5. APRILE 2020 /2020 / Azure Meetup 5
Azure Data Factory: perchè
• Servizio PaaS con infrastruttura interamente gestita
• Disegno e implementazione dei processi completamente senza codice
• Disponibilità di una grande quantità di connettori per diverse fonti dati
• Semplice gestione dei trigger di avvio dei processi (ad evento o schedulati)
• Sistema integrato di monitoraggio e alerting
• Costi contenuti
• Integrazione con Git e CI/CD
6. APRILE 2020 /2020 / Azure Meetup 6
Azure Data Factory: componenti base
• Linked Service: configurazione delle connessioni alle fonti o destinazioni dati tramite connettori
dedicati
• Dataset: configurazione di uno specifico dataset (tabella, file, JSON, ecc.) all’interno del Linked
Service
• Pipeline: orchestrazione di una serie di attività di lettura, trasformazione e scrittura sui Dataset
• Trigger: configurazione della modalità di avvio delle Pipeline per evento o schedulazione
8. APRILE 2020 /2020 / Azure Meetup 8
Azure Data Factory: ambiente di esecuzione
• I Linked Service vengono resi disponibili tramite un Integration Runtime che può essere di tre tipi:
• Azure: runtime di default completamente gestito per l’accesso a fonti dati cloud
• Self Hosted: runtime da installare e configurare manualmente per l’accesso a fonti dati
disponibili tramite Azure Virtual Network e on-premise
• Azure SSIS: runtime dedicato specificatamente all’esecuzione lift & shift di pacchetti SQL
Server Integration Services sia nel cloud che in Azure Virtual Network e on-premise
9. APRILE 2020 /2020 / Azure Meetup 9
Azure Data Factory: schema integration runtime
Integration Runtime Public network Private network
Azure
Data Flow
Data movement
Activity dispatch
Self-hosted
Data movement
Activity dispatch
Data movement
Activity dispatch
Azure-SSIS SSIS package execution SSIS package execution
10. APRILE 2020 /2020 / Azure Meetup 10
Azure Data Factory: panoramica integration runtime
12. APRILE 2020 /2020 / Azure Meetup 12
Azure Data Factory: data flow
• I Data Flow sono di fatto Pipeline dedicate alla data transformation/preparation che vengono
eseguite su cluster Spark completamente gestito
• Sono attivabili solo per Dataset disponibili su Azure (es. Azure Storage) tramite l’Azure Integration
Runtime
• Esistono due tipologie di Data Flow:
• Mapping Data Flow: orchestrazione di una serie di attività di data transformation
• Wrangling Data Flow (in preview): orchestrazione di una serie di attività di data preparation
mediante l’uso del motore di Power Query Online
14. APRILE 2020 /2020 / Azure Meetup 14
Azure Data Factory: monitoring & alerting
• Azure Data Factory offre un ambiente di monitoring & alerting completamente integrato
• Il monitoraggio permette di controllare lo stato e lo storico delle esecuzioni delle Pipeline
• Permette di analizzare in dettaglio le single attività che compongono sia le Pipeline che i Data
Flow, anche in retrospettiva una volta che siano state completate (qualsiasi sia l’esito)
• L’alerting permette di definire metriche anche complesse e soglie a cui reagire con una notifica
(email, sms, push notification)
15. APRILE 2020 /2020 / Azure Meetup 15
Azure Data Factory: security & git integration
• Il modello di sicurezza su cui si basa Azure Data Factory è quello classico RBAC traimite i ruoli
Azure:
• Creazione istanza Data Factory: Subscription Administrator, Owner, Contributor
• Gestione Data Factory: Data Factory Contributor
• Limitazione gestione Data Factory: va definito un custom Azure Role
• Azure Data Factory fornisce l’integrazione nativa con Git tramite Azure DevOps e GitHub
• ATTENZIONE: la pubblicazione effettiva in produzione delle modifiche può essere fatta solo
dalla branch master, in caso di branch di sviluppo occorre prima eseguire una merge
16. APRILE 2020 /2020 / Azure Meetup 16
Azure Data Factory: pricing
• Il modello di pricing di Azure Data Factory è suddiviso per:
• Data Pipeline: due diversi modelli di pricing per:
• Orchestrazione & Esecuzione: pay per use basato sul numero di esecuzioni delle Pipeline
e delle single attività, differenziato per tipologia di Integration Runtime
• Data Flow: pay per use basato sul sizing delle VM, numero di nodi del cluster Spark
• SQL Server Integration Services: pay per use basato sul sizing delle VM, numero di nodi e
licenza di SSIS
17. MARZO 2020 /2020 / JAKALA 1717
Roberto Messora
Head of Business Integration & Architectures
roberto.messora@jakala.com
https://twitter.com/robymes