Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina fornisce una breve introduzione ad Airflow e DAG e descrive le caratteristiche e le capacità di Cloud Composer.
Per ulteriori informazioni sulle nuove funzionalità delle release di Cloud Composer, consulta Note di rilascio.
Informazioni su Cloud Composer
Cloud Composer è un servizio completamente gestito per l'orchestrazione del flusso di lavoro, che consente di creare, pianificare, monitorare e gestire pipeline di flusso di lavoro distribuite tra cloud e data center on-premise.
Cloud Composer è basato sul famoso progetto open source Apache Airflow e funziona utilizzando il linguaggio di programmazione Python.
Utilizzando Cloud Composer al posto di un'istanza locale di Apache Airflow, puoi trarre vantaggio dal meglio di Airflow senza overhead per installazione o gestione. Cloud Composer consente di creare rapidamente ambienti Airflow gestiti e di utilizzare strumenti nativi di Airflow, come la potente interfaccia web e gli strumenti a riga di comando di Airflow, in modo da poterti concentrare sui flussi di lavoro e non sull'infrastruttura.
Differenze tra le versioni di Cloud Composer
Per ulteriori informazioni sulle differenze tra le versioni principali di Cloud Composer, consulta la panoramica del controllo delle versioni di Cloud Composer.
DAG (flussi di lavoro) Airflow e Airflow
Nell'analisi dei dati, un flusso di lavoro rappresenta una serie di attività per l'importazione, la trasformazione, l'analisi o l'utilizzo dei dati. In Airflow, i flussi di lavoro vengono creati usando i DAG o "Directed Acyclic Graphs".
Un DAG è una raccolta di attività che vuoi pianificare ed eseguire, organizzate in modo da riflettere le loro relazioni e dipendenze. I DAG vengono creati in file Python che definiscono la struttura dei DAG tramite codice. Lo scopo dei DAG è garantire che ogni attività venga eseguita al momento giusto e nell'ordine giusto.
Ogni attività in un DAG può rappresentare quasi tutto, ad esempio un'attività può eseguire una qualsiasi delle seguenti funzioni:
- Preparazione dei dati per l'importazione
- Monitoraggio di un'API
- Invio di un'email in corso...
- 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 saperne di più, consulta Attivazione dei DAG.
Per ulteriori informazioni sui DAG e sulle attività, consulta la documentazione di Apache Airflow.
Ambienti Cloud Composer
Gli ambienti Cloud Composer sono deployment Airflow autonomi basati su Google Kubernetes Engine. Funzionano con altri servizi Google Cloud usando connettori integrati in Airflow. Puoi creare uno o più ambienti in un singolo progetto Google Cloud, in qualsiasi regione supportata.
Cloud Composer esegue il provisioning dei servizi Google Cloud che eseguono i tuoi flussi di lavoro e tutti i componenti Airflow. I componenti principali di un ambiente sono:
Cluster GKE: i componenti di Airflow, come scheduler, triggerer e worker di Airflow, vengono eseguiti come carichi di lavoro 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 Cloud Composer come l'agente Composer e il monitoraggio di Airflow, che aiutano a gestire l'ambiente Cloud Composer, a raccogliere i log da archiviare in Cloud Logging e a raccogliere le metriche da caricare su Cloud Monitoring.
Server web Airflow: il server web esegue la UI di Apache Airflow.
Database Airflow: il database contiene i metadati Apache Airflow.
Bucket Cloud Storage: Cloud Composer 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 relativi all'ambiente. Per ulteriori informazioni sul bucket dell'ambiente, consulta Dati archiviati in Cloud Storage.
Per uno sguardo approfondito sui componenti di un ambiente, consulta Architettura dell'ambiente.
Interfacce di Cloud Composer
Cloud Composer fornisce interfacce per la gestione di ambienti, istanze Airflow in esecuzione all'interno di ambienti e singoli DAG.
Ad esempio, puoi creare e configurare ambienti Cloud Composer nella console Google Cloud, Google Cloud CLI, l'API Cloud Composer o Terraform.
Come ulteriore esempio, puoi gestire i DAG dalla console Google Cloud, dalla UI nativa di Airflow o eseguendo i comandi Google Cloud CLI e Airflow CLI.
Funzionalità di Airflow in Cloud Composer
Quando utilizzi Cloud Composer, puoi gestire e utilizzare le funzionalità di Airflow come:
DAG Airflow: puoi aggiungere, aggiornare, rimuovere o attivare i DAG Airflow nella console Google Cloud o utilizzando la UI nativa di Airflow.
Opzioni di configurazione di Airflow: puoi modificare le opzioni di configurazione di Airflow da valori predefiniti utilizzati da Cloud Composer a valori personalizzati. In Cloud Composer, alcune opzioni di configurazione sono bloccate e non è possibile 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 Cloud Composer.
Dipendenze Python: puoi installare le dipendenze Python dall'indice dei pacchetti Python nel tuo ambiente o da un repository di pacchetti privato, inclusi i repository Artifact Registry. Se le dipendenze non sono presenti nell'indice dei pacchetti, puoi utilizzare anche i plug-in.
Logging e monitoraggio per DAG, componenti Airflow e ambienti Cloud Composer:
Puoi visualizzare i log di Airflow associati a singole attività DAG nell'interfaccia web di Airflow e nella cartella
logs
nel bucket dell'ambiente.Log di Cloud Monitoring e metriche di ambiente per gli ambienti Cloud Composer.
Controllo dell'accesso in Cloud Composer
Puoi gestire la sicurezza a livello di progetto Google Cloud e assegnare ruoli IAM che consentono ai singoli utenti di modificare o creare ambienti. Se un utente non ha accesso al tuo progetto o non ha un ruolo IAM di Cloud Composer appropriato, non potrà accedere a nessuno dei tuoi ambienti.
Oltre a IAM, puoi utilizzare il controllo dell'accesso all'UI di Airflow, che si basa sul modello di controllo degli accessi di Apache Airflow.
Per ulteriori informazioni sulle funzionalità di sicurezza in Cloud Composer, consulta la panoramica sulla sicurezza di Cloud Composer.
Networking dell'ambiente
Cloud Composer supporta diverse configurazioni di networking per gli ambienti, 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 Cloud Composer, consulta le pagine per le singole funzionalità di networking:
- Ambienti con IP pubblico e IP privato
- Connessione di un ambiente alla rete VPC
- Ambienti VPC condivisi
- Configurazione dei Controlli di servizio VPC
Altre funzionalità di Cloud Composer
Altre funzionalità di Cloud Composer includono:
- Ambienti con scalabilità automatica
- Sviluppo con ambienti Airflow locali
- Ambienti altamente resilienti
- Snapshot di ambiente
- Crittografia con chiavi di crittografia gestite dal cliente (CMEK)
- Integrazione della derivazione dei dati con Dataplex
Domande frequenti
Quale versione di Apache Airflow utilizza Cloud Composer?
Gli ambienti Cloud Composer si basano su immagini Cloud Composer. Quando crei un ambiente, puoi selezionare un'immagine con una versione Airflow specifica:
- Cloud Composer 3 supporta Airflow 2.
- Cloud Composer 2 supporta Airflow 2.
- Cloud Composer 1 supporta Airflow 1 e Airflow 2.
Hai il controllo della versione Apache Airflow del tuo ambiente. Puoi decidere di eseguire l'upgrade dell'ambiente a una versione successiva dell'immagine Cloud Composer. Ogni release di Cloud Composer 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. Ognuno dei tuoi ambienti ha la propria UI di Airflow. Per saperne di più sull'accesso alla UI 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 ulteriori informazioni sull'esecuzione dei comandi dell'interfaccia a riga di comando di Airflow in ambienti Cloud Composer, consulta Interfaccia a riga di comando di Airflow.
Posso utilizzare il mio database come database Airflow?
Cloud Composer utilizza un servizio di database gestito per il database Airflow. Non è possibile usare un database fornito dall'utente come database Airflow.
Posso utilizzare il mio cluster come cluster Cloud Composer?
Cloud Composer 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 Cloud Composer.
Non è possibile creare un ambiente Cloud Composer basato su un cluster Google Kubernetes Engine autogestito.
Posso utilizzare il mio Container Registry?
Cloud Composer usa il servizio Artifact Registry per gestire i repository di immagini container utilizzati dagli ambienti Cloud Composer. Non è possibile sostituirlo con un Container Registry fornito dall'utente.
Gli ambienti Cloud Composer sono a livello di zona o di regione?
Gli ambienti Cloud Composer 3 e Cloud Composer 2 dispongono di un database Airflow a livello di zona e di un livello di pianificazione ed esecuzione di Airflow a livello di regione. Gli scheduler, i worker e i server web di Airflow vengono eseguiti nel livello di esecuzione di Airflow.
Gli ambienti Cloud Composer 1 sono a livello di zona.