Panoramica delle configurazioni di Azure Databricks
Azure Databricks è una piattaforma basata sul cloud che combina le migliori funzionalità di ingegneria dei dati e della scienza dei dati. Consente di creare, gestire e analizzare pipeline di dati utilizzando Apache Spark, un framework open source veloce e scalabile per l'elaborazione di big data. Azure Databricks fornisce inoltre uno spazio di lavoro collaborativo in cui data scientist e ingegneri possono collaborare a progetti di intelligenza artificiale e apprendimento automatico.
Se lavori nel settore pubblico o della pubblica amministrazione, questa documentazione di riferimento sull'architettura fornisce indicazioni specifiche per l'utilizzo di Azure Databricks con una Sovereign Landing Zone o una distribuzione di Azure Landing Zone con iniziative di policy di base sulla sovranità applicate.
La documentazione del prodotto Azure Databricks offre informazioni dettagliate su vari articoli. Questo documento integra la documentazione fornendo consigli mirati su concetti e opzioni chiave per la configurazione di un Azure Databricks ambiente.
Caratteristiche principali di Azure Databricks
Azure Databricks offre un ampio set di funzionalità, ma per questa architettura di riferimento ci concentreremo sugli elementi infrastrutturali. Azure Databricks offre:
Quaderni interattivi: utilizza i quaderni per scrivere codice in Python, Scala, SQL o R e visualizzare i risultati con diagrammi e grafici. Condividi e commenta i notebook con i membri del team e integrali con strumenti popolari come GitHub e Azure DevOps.
Opzioni di elaborazione: Azure Databricks offre varie opzioni di elaborazione per supportare carichi di lavoro ingegneria dei dati, data science e analisi dei dati. Queste opzioni includono elaborazione serverless scalabile e on-demand per notebook e processi, elaborazione provisioning per analisi generiche e processi automatizzati e warehouse SQL per l'esecuzione di comandi SQL. I pool di istanze offrono istanze inattive e pronte all'uso per ridurre i tempi di avvio e di ridimensionamento automatico, migliorando l'efficienza in diversi scenari di elaborazione dei dati.
Integrazione dei dati: Connetti facilmente verso varie origini e destinazioni dati, come Azure Blob Storage, Azure Data Lake Storage, Azure SQL Database, Azure Synapse Analytics, Azure Cosmos DB e altro ancora. Utilizza Delta Lake, una soluzione data lake affidabile e performante che supporta transazioni ACID e applicazione di schemi.
apprendimento automatico: crea, addestra e distribuisci modelli apprendimento automatico utilizzando framework popolari come TensorFlow, PyTorch, Scikit-learn e XGBoost. Utilizza MLflow, una piattaforma open source per la gestione del ciclo di vita apprendimento automatico, per monitorare gli esperimenti, registrare le metriche e distribuire i modelli.
Sicurezza aziendale: accedi ed elabora i tuoi dati in modo sicuro, con funzionalità quali controllo degli accessi basato sui ruoli, crittografia, auditing e conformità. Integra Azure Databricks con ID, Azure Key Vault e Azure Private collegare per la protezione dei dati e dell'identità. Microsoft Entra
Governance e condivisione dei dati: Unity Catalog semplifica la condivisione dei dati all'interno delle organizzazioni e l'analisi sicura nel cloud fornendo una versione gestita di Delta Sharing per la condivisione esterna e un modello di governance dei dati unificato per i dati lakehouse.
Architettura Databricks di alto livello
Azure Databricks opera su un piano di controllo e un piano di calcolo. L'architettura di riferimento consiglia opzioni di configurazione in ciascuno di questi piani di controllo. Il diagramma seguente descrive l'architettura complessiva di Azure Databricks.
Piano di controllo
Il piano di controllo è layer di Azure Databricks che gestisce il ciclo di vita dei cluster e dei processi, nonché l'autenticazione e l'autorizzazione degli utenti e l'accesso ai dati. Il piano di controllo include i servizi back-end gestiti da Azure Databricks nel tuo account Azure Databricks. L'applicazione web si trova nel piano di controllo.
Il piano di controllo viene eseguito in una sottoscrizione Azure di proprietà di Azure Databricks e comunica con i piani di calcolo classici e serverless tramite API sicure. Il piano di controllo fornisce anche l'interfaccia Web e le API REST affinché gli utenti possano interagire con Azure Databricks.
Calcola il piano
Il piano di calcolo è il luogo in cui vengono elaborati i dati. Esistono due tipi di piani di elaborazione: serverless e classico. Il piano di elaborazione serverless offre risorse istantanee ed elastiche, mentre il piano di elaborazione classico si basa su un'infrastruttura pre-provisioning.
Piano di elaborazione senza server
Il calcolo senza server è ideale per query ad hoc, notebook e carichi di lavoro di breve durata. Ad esempio, è possibile utilizzare l'elaborazione senza server per eseguire comandi SQL nei notebook o eseguire lavori leggeri. Nel piano di calcolo senza server, le risorse vengono eseguite in un layer di calcolo all'interno dell'account Azure Databricks.
Azure Databricks crea un piano di calcolo senza server nella stessa area di Azure del piano di calcolo classico dell'area di lavoro. Gestisce un pool di server, ubicati nell'account di Databricks, sui quali vengono eseguiti contenitori Kubernetes che possono essere assegnati a un utente in pochi secondi. Per ulteriori informazioni, vedere Annuncio di Databricks Serverless SQL: piattaforma istantanea, gestita, protetta e pronta per la produzione per carichi di lavoro SQL - Il blog di Databricks.
La piattaforma di elaborazione espande rapidamente il cluster con più server quando gli utenti eseguono report o query contemporaneamente per gestire il carico simultaneo. Databricks gestisce l'intera configurazione del server ed esegue automaticamente le patch e gli aggiornamenti necessari. L'elaborazione senza server viene fatturata in base all'utilizzo (ad esempio, in base all'esecuzione di query o di processi).
Ogni server esegue una configurazione sicura e tutta l'elaborazione è protetta da tre livelli di isolamento: il contenitore Kubernetes che ospita il runtime, la macchina virtuale che ospita il contenitore e la rete virtuale per l'area di lavoro. Ogni layer è isolato in un'area di lavoro senza condivisione o traffico tra reti consentito.
I contenitori utilizzano configurazioni rafforzate, le VM vengono arrestate e non riutilizzate e il traffico di rete è limitato ai nodi nello stesso cluster. Tutti i dati elaborati sono effimeri, dedicati esclusivamente a quel carico di lavoro e cancellati in modo sicuro una volta completato il carico di lavoro.
Tutto il traffico tra te, il piano di controllo, il piano di elaborazione e i servizi cloud viene instradato sulla rete globale di Azure, non sulla rete Internet pubblica. Il piano di elaborazione serverless per i data warehouse SQL serverless non utilizza la connettività back-end Azure Private collegare configurabile dal cliente. Il piano di controllo di Azure Databricks si connette al piano di calcolo serverless tramite mTLS, con accesso IP consentito solo per l'indirizzo IP del piano di controllo.
Tutto lo storage collegato è protetto dalla crittografia AES-256 standard del settore e tutto il traffico tra l'utente, il piano di controllo, il piano di elaborazione e i servizi cloud è crittografato almeno con TLS 1.2. I warehouse SQL senza server non utilizzano chiavi gestite dal cliente per i dischi gestiti.
I carichi di lavoro non dispongono di privilegi o credenziali per i sistemi esterni all'ambito di quel carico di lavoro e l'accesso ai dati avviene tramite token di breve durata (un'ora). Questi token vengono trasmessi in modo sicuro a ciascun carico di lavoro specifico.
A partire da giugno 2024, Azure Confidential Computing non è supportato per l'elaborazione serverless, ma il carico di lavoro è protetto da più livelli di isolamento, come mostrato nel diagramma di isolamento dell'elaborazione serverless di Azure.
Per ulteriori informazioni, consulta Distribuisci i tuoi carichi di lavoro in modo sicuro su serverless computing.
Piano di calcolo classico
Il piano di calcolo classico è adatto per lavori di lunga durata, carichi di lavoro di produzione ed esigenze di risorse costanti. Ad esempio, è possibile utilizzare il calcolo fornito per pipeline ETL, training apprendimento automatico e attività ingegneria dei dati.
Un piano di calcolo classico presenta un isolamento naturale perché viene eseguito nella tua sottoscrizione Azure. Le nuove risorse di elaborazione vengono create e configurate all'interno della rete virtuale di ogni area di lavoro nella sottoscrizione di Azure. Le risorse di elaborazione rimangono costanti finché non vengono modificate esplicitamente e vengono fatturate in base al tipo di istanza e alla durata. I cluster possono utilizzare chiavi gestite dal cliente per i dischi gestiti e sono supportate le istanze spot.
Gli amministratori di Azure Databricks possono utilizzare i criteri del cluster per controllare molti aspetti dei cluster, tra cui i tipi di istanze disponibili, le versioni di Databricks e le dimensioni delle istanze.
L'iniezione nella rete virtuale di Databricks è una funzionalità che consente di distribuire le risorse del piano di calcolo classico di Azure Databricks nella propria rete virtuale. Questa funzionalità consente di Connetti Azure Databricks ad altri servizi di Azure in modo più sicuro utilizzando endpoint di servizio o endpoint privati. È anche possibile utilizzare il peering di rete virtuale per collegare la rete virtuale in cui è in esecuzione l'area di lavoro di Azure Databricks con un'altra rete virtuale di Azure.