Scegliere Workflows o Cloud Composer per l'orchestrazione dei servizi

Sia i workflow sia Cloud Composer possono essere utilizzati per l'orchestrazione dei servizi al fine di combinare i servizi per implementare la funzionalità dell'applicazione o eseguire l'elaborazione dei dati. Sebbene concettualmente simili, ognuno è progettato per un insieme diverso di casi d'uso. Questa pagina ti aiuta a scegliere il prodotto giusto per il tuo caso d'uso.

Differenze principali

La differenza principale tra Workflows e Cloud Composer è il tipo di architettura che ciascun prodotto è progettato per supportare.

Workflows orchestra più servizi basati su HTTP in un flusso di lavoro duraturo e con stato. Ha una bassa latenza e può gestire un numero elevato di esecuzioni. Inoltre, è completamente serverless.

I flussi di lavoro sono ideali per collegare microservizi, automatizzare attività di infrastruttura come l'avvio o l'arresto di una VM e integrare con sistemi esterni. I connettori di Workflows supportano anche sequenze semplici di operazioni in Google Cloud servizi come Cloud Storage e BigQuery.

Cloud Composer è progettato per orchestrare i flussi di lavoro basati sui dati (in particolare ETL/ELT). È basato sul progetto Apache Airflow, ma Cloud Composer è completamente gestito. Cloud Composer supporta le tue pipeline ovunque si trovino, anche on-premise o su più piattaforme cloud. Tutta la logica di Cloud Composer, incluse le attività e la pianificazione, viene espressa in Python come file di definizione di grafici diretti aciclici (DAG).

Cloud Composer è ideale per i carichi di lavoro batch che possono gestire alcuni secondi di latenza tra le esecuzioni delle attività. Puoi utilizzare Cloud Composer per orchestrare i servizi nelle pipeline di dati, ad esempio attivare un job in BigQuery o avviare una pipeline Dataflow. Puoi utilizzare gli operatori preesistenti per comunicare con vari servizi e sono disponibili oltre 150 operatori solo per Google Cloud .

Confronto dettagliato delle funzionalità

Funzionalità Workflow Cloud Composer
Sintassi Sintassi di Workflows in formato YAML o JSON Python
Modello di stato Controllo del flusso imperativo DAG dichiarativo con risoluzione automatica delle dipendenze
Integrazioni Richieste HTTP e connettori Operatori e sensori di Airflow
Trasferimento di dati tra i vari passaggi 512 KB per le variabili 48 KB1 per XCom
Trigger di esecuzione e pianificazione Interfaccia a riga di comando gcloud, console Google Cloud, API Workflows, librerie client Workflows, Cloud Scheduler Pianificazioni simili a cron nel file di definizione del DAG, Sensori Airflow
Pattern asincroni
  • Sondaggi
  • Richiami
  • In attesa di operazioni Google Cloud a lunga esecuzione
Sondaggi
Esecuzione parallela Esecuzioni simultanee dello stesso flusso di lavoro o all'interno di un flusso di lavoro utilizzando passaggi paralleli Automatica in base alle dipendenze
Latenza di esecuzione Millisecondi Secondi
Basato su open source No Sì (Apache Airflow)
Modello di scalabilità Serverless (scala in base alla domanda e si riduce a zero) Provisioning effettuato
Modello di fatturazione In base all'utilizzo (per passaggio eseguito) In base alla capacità sottoposta a provisioning
Funzionalità di elaborazione dei dati No Backfill, possibilità di rieseguire i DAG

  1. Codice sorgente per airflow.models.xcom. Documentazione di Apache Airflow. 2 agosto 2021.