Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Gen 1 legacy)
Questa pagina fornisce una breve introduzione ad Airflow e ai DAG e descrive le funzionalità e le capacità di Managed Airflow.
Per ulteriori informazioni sulle nuove funzionalità delle release di Managed Airflow, consulta le note di rilascio.
Informazioni su Managed Airflow
Managed Airflow è un servizio di orchestrazione del flusso di lavoro completamente gestito che consente di creare, pianificare, monitorare e gestire pipeline di flusso di lavoro su cloud e in data center on-premise.
Managed Airflow è basato sul noto progetto open source Apache Airflow e funziona utilizzando il linguaggio di programmazione Python.
Se utilizzi Managed Airflow anziché un'istanza locale di Apache Airflow, puoi usufruire del meglio di Airflow senza costi di installazione o gestione. Managed Airflow ti consente di creare rapidamente ambienti Airflow gestiti e di utilizzare strumenti nativi per Airflow, come la sua potente interfaccia web e i suoi strumenti a riga di comando, per concentrarti sui flussi di lavoro e non sull'infrastruttura.
Differenze tra le versioni di Managed Airflow
Per ulteriori informazioni sulle differenze tra le versioni principali di Managed Airflow, consulta la panoramica del controllo delle versioni di Managed Service for Apache Airflow.
Airflow e DAG di Airflow (flussi di lavoro)
Nell'analisi dei dati, un flusso di lavoro rappresenta una serie di attività per l'acquisizione, la trasformazione, l'analisi o l'utilizzo dei dati. In Airflow, i flussi di lavoro vengono creati utilizzando i DAG o "grafi aciclici orientati".
Un DAG è una raccolta di attività che vuoi pianificare ed eseguire, organizzate in modo da riflettere le rispettive relazioni e dipendenze. I DAG vengono creati in file Python, che definiscono la struttura del DAG utilizzando il codice. Lo scopo del DAG è garantire che ogni attività venga eseguita al momento giusto e nell'ordine corretto.
Ogni attività in un DAG può rappresentare quasi qualsiasi cosa. Ad esempio, un'attività potrebbe eseguire una delle seguenti funzioni:
- Preparazione dei dati per l'acquisizione
- Monitoraggio di un'API
- Invio di un'email
- Esecuzione di una pipeline
Oltre a eseguire un DAG in base a una pianificazione, puoi attivare i DAG manualmente o in risposta a eventi, ad esempio modifiche in un bucket Cloud Storage. Per ulteriori informazioni, consulta Pianificare e attivare i DAG.
Per ulteriori informazioni su DAG e attività, consulta la documentazione di Apache Airflow.
Ambienti Managed Airflow
Gli ambienti Managed Airflow sono deployment Airflow autonomi basati su Google Kubernetes Engine. Funzionano con altri Google Cloud servizi utilizzando connettori integrati in Airflow. Puoi creare uno o più ambienti in un singolo Google Cloud progetto, in qualsiasi regione supportata.
Managed Airflow esegue il provisioning dei servizi che eseguono i flussi di lavoro e tutti i componenti Airflow. Google Cloud I componenti principali di un ambiente sono:
Cluster GKE: i componenti Airflow come gli scheduler, gli attivatori e i worker di Airflow vengono eseguiti come workload GKE in un singolo cluster creato per il tuo ambiente e sono responsabili dell' elaborazione e dell'esecuzione dei DAG.
Il cluster ospita anche altri componenti Managed Airflow come Composer Agent e Airflow Monitoring, che aiutano a gestire l'ambiente Managed Airflow , a raccogliere i log da archiviare in Cloud Logging e a raccogliere le metriche da caricare in Cloud Monitoring.
Server web Airflow: il server web esegue la UI di Apache Airflow.
Database Airflow: il database contiene i metadati di Apache Airflow.
Bucket Cloud Storage: Managed Airflow associa un bucket Cloud Storage al tuo ambiente. Questo bucket, chiamato anche bucket dell'ambiente, archivia i DAG, i log, i plug-in personalizzati e i dati per l'ambiente. Per ulteriori informazioni sul bucket dell'ambiente, consulta Dati archiviati in Cloud Storage.
Per un'analisi approfondita dei componenti di un ambiente, consulta Architettura dell'ambiente.
Interfacce di Managed Airflow
Managed Airflow fornisce interfacce per la gestione degli ambienti, delle istanze Airflow eseguite negli ambienti e dei singoli DAG.
Ad esempio, puoi creare e configurare ambienti Managed Airflow in Google Cloud console, Google Cloud CLI, API Composer, o Terraform.
Inoltre, puoi gestire i DAG dalla Google Cloud console, UI Airflow nativa, o eseguendo i comandi Google Cloud CLI e Airflow CLI.
Funzionalità di Airflow in Managed Airflow
Quando utilizzi Managed Airflow, puoi gestire e utilizzare le funzionalità di Airflow come:
DAG di Airflow: puoi aggiungere, aggiornare, rimuovere o attivare i DAG di Airflow in Google Cloud console o utilizzando la UI Airflow nativa.
Opzioni di configurazione di Airflow: puoi modificare le opzioni di configurazione di Airflow dai valori predefiniti utilizzati da Managed Airflow ai valori personalizzati. In Managed Airflow, alcune opzioni di configurazione sono bloccate e non puoi modificarne i valori.
Plug-in personalizzati: puoi installare plug-in Airflow personalizzati, come operatori, hook, sensori o interfacce Apache Airflow personalizzati e interni, nel tuo ambiente Managed Airflow.
Dipendenze Python: puoi installare le dipendenze Python dall'indice dei pacchetti Python nel tuo ambiente o da un repository di pacchetti privati, inclusi i repository di Artifact Registry. Se le dipendenze non sono nell'indice dei pacchetti, puoi utilizzare anche i plug-in.
Logging e monitoraggio per DAG, componenti Airflow e ambienti Managed Airflow:
Puoi visualizzare i log di Airflow associati alle singole attività DAG nell'interfaccia web di Airflow e nella cartella
logsnel bucket dell'ambiente.Log e metriche dell'ambiente Cloud Monitoring per gli ambienti Managed Airflow.
Controllo dell'accesso in Managed Airflow
Gestisci la sicurezza al livello del Google Cloud progetto e puoi assegnare ruoli IAM che consentono ai singoli utenti di modificare o creare ambienti. Se una persona non ha accesso al tuo progetto o non ha un ruolo IAM Managed Airflow appropriato, non può accedere a nessuno dei tuoi ambienti.
Oltre a IAM, puoi utilizzare il controllo dell'accesso alla UI Airflow, basato sul modello di controllo dell'accesso di Apache Airflow.
Per ulteriori informazioni sulle funzionalità di sicurezza in Managed Airflow, consulta la panoramica sulla sicurezza di Managed Airflow.
Networking dell'ambiente
Managed Airflow supporta diverse configurazioni di rete per gli ambienti, con molte opzioni di configurazione. Ad esempio, in un ambiente IP privato, i DAG e i componenti Airflow sono completamente isolati dalla rete internet pubblica.
Per ulteriori informazioni sul networking in Managed Airflow, consulta le pagine relative alle singole funzionalità di networking:
- Ambienti IP pubblico e IP privato
- Connessione di un ambiente alla rete VPC
- Ambienti VPC condiviso
- Configurazione dei Controlli di servizio VPC
Altre funzionalità di Managed Airflow
Altre funzionalità di Managed Airflow includono:
- Ambienti con scalabilità automatica
- Sviluppo con ambienti Airflow locali
- Ambienti a elevata resilienza
- Snapshot dell'ambiente
- Integrazione della derivazione dei dati con Knowledge Catalog
- Crittografia con chiavi di crittografia gestite dal cliente (CMEK)
Domande frequenti
Quale versione di Apache Airflow utilizza Managed Airflow?
Gli ambienti Managed Airflow sono basati su immagini Managed Airflow. Quando crei un ambiente, puoi selezionare un'immagine con una versione specifica di Airflow:
- Managed Airflow (Gen 3) supporta Airflow 2.
- Managed Airflow (Gen 2) supporta Airflow 2.
- Managed Airflow (Gen 1 legacy) supporta Airflow 1 e Airflow 2.
Hai il controllo della versione di Apache Airflow del tuo ambiente. Puoi decidere di eseguire l'upgrade dell'ambiente a una versione successiva di immagine Managed Airflow. Ogni release di Managed Airflow supporta diverse versioni di Apache Airflow.
Posso utilizzare la UI e l'interfaccia a riga di comando di Airflow native?
Puoi accedere all'interfaccia web di Apache Airflow del tuo ambiente. Ogni ambiente ha la propria UI Airflow. Per ulteriori informazioni sull'accesso alla UI Airflow, consulta Interfaccia web di Airflow.
Per eseguire i comandi dell'interfaccia a riga di comando di Airflow nei tuoi ambienti, utilizza i comandi gcloud.
Per ulteriori informazioni sull'esecuzione dei comandi dell'interfaccia a riga di comando di Airflow negli ambienti
Managed Airflow, consulta
Interfaccia a riga di comando di Airflow.
Posso utilizzare il mio database come database Airflow?
Managed Airflow utilizza un servizio di database gestito per il database Airflow. Non è possibile utilizzare un database fornito dall'utente come database Airflow.
Posso utilizzare il mio cluster come cluster Managed Airflow?
Managed Airflow utilizza il servizio Google Kubernetes Engine per creare, gestire ed eliminare i cluster di ambiente in cui vengono eseguiti i componenti Airflow. Questi cluster sono completamente gestiti da Managed Airflow.
Non è possibile creare un ambiente Managed Airflow basato su un cluster Google Kubernetes Engine autogestito.
Posso utilizzare il mio registro container?
Managed Airflow utilizza il servizio Artifact Registry per gestire i repository di immagini container utilizzati dagli ambienti Managed Airflow. Non è possibile sostituirlo con un registro container fornito dall'utente.
Gli ambienti Managed Airflow sono a livello di zona o di regione?
Quando crei un ambiente, devi specificare una regione:
- Gli ambienti Managed Airflow standard hanno un database Airflow a livello di zona e un livello di esecuzione Airflow multizona. Il database Airflow si trova in una delle zone della regione specificata e i componenti Airflow sono distribuiti tra diverse zone.
- Gli ambienti Managed Airflow a elevata resilienza (a elevata disponibilità) hanno un database Airflow multizona e un livello di esecuzione Airflow multizona. Un ambiente a elevata resilienza viene eseguito in almeno due zone della regione selezionata. Managed Airflow distribuisce automaticamente i componenti dell'ambiente tra le zone. Il componente Cloud SQL che archivia il database Airflow ha un'istanza principale e un' istanza di standby distribuite tra le zone della regione selezionata.