Menggunakan pipeline CI/CD untuk alur kerja pengolahan data

Last reviewed 2024-06-27 UTC

Dokumen ini menjelaskan cara menyiapkan pipeline continuous integration/continuous deployment (CI/CD) untuk memproses data dengan mengimplementasikan metode CI/CD dengan produk terkelola di Google Cloud. Data scientist dan analis dapat mengadaptasi metodologi dari praktik CI/CD untuk membantu memastikan kualitas tinggi, pemeliharaan, dan kemampuan adaptasi dari proses dan alur kerja data. Metode yang dapat Anda terapkan adalah sebagai berikut:

  • Kontrol versi kode sumber.
  • Membangun, menguji, dan men-deploy aplikasi secara otomatis.
  • Isolasi dan pemisahan lingkungan dari produksi.
  • Prosedur yang dapat direplikasi untuk penyiapan lingkungan.

Dokumen ini ditujukan untuk data scientist dan analis yang membuat tugas pengolahan data yang dijalankan secara berulang untuk membantu menyusun riset dan pengembangan mereka (R&D) agar dapat mempertahankan beban kerja pengolahan data secara sistematis dan otomatis.

Arsitektur

Diagram berikut menampilkan detail dari langkah-langkah pipeline CI/CD.

Diagram arsitektur pipeline CI/CD.

Men-deploy ke lingkungan pengujian dan produksi dipisahkan menjadi dua pipeline Cloud Build yang berbeda, yaitu pipeline pengujian dan produksi.

Dalam diagram sebelumnya, pipeline pengujian terdiri dari langkah-langkah berikut:

  1. Developer meng-commit perubahan kode ke Cloud Source Repositories.
  2. Perubahan kode memicu build pengujian di Cloud Build.
  3. Cloud Build membangun file JAR yang berjalan sendiri dan men-deploy-nya ke bucket JAR pengujian di Cloud Storage.the test JAR bucket on Cloud Storage.
  4. Cloud Build men-deploy file pengujian ke bucket file pengujian di Cloud Storage.
  5. Cloud Build menetapkan variabel di Cloud Composer untuk merujuk ke file JAR yang baru di-deploy.
  6. Cloud Build menguji alur kerja pemrosesan data Directed Acyclic Graph (DAG) dan men-deploy-nya ke bucket Cloud Composer pada yang sesuai di Cloud Storage.
  7. File alur kerja DAG di-deploy ke Cloud Composer.
  8. Cloud Build memicu alur kerja pengolahan data yang baru di-deploy untuk dijalankan.
  9. Setelah pengujian integrasi alur kerja pengolahan data lulus, pesan akan dipublikasikan ke Pub/Sub yang berisi referensi ke JAR terbaru yang berjalan sendiri (diperoleh dari variabel Airflow) dalam kolom data pesan.

Dalam diagram sebelumnya, pipeline produksi terdiri dari langkah-langkah berikut:

  1. Produksi Pipeline deployment dipicu saat pesan dipublikasikan ke topik Pub/Sub.
  2. Developer menyetujui produksi pipeline deployment secara manual dan build dijalankan.
  3. Cloud Build menyalin file JAR terbaru yang dieksekusi sendiri dari bucket JAR pengujian ke bucket JAR produksi di Cloud Storage.
  4. Cloud Build menguji DAG alur kerja pengolahan data produksi dan men-deploy-nya ke bucket Cloud Composer di Cloud Storage.
  5. File alur kerja produksi DAG di-deploy ke Cloud Composer.

Dalam dokumen referensi arsitektur ini, alur kerja pengolahan data produksi di-deploy ke lingkungan Cloud Composer yang sama dengan alur kerja pengujian, untuk memberikan tampilan gabungan tentang semua alur kerja pengolahan data. Untuk tujuan referensi arsitektur ini, lingkungan dipisahkan menggunakan bucket Cloud Storage yang berbeda untuk menyimpan data input dan output.

Untuk memisahkan lingkungan sepenuhnya, Anda memerlukan beberapa lingkungan Cloud Composer yang dibuat dalam berbagai project, yang secara default terpisah satu sama lain. Pemisahan ini membantu mengamankan lingkungan produksi Anda. Pendekatan ini berada di luar cakupan tutorial ini. Untuk informasi selengkapnya tentang cara mengakses resource di beberapa project Google Cloud, lihat Menetapkan izin akun layanan.

Alur kerja pengolahan data

Petunjuk terkait cara Cloud Composer menjalankan pemrosesan data ditentukan dalam DAG yang ditulis di Python. Di DAG, semua langkah alur kerja pemrosesan data ditentukan bersamaan dengan dependensi antara mereka.

Pipeline CI/CD men-deploy definisi DAG secara otomatis dari Cloud Source Repositories ke Cloud Composer di setiap build. Proses ini memastikan bahwa Cloud Composer selalu diupdate dengan definisi alur kerja terbaru tanpa perlu intervensi manual apa pun.

Dalam definisi DAG untuk lingkungan pengujian, langkah pengujian menyeluruh ditentukan oleh selain alur kerja pengolahan data. Langkah pengujian ini membantu memastikan bahwa alur kerja pengolahan data berjalan dengan benar.

Alur kerja pengolahan data diilustrasikan dalam diagram berikut.

Alur kerja pengolahan data empat langkah.

Alur kerja pengolahan data terdiri dari langkah-langkah berikut:

  1. Menjalankan olah data WordCount di Dataflow.
  2. Download file output dari proses WordCount. Proses WordCount menghasilkan tiga file:

    • download_result_1
    • download_result_2
    • download_result_3
  3. Download file referensi, yang bernama download_ref_string.

  4. Verifikasi hasilnya berdasarkan file referensi. Pengujian integrasi ini menggabungkan ketiga hasil dan membandingkan hasil gabungan dengan file referensi.

  5. Publikasikan pesan ke Pub/Sub setelah pengujian integrasi lulus.

Menggunakan tugas framework orkestrasi seperti Cloud Composer untuk mengelola alur kerja pengolahan data akan membantu mengurangi kompleksitas kode alur kerja.

Pengoptimalan biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:

Deployment

Untuk men-deploy arsitektur ini, lihat Men-deploy pipeline CI/CD untuk alur kerja pengolahan data.

Langkah berikutnya