Scegli Workflows o Cloud Composer per l'orchestrazione dei servizi

Sia Workflows che Cloud Composer possono essere utilizzati per l'orchestrazione dei servizi in modo da combinare i servizi al fine di implementare le funzionalità dell'applicazione o eseguire l'elaborazione dei dati. Sebbene siano concettualmente simili, ognuna è progettata 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 per cui ciascun prodotto è progettato.

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

Workflows è ottimo per concatenare i microservizi, automatizzare le attività dell'infrastruttura come l'avvio o l'arresto di una VM e l'integrazione con sistemi esterni. I connettori Workflows supportano anche semplici sequenze di operazioni nei servizi Google Cloud 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, on-premise o su più piattaforme cloud. Tutta la logica in Cloud Composer, incluse attività e pianificazione, è espressa in Python come file di definizione del grafo diretto aciclico (DAG).

Cloud Composer è la soluzione migliore per carichi di lavoro batch in grado di gestire pochi secondi di latenza tra le esecuzioni delle attività. Puoi utilizzare Cloud Composer per orchestrare i servizi nelle tue pipeline di dati, ad esempio per attivare un job in BigQuery o avviare una pipeline Dataflow. Puoi utilizzare operatori preesistenti per comunicare con vari servizi e ci sono oltre 150 operatori solo per Google Cloud.

Confronto dettagliato delle funzionalità

Selezione delle Workflows Cloud Composer
Sintassi Sintassi di Workflows in formato YAML o JSON Python
Modello statale Controllo del flusso imperativo DAG dichiarativa con risoluzione automatica delle dipendenze
Integrazioni Richieste HTTP e connectors Operatori e sensori Airflow
Passaggio dei dati tra i passaggi 512 kB per le variabili 48 kB1 per XCom
Trigger di esecuzione e pianificazione gcloud CLI, console Google Cloud, API Workflows, librerie client di Workflows, Cloud Scheduler Pianificazioni di tipo cronologico nel file di definizione dei DAG, Airflow Sensors
Pattern asincroni
  • Sondaggi
  • Richiamati
  • In attesa di operazioni Google Cloud a lunga esecuzione
Sondaggi
Esecuzione in parallelo Esecuzioni simultanee dello stesso flusso di lavoro o all'interno di un flusso di lavoro utilizzando passi paralleli Automatica in base alle dipendenze
Latenza di esecuzione Millisecondi Secondi
Basato sull'open source No Sì (Apache Airflow)
Modello di scalabilità Serverless (scalabilità verticale fino alla domanda e fino a zero) Provisioning effettuato
Modello di fatturazione In base all'utilizzo (per passaggio eseguito) In base alla capacità sottoposta a provisioning
Funzionalità di trattamento dati No Backfill, possibilità di eseguire nuovamente i DAG

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