Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
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 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 yang terbaik dari Airflow 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 merepresentasikan serangkaian tugas untuk menyerap, mentransformasi, menganalisis, atau memanfaatkan data. Di Airflow, alur kerja dibuat menggunakan DAG, atau "Directed Acyclic Graphs".
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 dieksekusi pada waktu yang tepat dan dalam urutan yang benar.
Setiap tugas dalam DAG dapat merepresentasikan hampir semua hal—misalnya, satu tugas dapat melakukan 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 Airflow terkelola adalah deployment Airflow mandiri berdasarkan Google Kubernetes Engine. Layanan ini berfungsi dengan layanan Google Cloud lain menggunakan konektor yang dibuat ke dalam Airflow. Anda dapat membuat satu atau beberapa lingkungan dalam satu project Google Cloud di region yang didukung.
Managed Airflow menyediakan layanan yang menjalankan alur kerja dan semua komponen Airflow. Google Cloud Komponen utama lingkungan adalah:
Cluster GKE: Komponen Airflow seperti penjadwal, pemicu, dan pekerja Airflow berjalan sebagai workload GKE dalam satu cluster yang dibuat untuk lingkungan Anda, dan bertanggung jawab untuk memproses dan mengeksekusi DAG.
Cluster ini juga menghosting komponen Managed Airflow lainnya seperti Agen Composer dan Pemantauan Airflow, 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 ini 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 konsol Google Cloud , 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 konsol Google Cloud 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.
Plugin kustom: Anda dapat menginstal plugin Airflow kustom, seperti operator, hook, sensor, atau antarmuka Apache Airflow kustom internal, ke lingkungan Managed Airflow Anda.
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:
Anda dapat melihat log Airflow yang terkait dengan tugas DAG tunggal di antarmuka web Airflow dan folder
logsdi bucket lingkungan.Log Cloud Monitoring dan metrik lingkungan untuk lingkungan Managed Airflow.
Kontrol akses di Managed Airflow
Anda mengelola keamanan di Google Cloud level 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:
- Lingkungan IP Publik dan IP Pribadi
- Menghubungkan lingkungan ke jaringan VPC Anda
- Lingkungan VPC Bersama
- Mengonfigurasi Kontrol Layanan VPC
Fitur Managed Airflow lainnya
Fitur Managed Airflow lainnya meliputi:
- Lingkungan penskalaan otomatis
- Pengembangan dengan lingkungan Airflow lokal
- Lingkungan yang sangat tangguh
- Snapshot lingkungan
- Integrasi silsilah data dengan Knowledge Catalog
- Enkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK)
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 (Gen 3) mendukung Airflow 2.
- Managed Airflow (Gen 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 yang lebih baru dari image Managed Airflow. Setiap rilisan 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-nya 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 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. Database yang disediakan pengguna tidak dapat digunakan 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. Klaster ini dikelola sepenuhnya oleh Managed Airflow.
Lingkungan Managed Airflow tidak dapat dibangun berdasarkan cluster Google Kubernetes Engine yang dikelola sendiri.
Dapatkah saya menggunakan registry container saya sendiri?
Managed Airflow menggunakan layanan Artifact Registry untuk mengelola repositori image container yang digunakan oleh lingkungan Managed Airflow. Registry container yang disediakan pengguna tidak dapat menggantikannya.
Apakah lingkungan Managed Airflow bersifat zonal atau regional?
Saat membuat lingkungan, Anda menentukan region untuk lingkungan tersebut:
- Lingkungan Airflow Terkelola Standar memiliki database Airflow zonal dan lapisan eksekusi Airflow multi-zona. Database Airflow berada di salah satu zona di region yang ditentukan dan komponen Airflow didistribusikan di antara beberapa zona.
- Sangat tangguh (Ketersediaan Tinggi) Lingkungan Airflow terkelola memiliki database Airflow multi-zona dan lapisan eksekusi Airflow multi-zona. Lingkungan yang sangat tangguh berjalan di setidaknya dua zona di region yang dipilih. Managed Airflow secara otomatis mendistribusikan komponen lingkungan Anda di antara zona. Komponen Cloud SQL yang menyimpan database Airflow memiliki instance primer dan instance standby yang didistribusikan di antara zona dalam region yang dipilih.