Questo articolo descrive come implementare un modello di progettazione di lakehouse medallion per un caso d'uso incentrato sulla soluzione. La soluzione usa una topologia di rete hub-spoke con zone di destinazione che seguono Cloud Adoption Framework per le procedure consigliate di Azure.
Importante
Queste indicazioni sono supportate da un'implementazione di esempio che illustra una configurazione di Azure Data Factory di base in Azure. È possibile usare questa implementazione come base per un ulteriore sviluppo di soluzioni nel primo passaggio verso la produzione.
Decisioni chiave nella progettazione
Questa progettazione illustra l'organizzazione di medie-grandi dimensioni Contoso durante il percorso verso il cloud di Azure con il supporto dell'automazione. Contoso ha stabilito una base cloud di Azure con una zona di destinazione aziendale. La leadership si prepara a portare i primi carichi di lavoro di dati nel cloud, guidati da Azure Well-Architected Framework.
Questo caso d'uso iniziale include gli scenari seguenti:
- I dati vengono originati da un sistema operativo finanziario locale.
- I dati vengono copiati nel cloud per i casi d'uso analitici.
- Contoso stabilisce una funzionalità di data science aziendale.
Requisiti chiave
Il reparto finanziario e altre funzioni aziendali usano principalmente la soluzione come sistema analitico e di creazione di report.
Il sistema di origine locale ha le proprietà seguenti:
Dimensioni di un terabyte (TB) con una crescita prevista del 5% annuale.
Processo di aggiornamento batch che viene eseguito ogni notte e in genere termina prima delle 3:00, tranne durante gli aggiornamenti finanziari di fine anno.
La soluzione deve ridurre al minimo l'effetto sul sistema di origine.
Gli utenti finanziari devono avere la possibilità di visualizzare lo stato dei dati in un determinato momento.
Il caso d'uso iniziale è destinato alla creazione di report analitici e di gestione con funzionalità self-service. Questa progettazione di soluzioni deve fungere anche da base per la creazione di una funzionalità di data science aziendale.
I dati vengono classificati come riservati dell'azienda, pertanto la soluzione deve avere controlli di sicurezza e monitoraggio efficaci sia per i componenti che per i dati a cui si accede o che vengono usati. Proteggere tutti i dati con crittografia avanzata dei dati inattivi e dei dati in transito.
Il modello di dati aziendale di Contoso include un subset specifico per i dati finanziari. Gli elementi dati chiave devono essere puliti, modellati e conformi alle varie gerarchie di report prima di essere serviti per la creazione di report.
I dati di origine inseriti che non sono attualmente mappati al modello aziendale devono essere conservati e resi disponibili per future analisi e casi d'uso.
La soluzione deve essere aggiornata ogni giorno in base alla disponibilità dei feed di origine e avere la facoltatività di calcolo elastico destinata a meno di 90 minuti per un aggiornamento della soluzione end-to-end.
La soluzione deve supportare i contratti di servizio di destinazione seguenti:
Tempo di attività di destinazione del 99,5% o circa 1 giorno e 20 ore di inattività entro un anno.
Obiettivo del punto di ripristino di tre giorni.
Obiettivo del tempo di recupero di un giorno.
La soluzione dovrebbe essere progettata per il futuro per supportare la crescita e l'estensione delle capacità future senza riprogettazione fondamentale.
La soluzione deve supportare l'utilizzo previsto seguente:
200 manager, controller finanziari e analisti collegati al reparto finanziario, con una crescita stimata inferiore al 5% annuale.
100 analisti connessi ad altre funzioni aziendali, con una crescita stimata inferiore al 5% annuale.
Solo i dipendenti contoso possono accedere alla soluzione. Questo controllo esclude in modo esplicito qualsiasi accesso diretto da parti esterne o non Contoso.
La soluzione deve avere:
Monitoraggio e audit trail end-to-end.
Avvisi abilitati per metriche di affidabilità, prestazioni e costi.
La soluzione deve classificare in ordine di priorità:
Competenze e capacità esistenti invece di sviluppare nuove competenze. Questa strategia riduce la complessità, il rischio e i costi.
Livelli di servizio cloud moderni. Ad esempio, la soluzione deve usare soluzioni PaaS (Platform as a Service) ogni volta che è pratico per ridurre il carico di gestione, il rischio e per controllare i costi.
Componenti maturi nel mercato e facili da trovare. Contoso prevede di migliorare le competenze dei tecnici nel ciclo di vita dello sviluppo software (SDLC).
La soluzione deve essere ottimizzata per i requisiti non funzionali (NFR) nell'ordine seguente:
Costo per compilare ed eseguire la soluzione.
Prestazioni della soluzione.
Manutenibilità della soluzione.
Decisioni chiave nella progettazione
L'architettura di analisi moderna con Azure Databricks è la base per la progettazione della soluzione. Questa progettazione è un'estensione naturale dell'architettura aziendale della zona di destinazione di Azure. Riutilizza molti componenti fondamentali dell'architettura aziendale della zona di destinazione di Azure, ad esempio Microsoft Entra ID e Monitoraggio di Azure. Sono necessari solo gli aggiornamenti di configurazione specifici della soluzione.
Questa progettazione consente di soddisfare facilmente i requisiti di volume e elaborazione previsti, inclusi i requisiti di scalabilità automatica.
Delta Lake supporta i requisiti temporizzato e il controllo delle versioni dei dati avanzato, l'applicazione dello schema e il tempo di spostamento. Delta Lake offre anche garanzie di atomicità, coerenza, isolamento e durabilità (ACID).
Maturo nell'offerta di mercato, alti livelli di disponibilità delle competenze, e sono disponibili forti upskilling e formazione.
Supporta il desiderio strategico di una capacità di data science aziendale usando l'accesso al lake non elaborato o convalidato in Azure Databricks.
Azure Data Lake Storage e Azure Databricks offrono un'efficiente elaborazione ed archiviazione dei dati di medie dimensioni.
Supporta i requisiti per prestazioni, affidabilità e resilienza del servizio.
La selezione dei servizi PaaS trasferisce gran parte del carico operativo a Microsoft in cambio di un minore controllo.
A causa della versione iniziale della soluzione, è consigliabile usare le licenze di Power BI Pro come opzione di licenza. Questa scelta ha un compromesso esplicito delle spese operative rispetto alle prestazioni di Power BI Premium.
La chiave cambia per questa soluzione:
Azure SQL viene usato per la funzionalità di modellazione dei dati a causa dei volumi di dati previsti, della riduzione dei nuovi componenti introdotti e del riutilizzo delle competenze esistenti.
Poiché la soluzione è basata su batch, Data Factory viene usata in base alla corrispondenza funzionale, al costo e alla semplicità.
La progettazione è estendibile per supportare l'inserimento in streaming.
Per l'inserimento locale è necessario un runtime di integrazione self-hosted di Data Factory, il che significa che Azure Site Recovery è necessario per la resilienza del servizio.
Microsoft Purview Data Governance fa parte del livello di base, che fornisce trasparenza, un catalogo dati e funzionalità di governance.
Architettura
Flusso di dati
Questa soluzione usa Data Factory con un shir per inserire dati dal sistema di origine locale a Data Lake Storage. Data Factory orchestra anche i notebook di Azure Databricks per trasformare e caricare i dati in tabelle Delta Lake ospitate in Data Lake Storage.
Delta Lake è associato a Power BI, usato per creare dashboard e analisi di leadership senior sulle tabelle Delta Lake. Azure Databricks fornisce anche l'accesso al lake non elaborato o convalidato per i carichi di lavoro di data science e Machine Learning.
Il flusso di dati seguente corrisponde al diagramma precedente:
I dati vengono inseriti da un sistema di origine locale a Data Lake Storage usando Data Factory con un shir. Data Factory offre anche l'orchestrazione dei processi per i notebook di Azure Databricks per trasformare e caricare i dati in tabelle Delta Lake archiviate in Data Lake Storage, insieme a processi di estrazione, trasformazione e caricamento di SQL Server.
Delta Lake offre un livello di formato aperto che supporta il controllo delle versioni dei dati, applica lo schema, consente il viaggio in tempo e garantisce la conformità ACID. I dati sono organizzati nei livelli seguenti:
Il livello bronzo contiene tutti i dati non elaborati.
Il livello silver contiene dati puliti e filtrati.
Il livello oro archivia i dati aggregati utili per l'analisi aziendale.
Data Lake Storage è alla base di Delta Lake grazie alla possibilità di archiviare in modo efficiente tutti i tipi di dati. Questa flessibilità supporta flussi di lavoro di velocità variabili e mantiene l'efficacia dei costi.
SQL Server viene usato per supportare i requisiti di modellazione dei dati aziendali, inclusa la conformità gerarchica.
Power BI viene usato per creare dashboard delle informazioni di gestione dal modello aziendale. Questo servizio offre una visualizzazione coerente, standardizzata e efficiente dei dati. Power BI può anche abilitare il lavoro di analisi direttamente da Delta Lake usando Azure Databricks.
La soluzione aggiunge altri due componenti ai servizi di Azure fondamentali, che consentono la collaborazione, la governance, l'affidabilità e la sicurezza:
Microsoft Purview Data Governance offre servizi di individuazione dei dati, un catalogo dati e informazioni dettagliate sulla governance nella piattaforma.
Site Recovery supporta il backup e il ripristino delle macchine virtuali, che forniscono il calcolo al servizio shir di Data Factory, necessario per inserire i dati dall'ambiente locale.
I servizi di base seguenti richiedono l'estensione per supportare questa soluzione:
Azure DevOps offre integrazione continua e recapito continuo (CI/CD) e altre funzionalità di controllo della versione integrate.
Azure Key Vault gestisce in modo sicuro segreti, chiavi e certificati.
Microsoft Entra ID fornisce l'accesso Single Sign-On (SSO) nello stack, inclusi gli utenti di Azure Databricks e Power BI.
Monitoraggio di Azure raccoglie e analizza i dati di telemetria delle risorse di Azure, che fornisce controllo e avvisi. Questo servizio ottimizza le prestazioni e l'affidabilità identificando in modo proattivo i problemi.
Gestione costi Microsoft offre servizi di governance finanziaria per i carichi di lavoro di Azure.
Progettazione della rete
Scaricare un file di Visio di questa architettura.
È possibile usare firewall di Azure per proteggere la connettività di rete tra l'infrastruttura locale e la rete virtuale di Azure.
È possibile distribuire un servizio SHIR in una macchina virtuale (VM) nell'ambiente locale o in Azure, con quest'ultima raccomandazione. È possibile usare un shir per connettersi in modo sicuro alle origini dati locali ed eseguire attività di integrazione dei dati in Data Factory.
Vengono implementati un collegamento privato e endpoint privati, che è possibile usare per inserire il servizio nella rete virtuale.
Per sfruttare i vantaggi dell'etichettatura dei dati assistita da Machine Learning, è necessario creare un nuovo account di archiviazione diverso dall'account di archiviazione predefinito creato per l'area di lavoro di Azure Machine Learning. È possibile associare il nuovo account di archiviazione non predefinito alla stessa rete virtuale dell'area di lavoro. Se si preferisce mantenere separato l'account di archiviazione, è possibile inserirlo in una subnet diversa all'interno di tale rete virtuale.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.
L'uso di Azure Databricks Delta Lake significa che non è possibile usare il livello archivio Archiviazione di Azure account perché tale livello è un'archiviazione offline effettiva. Questa scelta di progettazione è un compromesso tra funzionalità e costi.
Quando si crea una nuova area di lavoro di Azure Databricks, la ridondanza predefinita per l'account di archiviazione gestito (file system di Azure Databricks o radice del file system di Databricks) viene impostata come archiviazione con ridondanza geografica. È possibile modificare la ridondanza in archiviazione con ridondanza locale se non è necessaria la ridondanza geografica.
Come regola generale, i data warehouse con prestazioni inferiori a una TB in database SQL di Azure rispetto a Synapse. Synapse inizia a mostrare miglioramenti delle prestazioni quando il data warehouse supera i 1-5 TB. Questa differenza di prestazioni è il fattore principale per la selezione di SQL di Azure invece di Synapse.
Alternative
Microsoft Fabric include Data Factory, Azure Databricks e Power BI integrato come singola soluzione. Poiché Fabric è un servizio relativamente nuovo, potrebbero essere disponibili alcune funzionalità che non corrispondono a quella dei servizi usati in questo scenario. Potrebbe esserci anche una curva di apprendimento per gli operatori.
Azure Synapse Analytics è un'alternativa per il livello di elaborazione dell'archiviazione. Questo servizio non è una buona corrispondenza per lo scenario descritto in questo articolo perché Azure Databricks è una corrispondenza funzionale matura e ha competenze disponibili nel mercato.
I servizi seguenti sono alternative per il livello di modellazione dell'archiviazione:
Azure Synapse Analytics: questo servizio non è una buona corrispondenza per lo scenario descritto in questo articolo a causa di volumi di dati e sovrapposizioni funzionali con Azure Databricks.
Istanza gestita di SQL di Azure: questo servizio non è una corrispondenza valida per lo scenario descritto in questo articolo a causa della mancanza di requisiti di migrazione e di spese operative più elevate.
Database di Azure per PostgresSQL: questo servizio non è una buona corrispondenza per lo scenario descritto in questo articolo a causa del set di competenze esistente di Contoso e della preferenza per ridurre al minimo l'introduzione di nuove tecnologie, riducendo i costi e la complessità.
Affidabilità
L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.
Per allinearsi agli obiettivi di affidabilità per un sistema analitico e di report di Business Intelligence:
I contratti di servizio di Azure predefiniti nella soluzione soddisfano i requisiti, quindi non è necessario un aumento della disponibilità elevata o multi-area.
L'architettura usa una strategia di ripristino di emergenza Di attesa per Microsoft a causa della scarsa criticità del servizio della soluzione e dell'uso dei servizi PaaS.
Le funzionalità native seguenti consentono di gestire i backup dei dati:
Cronologia delle tabelle delta Lake di Azure Databricks.
Backup predefiniti di SQL Server.
Livello bronzo Delta Lake che archivia tutti i dati di origine inseriti in un formato di sola accodamento. Questa funzionalità consente una riproduzione completa della soluzione senza riesecuzione dal sistema di origine.
Importante
Per raggiungere gli obiettivi di resilienza, distribuire più istanze shir in diverse zone o aree di disponibilità, laddove possibile.
Sicurezza
La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.
Questa architettura risolve la sicurezza tramite la configurazione dell'infrastruttura selezionata e i controlli del controllo e del piano dati implementati. Queste scelte di progettazione si basano sul modello Zero Trust e sui principi di accesso con privilegi minimi. I componenti nativi usano i controlli di sicurezza seguenti:
I componenti della soluzione usano identità gestite per l'autenticazione e l'autorizzazione, che consente un controllo degli accessi in base al ruolo coerente.
Key Vault archivia in modo sicuro i segreti e i certificati dell'applicazione.
I ruoli predefiniti specifici del componente consentono un controllo granulare per l'autorizzazione a livello del piano di controllo.
Un set di gruppi di Microsoft Entra specifici del dominio controllano l'accesso ai dati nella soluzione, che riflette il framework di classificazione dei dati di Contoso. I singoli componenti della soluzione usano questi gruppi per applicare controlli a livello di dati. Ad esempio, la maschera dati dinamica di SQL Server e la sicurezza a livello di riga di Power BI supportano entrambi questa progettazione.
Questa progettazione consente di concedere l'accesso a un componente, consentendo al contempo di visualizzare i dati nel componente. Per ottenere l'accesso ai dati, l'utente deve disporre anche dell'accesso ai componenti.
Questa soluzione crea i gruppi, ad esempio finance, a livello di dominio per abilitare il riutilizzo. Il framework di classificazione dei dati limita lo sprawl dei gruppi specifici della soluzione.
Ottimizzazione costi
L'ottimizzazione dei costi consiste nell'esaminare i modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.
Per gestire l'ottimizzazione dei costi, questa architettura:
Collega fortemente la selezione dello SKU dei componenti ai requisiti, che evita la compilazione e verrà antipattern. Questa soluzione pianifica regolarmente revisioni delle metriche per abilitare i diritti e l'uso di Microsoft Copilot in Azure.
Implementa vantaggi pratici per risparmiare sulle spese operative nell'ambito di un quadro operativo finanziario più ampio, ad esempio:
Prenotazioni di Azure per carichi di lavoro stabili e piani di risparmio per carichi di lavoro dinamici, per il termine massimo nella soluzione.
Capacità riservata di Data Factory per i flussi di dati.
Livelli di impegno di Log Analytics.
Dispone di configurazioni dei componenti che supportano il compromesso tra risparmio sui costi e risposta immediata:
Calcolo serverless di Azure Databricks.
Livelli di accesso dell'account di archiviazione, automatizzati tramite la configurazione dei criteri di gestione del ciclo di vita. Non è possibile usare il livello Archivio all'interno di Delta Lake.
Aree di lavoro Log Analytics per la conservazione e l'archiviazione dei dati e Monitoraggio di Azure.
Usa Vantaggio Azure Hybrid per ridurre i costi per le licenze di SQL Server.
Implementa avvisi relativi ai costi e al budget tramite Gestione costi e protezioni di spesa.
Eccellenza operativa
L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e lo mantengono in esecuzione nell'ambiente di produzione. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.
L'eccellenza operativa è abilitata tramite automazione, monitoraggio e controllo in SDLC. Questa soluzione include:
Monitoraggio di Azure e aree di lavoro Log Analytics come componenti di monitoraggio principali.
Strategia di assegnazione di tag che consente la trasparenza tra i componenti della soluzione.
I componenti seguenti per lo sviluppo:
Tutte le distribuzioni di produzione usano Azure DevOps tramite la configurazione come codice, archiviata all'interno di un repository di controllo del codice sorgente, ad esempio Azure Repos o GitHub. Questa configurazione fornisce un audit trail completo della distribuzione e consente metodologie di distribuzione moderne, rollback e ripristino.
I framework di test come PSRule assicurano che le distribuzioni siano allineate alle linee guida di Well-Architected Framework.
Criteri di Azure applica gli standard dell'organizzazione e valuta la conformità su larga scala. Il visualizzatore di governance di Azure offre informazioni dettagliate configurabili e granulari sull'implementazione tecnica.
Monitoraggio
Il monitoraggio è una parte fondamentale di qualsiasi soluzione a livello di produzione. Supportare le soluzioni di Azure con una strategia di monitoraggio come parte della strategia di osservabilità end-to-end.
Azure Databricks offre funzionalità affidabili per il monitoraggio di metriche di applicazioni personalizzate, eventi di query di streaming e messaggi del log applicazioni. Azure Databricks può inviare questi dati di monitoraggio a vari servizi di registrazione. È possibile usare Monitoraggio di Azure per monitorare le pipeline di Data Factory e scrivere log di diagnostica. Monitoraggio di Azure offre log e metriche dell'infrastruttura di livello base per la maggior parte dei servizi di Azure. Per ulteriori informazioni, vedere Monitoraggio di Azure Databricks.
La baseline di avviso consigliata include:
Avvisi sui costi e sul budget per il cluster di calcolo di Azure Databricks, gli shir di Data Factory e SQL Server.
Processi a esecuzione prolungata nella soluzione.
Rifiuto della connessione di SQL Server.
Utilizzo di Power BI e, se applicabile, limitazione della capacità di Power BI Premium.
Aree di lavoro Log Analytics per quando la raccolta dei dati è elevata.
Importante
Creare gruppi di azioni di avviso come risorse globali per garantire la continuità in caso di problemi del servizio a livello di area.
Efficienza delle prestazioni
L'efficienza delle prestazioni è la capacità del carico di lavoro di soddisfare le esigenze poste dagli utenti in modo efficiente. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.
Per soddisfare l'efficienza delle prestazioni, questa architettura ha:
I livelli di servizio standard di varie versioni dei componenti in base ai requisiti. È possibile aumentare le prestazioni di queste risorse su richiesta senza interruzioni nei livelli di servizio. È consigliabile testare rigorosamente la scalabilità automatica prima del rilascio di produzione.
Una baseline di opzioni di calcolo che usano funzionalità native del cloud per supportare la domanda, ad esempio:
Scalabilità automatica di Azure Databricks.
Aumentare e ridurre le prestazioni di SQL Server.
Configurazioni dei processi di Data Factory per prestazioni e scalabilità.
Applicare indicazioni disponibili nelle guide di ottimizzazione seguenti nella soluzione, ad esempio:
Flussi di dati di Data Factory e shir.
Comprendere che le prestazioni della soluzione dati in genere peggiorano nel tempo. Stabilire la capacità di ottimizzazione continua delle prestazioni e condurre revisioni tecniche proattive per garantire che la soluzione rimanga adatta a scopo.
Antipattern
Mentalità locale: i servizi cloud rispondono a vincoli tradizionali, ad esempio tempo di approvvigionamento, funzionalità e capacità. Questi servizi introducono anche la necessità cruciale per la gestione dei costi in tutto il SDLC. Se si ignora questo fattore tra persone, processi e tecnologia, spesso comporta un impatto imprevisto sui costi e sugli stakeholder.
I controlli limite sono la risposta: i servizi cloud, in particolare PaaS, hanno un'identità come controllo primario che deve essere implementato e ben regolato. Anche se i controlli di rete e limite sono importanti, fanno solo parte della soluzione e non la risposta completa.
Impostare e dimenticare: le soluzioni cloud richiedono revisioni regolari per valutare l'utilizzo e le prestazioni correnti. Queste revisioni devono prendere in considerazione eventuali modifiche funzionali e di prezzi in Azure. Senza queste revisioni, il valore e l'efficacia delle soluzioni possono diminuire nel tempo.
Distribuire lo scenario
Per distribuire questa architettura, seguire le istruzioni dettagliate nell'esempio di GitHub.
Per distribuire un shir in una macchina virtuale di Azure, usare il modello di avvio rapido.
Passaggi successivi
- Zone di destinazione di Azure
- Cloud Adoption Framework
- Scegliere tra un piano di risparmio e una prenotazione