Workflows dan Managed Service for Apache Airflow dapat digunakan untuk orkestrasi layanan guna menggabungkan layanan untuk menerapkan fungsi aplikasi atau melakukan pemrosesan data. Meskipun secara konseptual serupa, masing-masing dirancang untuk serangkaian kasus penggunaan yang berbeda. Halaman ini membantu Anda memilih produk yang tepat untuk kasus penggunaan Anda.
Perbedaan utama
Perbedaan utama antara Workflows dan Managed Airflow adalah jenis arsitektur yang dirancang untuk didukung oleh setiap produk.
Workflows mengorkestrasikan beberapa layanan berbasis HTTP ke dalam alur kerja yang tahan lama dan bersifat stateful. Layanan ini memiliki latensi rendah dan dapat menangani sejumlah besar eksekusi. Layanan ini juga sepenuhnya serverless.
Workflows sangat cocok untuk merangkai microservice, mengotomatiskan tugas infrastruktur seperti memulai atau menghentikan VM, dan berintegrasi dengan sistem eksternal. Konektor alur kerja juga mendukung urutan operasi sederhana di Google Cloud layanan seperti Cloud Storage dan BigQuery.
Managed Airflow dirancang untuk mengorkestrasi alur kerja berbasis data (terutama ETL/ELT). Layanan ini dibangun di project Apache Airflow, tetapi Managed Airflow dikelola sepenuhnya. Managed Airflow mendukung pipeline Anda di mana pun pipeline tersebut berada, termasuk di infrastruktur lokal atau di beberapa platform cloud. Semua logika di Managed Airflow, termasuk tugas dan penjadwalan, dinyatakan dalam Python sebagai file definisi Directed Acyclic Graph (DAG).
Managed Airflow paling cocok untuk workload batch yang dapat menangani latensi beberapa detik antara eksekusi tugas. Anda dapat menggunakan Managed Airflow untuk mengatur layanan dalam pipeline data, seperti memicu tugas di BigQuery atau memulai pipeline Dataflow. Anda dapat menggunakan operator yang sudah ada untuk berkomunikasi dengan berbagai layanan, dan ada lebih dari 150 operator hanya untuk Google Cloud .
Perbandingan fitur mendetail
| Fitur | Workflows | Managed Airflow |
|---|---|---|
| Sintaksis | Sintaksis Workflows dalam format YAML atau JSON | Python |
| Model status | Kontrol alur imperatif | Deklaratif DAG dengan resolusi dependensi otomatis |
| Integrasi | Permintaan HTTP dan konektor | Operator Airflow dan Sensor |
| Meneruskan data antar-langkah | 512 KB untuk variabel | 48 KB1 untuk XCom |
| Pemicu dan penjadwalan eksekusi | gcloud CLI, Google Cloud konsol, Workflows API, library klien Workflows, Cloud Scheduler | Jadwal seperti cron dalam file definisi DAG, Sensor Airflow |
| Pola asinkron |
|
Polling |
| Eksekusi paralel | Eksekusi serentak dari alur kerja yang sama atau dalam alur kerja menggunakan langkah paralel | Otomatis berdasarkan dependensi |
| Latensi eksekusi | Milidetik | Detik |
| Berdasarkan open source | Tidak | Ya (Apache Airflow) |
| Model penskalaan | Tanpa server (dapat diskalakan sesuai permintaan dan diturunkan hingga nol) | Disediakan |
| Model penagihan | Berdasarkan penggunaan (per langkah yang dijalankan) | Berdasarkan kapasitas yang disediakan |
| Fitur pemrosesan data | Tidak | Pengisian ulang, kemampuan untuk menjalankan ulang DAG |
-
Kode sumber untuk airflow.models.xcom. Dokumentasi Apache Airflow. 2 Agustus 2021. ↩