Ringkasan pembuatan versi Managed Service untuk Apache Airflow

Halaman ini menjelaskan pembuatan versi Managed Service untuk Apache Airflow dan mencantumkan perbedaan antara versi utama Managed Airflow.

Versi utama Managed Airflow

Managed Airflow memiliki versi utama berikut:

  • Managed Airflow (Gen 3). Versi ini menyederhanakan penyiapan jaringan dan menyembunyikan komponen infrastruktur, termasuk cluster lingkungan dan dependensi lingkungan pada layanan lain.

  • Managed Airflow (Gen 2). Dalam versi ini, cluster lingkungan diskalakan secara otomatis untuk memenuhi permintaan resource.

  • Managed Airflow (Generasi 1 Lama). Memiliki penskalaan lingkungan manual, infrastruktur di-deploy ke project dan jaringan Anda.

Perbandingan versi Managed Airflow

Tabel berikut mencantumkan perbedaan utama antara Managed Airflow (Gen 1 Lama), Managed Airflow (Gen 2), dan Managed Airflow (Gen 3).

Fitur Managed Airflow (Generasi 1 Lama) Managed Airflow (Generasi 2) Managed Airflow (Generasi 3)
Versi image composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Versi Airflow Airflow 1.10.* dan Airflow 2 Airflow 2 Airflow 2, Airflow 3
Versi Python 3.8.12 3.11.8 (3.11.5 dan 3.8.12 di versi sebelumnya) 3.11.8
Cluster lingkungan Cluster Google Kubernetes Engine berbasis rute atau VPC native mode Standar Cluster Google Kubernetes Engine VPC-native mode Autopilot Cluster lingkungan tidak di-deploy ke project Anda.
Penskalaan horizontal Dapat menyesuaikan jumlah node di cluster lingkungan. Tindakan ini akan mengubah jumlah pekerja Airflow.
Dapat menyesuaikan jumlah penjadwal Airflow.
Menskalakan jumlah pekerja Airflow secara otomatis, berdasarkan permintaan. Dapat menetapkan dan mengubah batas atas dan bawah untuk jumlah worker.
Dapat menyesuaikan jumlah penjadwal dan pemicu Airflow
Menskalakan jumlah pekerja Airflow secara otomatis, berdasarkan permintaan. Dapat menetapkan dan mengubah batas atas dan bawah untuk jumlah worker.
Dapat menyesuaikan jumlah penjadwal, pemicu, dan pemroses DAG Airflow
Penskalaan vertikal Dapat menetapkan jenis mesin untuk node cluster, server web Airflow, dan database saat membuat lingkungan. Dapat mengubah jenis mesin untuk server web dan database Airflow. Dapat menetapkan dan mengubah konfigurasi workload: parameter CPU, memori, dan penyimpanan untuk pekerja, penjadwal, server web Airflow, dan ukuran lingkungan. Dapat menetapkan dan mengubah konfigurasi beban kerja: CPU, memori, dan parameter penyimpanan untuk pekerja, scheduler, server web, pemroses DAG Airflow, dan ukuran lingkungan.
Model penetapan harga Model harga Managed Airflow (Generasi 1 Lama) Model harga Managed Airflow (Gen 2) Model harga Managed Airflow (Gen 3)
Kontrol akses Peran Managed Airflow (Generasi 1 Lama) Peran Managed Airflow. Menggunakan Workload Identity Federation untuk GKE dan memerlukan izin tambahan untuk akun Managed Airflow Service Agent. Peran Managed Airflow. Menggunakan Workload Identity Federation for GKE. Izin tambahan tidak diperlukan
Akses melalui Workforce Identity Federation Tidak didukung Didukung Didukung
Lingkungan yang Sangat Tangguh Tidak didukung Didukung Didukung
Kebijakan retensi database Tidak didukung Belum tersedia Didukung
Jaringan IP pribadi Peering VPC Private Service Connect Penyiapan jaringan yang disederhanakan. Dapat diubah antara IP Publik dan Pribadi di lingkungan yang ada.
Kontrol Layanan VPC Didukung Didukung Didukung
Eksekutor Airflow Celery Executor Celery Executor CeleryKubernetes Executor
Pemicu Airflow (operator yang dapat ditangguhkan) Tidak didukung Didukung Didukung
Akun layanan kustom untuk KubernetesPodOperator Didukung Didukung Tidak didukung
CMEK Didukung Didukung Didukung
Kontrol akses server web Didukung Didukung Didukung
Memulai ulang server web Didukung Didukung Didukung
Plugin server web Didukung di lingkungan Airflow 1 dengan serialisasi DAG yang dinonaktifkan. Didukung Didukung, plugin dapat dinonaktifkan dan diaktifkan sesuai permintaan.
Plugin penjadwal Tidak didukung Didukung Tidak didukung
Pemroses Tidak didukung Didukung Hanya pendengar tingkat tugas
TimeTables Hanya Bawaan Kustom dan Bawaan Hanya Bawaan
Paket PyPI kustom penjadwal Tidak didukung Didukung Tidak didukung
Menginstal plugin kustom Didukung Didukung Didukung
Operasi pemeliharaan Semua tugas dapat terpengaruh. Tugas yang memerlukan waktu kurang dari 55 menit untuk dieksekusi tidak akan terpengaruh. Tugas yang memerlukan waktu kurang dari 24 jam untuk dieksekusi tidak akan terpengaruh.
Menyimpan Snapshot Didukung untuk Airflow versi 2.x dan 1.10.15 Didukung Didukung
Memuat Snapshot Tidak didukung Didukung Didukung
Snapshot Terjadwal Tidak didukung Didukung Didukung
Bucket lingkungan kustom Tidak didukung Didukung Didukung
Menyimpan log tugas Airflow hanya di Cloud Logging Tidak didukung Didukung Didukung
Integrasi silsilah data Tidak didukung Didukung Didukung
Alat CLI Pengembangan Lokal Composer Tidak didukung Didukung Didukung

Perbandingan versi Airflow

Managed Airflow (Gen 3) menyediakan lingkungan dengan Airflow 2 dan Airflow 3.

Dukungan untuk fitur Managed Airflow (Gen 3)

Tabel berikut merangkum fitur Managed Airflow (Gen 3) yang belum didukung di Airflow 3.

Fitur Status Deskripsi
Upgrade ke Airflow 3 (snapshot) Belum didukung di Airflow 3 Migrasi berdampingan lingkungan Managed Airflow (Gen 3) yang ada dari Airflow 2 ke Airflow 3 menggunakan snapshot.
Upgrade ke Airflow 3 (langsung) Belum didukung di Airflow 3 Upgrade di tempat untuk lingkungan Managed Airflow (Gen 3) yang sudah ada dari Airflow 2 ke Airflow 3 dengan menentukan versi dengan Airflow 3 selama upgrade.
Dukungan Workforce Identity Federation Belum didukung di Airflow 3 Menggunakan penyedia identitas eksternal di lingkungan dengan Airflow 3.

Masalah umum di Airflow 3

Masalah umum berikut telah diidentifikasi di Airflow 3:

  • Pesan peringatan dalam log workload Airflow. Anda dapat mengabaikan pesan ini dengan aman.
  • Utilitas airflowctl tidak dapat digunakan dengan mudah dari lingkungan tanpa tampilan seperti pekerja Airflow di Managed Airflow atau container Docker. Hal ini merupakan batasan utilitas. Untuk mengetahui informasi selengkapnya tentang batasan ini, lihat Masalah 58230 di repositori Airflow di GitHub.

Dukungan untuk fitur Airflow 3

Tabel berikut mencantumkan fitur Airflow 3 dan dukungannya:

Fitur Status
UI Airflow 3.0 Didukung
Pembuatan versi DAG Didukung
Pengisian ulang (dari UI Airflow) Didukung
Penjadwalan berbasis peristiwa Didukung
Assets Didukung
Eksekusi inferensi dan penyesuaian hyperparameter Didukung
alat command line airflowctl Didukung
Paket DAG (selain LocalDagBundle) Belum didukung di Airflow 3
Edge Executor dan tugas dalam bahasa pemrograman lain Belum didukung di Airflow 3

Image Managed Service for Apache Airflow

Untuk menjalankan Apache Airflow, Managed Airflow membuat image Docker yang menggabungkan rilis Airflow dengan biner umum dan library Python lainnya.

Image Managed Airflow mencakup modifikasi Airflow yang khusus untuk Managed Airflow dan tidak sesuai untuk codebase Airflow upstream. Setiap image Managed Airflow berisi paket yang telah diinstal sebelumnya beserta perubahan Airflow khusus Managed Airflow.

Google secara berkala merilis image Managed Airflow baru:

  • Di Managed Airflow (Gen 3), image mencakup build baru dari versi Airflow yang didukung. Anda dapat memilih versi Airflow dan build yang ingin digunakan. Lingkungan Anda akan otomatis mendapatkan peningkatan Managed Airflow.

  • Di Managed Airflow (Gen 2) dan Managed Airflow (Legacy Gen 1), image mencakup peningkatan Managed Airflow dan build baru dari versi Airflow yang didukung. Untuk mendapatkan peningkatan Managed Airflow, Anda harus mengupgrade lingkungan ke Managed Airflow versi yang lebih baru.

Penghentian penggunaan dan dukungan versi

Composer 3

Google mendukung build Airflow selama jangka waktu tertentu setelah dirilis:

  • 0-12 bulan sejak tanggal rilis: Lingkungan Managed Airflow (Gen 3) yang menjalankan build Airflow ini didukung.

  • 12+ bulan sejak tanggal rilis: Lingkungan Managed Airflow (Gen 3) yang menjalankan versi ini tidak didukung.

    Setelah build Airflow tidak lagi didukung, lingkungan yang menjalankan build Airflow ini juga tidak didukung dan sepenuhnya dikelola pengguna.

Lingkungan bekerja dengan build Airflow yang didukung dan tidak didukung dengan cara berikut:

  • Anda dapat membuat lingkungan dengan semua build Airflow yang didukung.

  • Anda masih dapat menggunakan lingkungan dengan build Airflow yang tidak lagi didukung. Lingkungan masih berfungsi, Anda dapat terus menggunakannya, dan Anda dapat mengupgradenya ke build Airflow yang didukung.

  • Dalam beberapa kasus, upgrade ke versi atau build Airflow yang lebih baru adalah satu-satunya solusi yang tersedia untuk kerentanan keamanan.

Composer 2

Google mendukung versi Managed Airflow (Gen 2) selama jangka waktu tertentu setelah rilis versi:

  • 0-12 bulan sejak tanggal rilis: Lingkungan Managed Airflow (Gen 2) yang menjalankan versi ini didukung.

  • 12+ bulan sejak tanggal rilis: Lingkungan Managed Airflow (Gen 2) yang menjalankan versi ini tidak didukung.

Anda dapat menggunakan versi Managed Airflow setelah tanggal versi tersebut tidak lagi didukung. Misalnya, jika lingkungan Anda didasarkan pada versi Managed Airflow yang telah melewati periode dukungan, lingkungan tersebut tetap berfungsi dan Anda dapat terus menggunakannya. Dalam hal ini, sebaiknya Anda mengupgrade lingkungan ke versi yang didukung.

Composer 1

Versi Managed Airflow (Gen 1 Lama) baru dirilis hingga akhir Maret 2023. Semua versi Managed Airflow (Gen 1 Lama) yang dirilis mengikuti kebijakan penghentian penggunaan versi yang sama dengan Managed Airflow (Gen 2) dan didukung sesuai dengan kebijakan tersebut.

Skema versi

Bagian ini menjelaskan skema versi dan alias versi Airflow dan Managed Airflow.

Skema versi Airflow

Airflow mengikuti skema pembuatan versi software semantik. Setiap versi Airflow memiliki versi utama, minor, dan patch.

Composer 3

Di Managed Airflow (Gen 3), versi dan build Airflow baru akan tersedia seiring berjalannya waktu.

Lingkungan Anda dapat berfungsi dengan semua versi dan build Airflow sebelumnya, dan menerima update pada komponen infrastrukturnya secara otomatis. Setiap versi dan build didukung seperti yang dijelaskan dalam Penghentian penggunaan dan dukungan versi, dan Anda dapat memilih untuk mengupgrade versi Airflow ke versi atau build yang lebih baru.

Composer 2

Untuk mengetahui daftar versi Airflow yang didukung di setiap versi Managed Airflow, lihat daftar versi Managed Airflow.

  • Dalam setiap rilis, Managed Airflow (Gen 2) mendukung dua versi minor Airflow 2.

    Misalnya, Managed Airflow 2.4.0 mendukung Airflow 2.4.* dan Airflow 2.5.*.

  • Untuk setiap versi minor Airflow 2, Managed Airflow mendukung satu versi patch.

    Misalnya, untuk Airflow 2.4.*, Managed Airflow mendukung Airflow 2.4.3.

  • Saat versi patch baru Airflow 2 tersedia di Managed Airflow, rilis yang sesuai memiliki dua versi patch Airflow 2 yang tersedia untuk versi minor Airflow yang sama. Versi patch sebelumnya kemudian dihapus dalam salah satu rilis berikutnya.

    Misalnya, Managed Airflow 2.3.4 mendukung Airflow 2.5.1 dan Airflow 2.5.3.

  • Managed Airflow dapat melewati beberapa versi patch Airflow di antara rilisan Managed Airflow. Selain itu, jika ada masalah fungsional, kualitas, atau performa pada versi patch Airflow tertentu, Managed Airflow juga dapat melewati versi ini.

    Misalnya, Airflow 2.1.3 dilewati dan Airflow 2.1.4 tersedia.

  • Rilis Managed Airflow yang menjalankan versi Airflow stabil dapat mencakup update Airflow yang di-backport dari versi Airflow yang lebih baru.

Composer 1

Versi terbaru Airflow yang didukung di Managed Airflow (Gen 1 Lama) adalah Airflow 2.4.3.

Hanya Managed Airflow (Legacy Gen 1) yang mendukung Airflow 1.10.15, yang merupakan versi Airflow 1 terbaru yang dirilis.

Skema versi Managed Airflow

Composer 3

Skema pembuatan versi Managed Airflow (Gen 3) mencakup versi dan build Airflow:

composer-3-airflow-x.y.z-build.t

Dengan:

  • composer-3 adalah versi utama Managed Airflow.

  • airflow-x.y.z.build.t adalah versi dan build Airflow. Setiap rilis berikutnya dari versi Airflow yang sama di Managed Airflow (Gen 3) memiliki nomor build yang lebih tinggi. Nomor build ditentukan oleh Managed Airflow, bukan oleh project open source Airflow.

Composer 2

Skema pembuatan versi image Managed Airflow (Gen 2) mencakup versi Managed Airflow dan Airflow:

composer-2.b.c-airflow-x.y.z

Dengan:

  • composer-2.b.c menunjukkan versi minor dan patch kustomisasi yang dikelola Managed Airflow di Managed Airflow (Gen 2). Sebagai aturan umum, versi kecil Managed Airflow sesuai dengan perubahan signifikan dalam fungsionalitas dibandingkan dengan versi kecil sebelumnya, seperti saat set versi Airflow yang tersedia diubah. Versi patch akan diupdate dalam rilis berikutnya.

  • airflow-x.y.z adalah rilis Airflow, yang menunjukkan versi utama, versi sekunder, dan versi patch Airflow yang digunakan dalam image Managed Airflow tertentu.

Composer 1

Skema pembuatan versi image Managed Airflow (Gen 1 Lama) mencakup versi Managed Airflow dan Airflow:

composer-1.b.c-airflow-x.y.z

Dengan:

  • composer-1.b.c adalah versi penyesuaian yang dikelola Managed Airflow
  • airflow-x.y.z adalah rilis Airflow

Alias versi

Alias versi berfungsi dengan cara berikut:

  • Managed Airflow menyelesaikan alias versi ke format lengkap saat membuat lingkungan Anda:

    • Semua alias versi menjadi composer-3-airflow-x.y.z-build.t di Managed Airflow (Gen 3).
    • Semua alias versi menjadi composer-a.b.c-airflow-x.y.z di Managed Airflow (Gen 2) dan Managed Airflow (Legacy Gen 1).
  • Di Managed Airflow (Gen 3), menggunakan alias versi, seperti composer-3-airflow-x.y tidak akan mengupgrade versi dan build Airflow secara otomatis di lingkungan Anda. Lingkungan tetap menggunakan build dan versi Airflow yang sama hingga Anda mengupgradenya. Lingkungan tetap menerima upgrade infrastruktur otomatis seperti biasa.

  • Di Managed Airflow (Gen 2) dan Managed Airflow (Legacy Gen 1), penggunaan alias versi, seperti composer-a-airflow-x.y.z tidak menyediakan upgrade otomatis untuk lingkungan. Lingkungan tetap menggunakan Managed Airflow dan versi Airflow yang sama hingga Anda mengupgradenya.

Alias versi Managed Airflow (Gen 3)

Managed Airflow (Gen 3) mendukung alias versi berikut:

Alias Versi Airflow
composer-3-airflow-2 Versi dan build terbaru Airflow 2
composer-3-airflow-x.y Versi dan build Airflow terbaru dalam versi utama dan minor x.y
composer-3-airflow-x.y.z Build terbaru dari versi Airflow yang ditentukan

Alias versi Managed Airflow (Gen 2)

Managed Airflow (Gen 2) mendukung alias versi berikut:

Alias Versi Managed Airflow Versi Airflow
composer-2-airflow-2 Versi terbaru Managed Airflow (Gen 2) Versi terbaru Airflow 2
composer-2-airflow-x.y Versi terbaru Managed Airflow (Gen 2) Versi terbaru Airflow dalam versi utama dan minor x.y
composer-2-airflow-x.y.z Versi terbaru Managed Airflow (Gen 2) Versi Airflow yang ditentukan
composer-2.b.c-airflow-x.y Versi Managed Airflow (Gen 2) yang ditentukan Versi terbaru Airflow tersedia dalam versi utama dan minor x.y

Alias versi Managed Airflow (Generasi 1 Lama)

Managed Airflow (Legacy Gen 1) mendukung alias versi berikut:

Alias Versi Managed Airflow Versi Airflow
composer-1-airflow-2 Versi terbaru Managed Airflow (Generasi 1 Lama) Versi terbaru Airflow 2
composer-1-airflow-1 Versi terbaru Managed Airflow (Generasi 1 Lama) Versi terbaru Airflow 1
composer-1-airflow-x.y Versi terbaru Managed Airflow (Generasi 1 Lama) Versi terbaru Airflow dalam versi utama dan minor x.y
composer-1-airflow-x.y.z Versi terbaru Managed Airflow (Generasi 1 Lama) Versi Airflow yang ditentukan
composer-1.b.c-airflow-x.y Versi Managed Airflow yang ditentukan (Gen 1 Lama) Versi terbaru Airflow tersedia dalam versi utama dan minor x.y.

Alias versi berikut mengarah ke Managed Airflow (Gen 3). Anda tetap dapat menggunakannya, tetapi pertimbangkan untuk beralih ke alias untuk Managed Airflow versi Anda.

  • composer-latest-airflow-x.y sama dengan composer-3-airflow-x.y.
  • composer-latest-airflow-x.y.z sama dengan composer-3-airflow-x.y.z.

Argumen versi di Google Cloud CLI

Saat membuat atau mengupgrade lingkungan Managed Airflow menggunakan Google Cloud CLI, Anda dapat menentukan versi Managed Airflow dan Airflow:

Composer 3

  • Argumen --image-version menentukan versi dan build Airflow dalam format composer-3-airflow-x.y.z-build.t. Anda dapat menggunakan alias versi, yang di-resolve oleh Google Cloud CLI ke dalam format lengkap.

  • --airflow-version menentukan versi Airflow dalam format berikut:

    • Format x.y.z adalah untuk build terbaru Airflow versi yang ditentukan. Format ini sama dengan alias versi composer-3-airflow-x.y.z.

    • Format x.y adalah untuk build Airflow terbaru yang tersedia dalam versi utama dan minor x.y. Format ini sama dengan alias versi composer-3-airflow-x.y.

    • x.y.z-build.t adalah versi dan build Airflow yang ditentukan. Format ini sama dengan composer-3-airflow-x.y.z-build.t.

Composer 2

  • Argumen --image-version menentukan Managed Airflow (Gen 2) dan versi Airflow:

    • Format composer-a.b.c-airflow-x.y.z membuat lingkungan dengan Managed Airflow dan Airflow versi yang ditentukan.
    • Alias versi pertama-tama diubah menjadi format composer-a.b.c-airflow-x.y.z, lalu membuat lingkungan dengan versi Managed Airflow (Gen 2) dan Airflow yang ditentukan.
  • --airflow-version menentukan versi Airflow dalam format berikut:

    • Format x.y.z adalah untuk Managed Airflow versi terbaru (Gen 2) dan versi Airflow yang ditentukan. Format ini sama dengan alias versi composer-2-airflow-x.y.z.

    • Format x.y adalah untuk Managed Airflow versi terbaru (Gen 2) dan Airflow versi terbaru yang tersedia dalam versi utama dan minor x.y. Format ini sama dengan alias versi composer-2-airflow-x.y.

Composer 1

  • Argumen --image-version menentukan Managed Airflow (Generasi 1 Lama) dan versi Airflow:

    • Format composer-a.b.c-airflow-x.y.z membuat lingkungan dengan Managed Airflow dan Airflow versi yang ditentukan.
    • Alias versi pertama-tama di-resolve ke format composer-a.b.c-airflow-x.y.z, lalu membuat lingkungan dengan versi Managed Airflow (Gen 1 Lama) dan Airflow yang ditentukan.
  • --airflow-version menentukan versi Airflow dalam format berikut:

    • Format x.y.z adalah untuk Managed Airflow versi terbaru (Gen 1 Lama) dan versi Airflow yang ditentukan. Format ini sama dengan alias versi composer-1-airflow-x.y.z.

    • Format x.y adalah untuk Managed Airflow versi terbaru (Gen 1 Lama) dan Airflow versi terbaru yang tersedia dalam versi utama dan versi minor x.y. Format ini sama dengan alias versi composer-1-airflow-x.y.

Langkah berikutnya