Panoramica di Managed Airflow

Managed Airflow (3ª gen.) | Managed Airflow (2ª gen.) | Managed Airflow (legacy 1ª gen.)

Questa pagina fornisce una breve introduzione ad Airflow e ai DAG e descrive le funzionalità di Managed Airflow.

Per saperne di più sulle nuove funzionalità delle release di Managed Airflow, consulta le note di rilascio.

Informazioni su Managed Airflow

Managed Airflow è un servizio di orchestrazione del workflow completamente gestito che consente di creare, pianificare, monitorare e gestire pipeline di workflow che si estendono su cloud e data center on-premise.

Managed Airflow si basa sul popolare progetto open source Apache Airflow e funziona utilizzando il linguaggio di programmazione Python.

Utilizzando Managed Airflow anziché un'istanza locale di Apache Airflow, puoi sfruttare il meglio di Airflow senza overhead 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 workflow e non sull'infrastruttura.

Differenze tra le versioni di Managed Airflow

Per saperne di più 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 Airflow (flussi di lavoro)

Nell'analisi dei dati, un workflow rappresenta una serie di attività per l'importazione, la trasformazione, l'analisi o l'utilizzo dei dati. In Airflow, i workflow vengono creati utilizzando i DAG o "grafi diretti aciclici".

Relazione tra DAG e attività
Figura 1. Relazione tra DAG e attività

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 tutto. Ad esempio, un'attività potrebbe eseguire una delle seguenti funzioni:

  • Preparazione dei dati per l'importazione
  • Monitoraggio di un'API
  • Sto inviando 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, come le modifiche in un bucket Cloud Storage. Per saperne di più, consulta Pianifica e attiva i DAG.

Per saperne di più 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 servizi Google Cloud utilizzando connettori integrati in Airflow. Puoi creare uno o più ambienti in un singolo progetto Google Cloud, in qualsiasi regione supportata.

Managed Airflow esegue il provisioning dei servizi Google Cloud che eseguono i tuoi workflow e tutti i componenti Airflow. I componenti principali di un ambiente sono:

  • Cluster GKE: i componenti Airflow, come gli scheduler, i trigger e i worker 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 di Managed Airflow come Composer Agent e Airflow Monitoring, che aiutano a gestire l'ambiente Managed Airflow, raccogliere i log da archiviare in Cloud Logging e raccogliere le metriche da caricare su Cloud Monitoring.

  • Server web Airflow: il server web esegue l'interfaccia utente 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 saperne di più 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 all'interno degli ambienti e dei singoli DAG.

Ad esempio, puoi creare e configurare ambienti Managed Airflow nella console Google Cloud , in Google Cloud CLI, nell'API Cloud Composer o in Terraform.

Come altro esempio, puoi gestire i DAG dalla consoleGoogle Cloud , dall'interfaccia utente Airflow nativa o eseguendo Google Cloud CLI e i comandi dell'interfaccia a riga di comando Airflow.

Funzionalità di Airflow in Managed Airflow

Quando utilizzi Managed Airflow, puoi gestire e utilizzare le funzionalità di Airflow, ad esempio:

Controllo degli accessi in Managed Airflow

Puoi gestire la sicurezza a livello di progetto Google Cloud e puoi assegnare ruoli IAM che consentono ai singoli utenti di modificare o creare ambienti. Se un utente non ha accesso al tuo progetto o non dispone di un ruolo IAM Managed Airflow appropriato, non può accedere a nessuno dei tuoi ambienti.

Oltre a IAM, puoi utilizzare il controllo dell'accesso all'interfaccia utente di Airflow, basato sul modello di controllo dell'accesso di Apache Airflow.

Per saperne di più sulle funzionalità di sicurezza in Managed Airflow, consulta la panoramica della 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 con IP privato, i DAG e i componenti Airflow sono completamente isolati dalla rete internet pubblica.

Per saperne di più sul networking in Managed Airflow, consulta le pagine relative alle singole funzionalità di networking:

Altre funzionalità di Managed Airflow

Altre funzionalità di Managed Airflow includono:

Domande frequenti

Quale versione di Apache Airflow utilizza Managed Airflow?

Gli ambienti Managed Airflow si basano 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 e Airflow 3.
  • Managed Airflow (2ª gen.) supporta Airflow 2.
  • Managed Airflow (Legacy Gen 1) 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 dell'immagine Managed Airflow. Ogni release di Managed Airflow supporta diverse versioni di Apache Airflow.

Posso utilizzare l'interfaccia utente e l'interfaccia a riga di comando native di Airflow?

Puoi accedere all'interfaccia web di Apache Airflow del tuo ambiente. Ogni ambiente ha la propria UI di Airflow. Per saperne di più sull'accesso all'interfaccia utente di 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 saperne di più 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 container registry?

Managed Airflow utilizza il servizio Artifact Registry per gestire i repository di immagini container utilizzati dagli ambienti Managed Airflow. Non è possibile sostituirlo con un container registry fornito dall'utente.

Gli ambienti Managed Airflow sono a livello di zona o di regione?

Quando crei un ambiente, specifichi una regione:

  • Gli ambienti Managed Airflow standard hanno un database Airflow 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 altamente resilienti (ad alta affidabilità) hanno un database Airflow multizona e un livello di esecuzione Airflow multizona. Un ambiente ad alta 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 in standby distribuite tra le zone nella regione selezionata.

Passaggi successivi