Ringkasan Managed Airflow

Managed Airflow (Generasi 3) | Managed Airflow (Generasi 2) | Managed Airflow (Generasi 1 Lama)

Halaman ini memberikan pengantar singkat tentang Airflow dan DAG, serta menjelaskan fitur dan kemampuan Managed Airflow.

Untuk mengetahui informasi selengkapnya tentang fitur baru dalam rilis Managed Airflow, lihat Catatan rilis.

Tentang Managed Airflow

Managed Airflow adalah layanan orkestrasi alur kerja yang terkelola sepenuhnya, yang memungkinkan Anda membuat, menjadwalkan, memantau, dan mengelola pipeline alur kerja yang tersebar di berbagai cloud dan pusat data lokal.

Managed Airflow dibangun berdasarkan project open source Apache Airflow yang populer dan beroperasi menggunakan bahasa pemrograman Python.

Dengan menggunakan Managed Airflow, bukan instance lokal Apache Airflow, Anda dapat memanfaatkan Airflow terbaik tanpa overhead penginstalan atau pengelolaan. Managed Airflow membantu Anda membuat lingkungan Airflow terkelola dengan cepat dan menggunakan alat native Airflow, seperti antarmuka web Airflow dan alat command line yang canggih, sehingga Anda dapat berfokus pada alur kerja, bukan infrastruktur.

Perbedaan antara versi Managed Airflow

Untuk mengetahui informasi selengkapnya tentang perbedaan antara versi utama Managed Airflow, lihat Ringkasan pembuatan versi Managed Service untuk Apache Airflow.

Airflow dan DAG Airflow (alur kerja)

Dalam analisis data, alur kerja mewakili serangkaian tugas untuk memasukkan, mengubah, menganalisis, atau menggunakan data. Di Airflow, alur kerja dibuat menggunakan DAG, atau "Directed Acyclic Graphs".

Hubungan antara DAG dan tugas
Gambar 1. Hubungan antara DAG dan tugas

DAG adalah kumpulan tugas yang ingin Anda jadwalkan dan jalankan, yang disusun dengan cara yang mencerminkan hubungan dan dependensinya. DAG dibuat dalam file Python, yang menentukan struktur DAG menggunakan kode. Tujuan DAG adalah untuk memastikan bahwa setiap tugas dijalankan pada waktu yang tepat dan dalam urutan yang benar.

Setiap tugas dalam DAG dapat mewakili hampir semua hal—misalnya, satu tugas dapat menjalankan salah satu fungsi berikut:

  • Menyiapkan data untuk penyerapan
  • Memantau API
  • Mengirim email
  • Menjalankan pipeline

Selain menjalankan DAG sesuai jadwal, Anda dapat memicu DAG secara manual atau sebagai respons terhadap peristiwa, seperti perubahan dalam bucket Cloud Storage. Untuk mengetahui informasi selengkapnya, lihat Menjadwalkan dan memicu DAG.

Untuk mengetahui informasi selengkapnya tentang DAG dan tugas, lihat dokumentasi Apache Airflow.

Lingkungan Managed Airflow

Lingkungan Managed Airflow adalah deployment Airflow mandiri yang didasarkan pada Google Kubernetes Engine. Lingkungan ini berfungsi dengan layanan lain Google Cloud menggunakan konektor yang di-build ke dalam Airflow. Anda dapat membuat satu atau beberapa lingkungan dalam satu Google Cloud project, di region yang didukung.

Managed Airflow menyediakan Google Cloud layanan yang menjalankan alur kerja dan semua komponen Airflow. Komponen utama lingkungan adalah:

  • Cluster GKE: Komponen Airflow seperti scheduler Airflow, pemicu, dan pekerja berjalan sebagai workload GKE dalam satu cluster yang dibuat untuk lingkungan Anda, dan bertanggung jawab untuk memproses dan menjalankan DAG.

    Cluster ini juga menghosting komponen Managed Airflow lainnya seperti Composer Agent dan Airflow Monitoring, yang membantu mengelola lingkungan Managed Airflow, mengumpulkan log untuk disimpan di Cloud Logging, dan mengumpulkan metrik untuk diupload ke Cloud Monitoring.

  • Server web Airflow: Server web menjalankan UI Apache Airflow.

  • Database Airflow: Database menyimpan metadata Apache Airflow.

  • Bucket Cloud Storage: Managed Airflow mengaitkan bucket Cloud Storage dengan lingkungan Anda. Bucket ini, yang juga disebut bucket lingkungan, menyimpan DAG, log, plugin kustom, dan data untuk lingkungan. Untuk mengetahui informasi selengkapnya tentang bucket lingkungan, lihat Data yang disimpan di Cloud Storage.

Untuk melihat komponen lingkungan secara mendalam, lihat Arsitektur lingkungan.

Antarmuka Managed Airflow

Managed Airflow menyediakan antarmuka untuk mengelola lingkungan, instance Airflow yang berjalan dalam lingkungan, dan DAG individual.

Misalnya, Anda dapat membuat dan mengonfigurasi lingkungan Managed Airflow di Google Cloud konsol, Google Cloud CLI, Cloud Composer API, atau Terraform.

Sebagai contoh lain, Anda dapat mengelola DAG dari Google Cloud konsol, UI Airflow native, atau dengan menjalankan perintah Google Cloud CLI dan Airflow CLI.

Fitur Airflow di Managed Airflow

Saat menggunakan Managed Airflow, Anda dapat mengelola dan menggunakan fitur Airflow seperti:

  • DAG Airflow: Anda dapat menambahkan, memperbarui, menghapus, atau memicu DAG Airflow di Google Cloud konsol atau menggunakan UI Airflow native.

  • Opsi konfigurasi Airflow: Anda dapat mengubah opsi konfigurasi Airflow dari nilai default yang digunakan oleh Managed Airflow ke nilai kustom. Di Managed Airflow, beberapa opsi konfigurasi diblokir, dan Anda tidak dapat mengubah nilainya.

  • Koneksi Airflow.

  • UI Airflow.

  • Airflow CLI.

  • Plugin kustom: Anda dapat menginstal plugin Airflow kustom, seperti operator, hook, sensor, atau antarmuka Apache Airflow kustom dan internal, ke dalam lingkungan Managed Airflow.

  • Dependensi Python: Anda dapat menginstal dependensi Python dari Python Package Index di lingkungan Anda atau dari repositori paket pribadi, termasuk repositori Artifact Registry. Jika dependensi tidak ada dalam indeks paket, Anda juga dapat menggunakan plugin.

  • Logging dan pemantauan untuk DAG, komponen Airflow, dan lingkungan Managed Airflow:

Kontrol akses di Managed Airflow

Anda mengelola keamanan di tingkat Google Cloud project dan dapat menetapkan peran IAM yang memungkinkan setiap pengguna mengubah atau membuat lingkungan. Jika seseorang tidak memiliki akses ke project Anda atau tidak memiliki peran IAM Managed Airflow yang sesuai, orang tersebut tidak dapat mengakses lingkungan Anda.

Selain IAM, Anda dapat menggunakan kontrol akses UI Airflow, yang didasarkan pada model Kontrol Akses Apache Airflow.

Untuk mengetahui informasi selengkapnya tentang fitur keamanan di Managed Airflow, lihat Ringkasan keamanan Managed Airflow.

Jaringan lingkungan

Managed Airflow mendukung beberapa konfigurasi jaringan untuk lingkungan, dengan banyak opsi konfigurasi. Misalnya, di lingkungan IP Pribadi, DAG dan komponen Airflow sepenuhnya diisolasi dari internet publik.

Untuk mengetahui informasi selengkapnya tentang jaringan di Managed Airflow, lihat halaman untuk setiap fitur jaringan:

Fitur Managed Airflow lainnya

Fitur Managed Airflow lainnya mencakup:

Pertanyaan Umum (FAQ)

Versi Apache Airflow apa yang digunakan Managed Airflow?

Lingkungan Managed Airflow didasarkan pada image Managed Airflow. Saat membuat lingkungan, Anda dapat memilih image dengan versi Airflow tertentu:

  • Managed Airflow (Generasi 3) mendukung Airflow 2.
  • Managed Airflow (Generasi 2) mendukung Airflow 2.
  • Managed Airflow (Generasi 1 Lama) mendukung Airflow 1 dan Airflow 2.

Anda memiliki kontrol atas versi Apache Airflow di lingkungan Anda. Anda dapat memutuskan untuk mengupgrade lingkungan ke versi image Managed Airflow yang lebih baru. Setiap rilis Managed Airflow mendukung beberapa versi Apache Airflow.

Dapatkah saya menggunakan UI dan CLI Airflow native?

Anda dapat mengakses antarmuka web Apache Airflow di lingkungan Anda. Setiap lingkungan Anda memiliki UI Airflow sendiri. Untuk mengetahui informasi selengkapnya tentang cara mengakses UI Airflow, lihat Antarmuka web Airflow.

Untuk menjalankan perintah Airflow CLI di lingkungan Anda, gunakan perintah gcloud. Untuk mengetahui informasi selengkapnya tentang cara menjalankan perintah Airflow CLI di lingkungan Managed Airflow, lihat Antarmuka command line Airflow.

Dapatkah saya menggunakan database saya sendiri sebagai database Airflow?

Managed Airflow menggunakan layanan database terkelola untuk database Airflow. Anda tidak dapat menggunakan database yang disediakan pengguna sebagai database Airflow.

Dapatkah saya menggunakan cluster saya sendiri sebagai cluster Managed Airflow?

Managed Airflow menggunakan layanan Google Kubernetes Engine untuk membuat, mengelola, dan menghapus cluster lingkungan tempat komponen Airflow berjalan. Cluster ini dikelola sepenuhnya oleh Managed Airflow.

Anda tidak dapat membuat lingkungan Managed Airflow berdasarkan cluster Google Kubernetes Engine yang dikelola sendiri.

Dapatkah saya menggunakan container registry saya sendiri?

Managed Airflow menggunakan layanan Artifact Registry untuk mengelola repositori image container yang digunakan oleh lingkungan Managed Airflow. Anda tidak dapat menggantinya dengan container registry yang disediakan pengguna.

Apakah lingkungan Managed Airflow bersifat zonal atau regional?

Saat membuat lingkungan, Anda menentukan region untuk lingkungan tersebut:

  • Lingkungan Managed Airflow standar memiliki database Airflow zonal dan lapisan eksekusi Airflow multi-zonal. Database Airflow terletak di salah satu zona di region yang ditentukan dan komponen Airflow didistribusikan di antara beberapa zona.
  • Lingkungan Managed Airflow yang sangat tangguh (Ketersediaan Tinggi) memiliki database Airflow multi-zonal dan lapisan eksekusi Airflow multi-zonal. Lingkungan yang sangat tangguh berjalan di setidaknya dua zona dari region yang dipilih. Managed Airflow secara otomatis mendistribusikan komponen lingkungan Anda di antara zona. Komponen Cloud SQL yang menyimpan database Airflow memiliki instance utama dan instance standby yang didistribusikan di antara zona di region yang dipilih.

Langkah berikutnya