Condividi tramite


Panoramica delle configurazioni di Azure Databricks

Azure Databricks è una piattaforma basata su cloud che combina le migliori funzionalità di collegare 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 anche uno spazio di lavoro collaborativo in cui data scientist e ingegneri possono lavorare insieme su progetti di apprendimento automatico e di intelligenza artificiale.

Se lavori nel settore pubblico o governativo, questa documentazione di riferimento sull'architettura fornisce una guida critica per l'utilizzo di Azure Databricks con una distribuzione Sovereign Landing Zone o 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 ha un ricco set di funzionalità, ma per questa architettura di riferimento ci concentreremo sui suoi elementi infrastrutturali. Azure Databricks offre:

  • Quaderni interattivi: utilizza i quaderni per scrivere codice in Python, Scala, SQL o R e visualizza 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 di ingegneria dei dati, scienza dei dati e analisi dei dati. Queste opzioni includono elaborazione serverless scalabile e on-demand per notebook e processi, elaborazione provisioned 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 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 Microsoft Entra ID, Azure Key Vault e Azure Private collegare per la protezione dell'identità e dei dati.

  • 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.

Screenshot dell'architettura Databricks di alto livello.

Piano di controllo

Il piano di controllo è layer di Azure Databricks che gestisce il ciclo di vita dei cluster e dei job, nonché l'autenticazione e l'autorizzazione degli utenti e l'accesso ai dati. Il piano di controllo include i servizi backend 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 un abbonamento 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 il calcolo senza server per eseguire comandi SQL nei notebook o per eseguire lavori leggeri. Nel piano di elaborazione senza server, le risorse vengono eseguite in un'elaborazione layer all'interno dell'account Databricks Azure.

Azure Databricks crea un piano di calcolo senza server nella stessa regione Azure del piano di calcolo classico della tua 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).

L'immagine mostra il piano di elaborazione senza server.

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 warehouse SQL serverless non utilizza la connettività back-end Azure privata configurabile dal cliente. Il piano di controllo Databricks Azure si connette al piano di elaborazione 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 senza server, ma il carico di lavoro è protetto da più livelli di isolamento, come mostrato nel diagramma di isolamento dell'elaborazione senza server Azure.

Per ulteriori informazioni, vedere 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 nel tuo abbonamento Azure. Le nuove risorse di elaborazione vengono create e configurate all'interno della rete virtuale di ogni area di lavoro nel tuo abbonamento 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.

Azure Gli amministratori di Databricks possono utilizzare i criteri dei cluster per controllare molti aspetti dei cluster, inclusi i tipi di istanze disponibili, le versioni di Databricks e le dimensioni delle istanze.

L'iniezione di rete virtuale di Databricks è una funzionalità che consente di distribuire le risorse del piano di elaborazione classico di Databricks Azure nella propria rete virtuale. Questa funzionalità ti aiuta a trasferire i dati Connetti Azure da Databricks ad altri servizi Azure in modo più sicuro utilizzando endpoint di servizio o endpoint privati. Puoi anche utilizzare il peering di rete virtuale per collegare la rete virtuale su cui è in esecuzione il tuo spazio di lavoro Databricks Azure con un'altra rete virtuale Azure.