Ringkasan alur kerja

Workflows adalah platform orkestrasi terkelola sepenuhnya yang menjalankan layanan dalam urutan yang Anda tentukan: alur kerja. Alur kerja ini dapat menggabungkan berbagai layanan termasuk layanan kustom yang dihosting di Cloud Run atau fungsi Cloud Run, Google Cloud layanan seperti Cloud Vision AI dan BigQuery, serta API berbasis HTTP apa pun.

Dengan menggabungkan Workflows ke dalam solusi, Anda dapat membuat dependensi layanan menjadi eksplisit dan dapat diamati secara menyeluruh. Alur kerja yang menentukan aplikasi, proses operasional, atau bisnis memberikan sumber tepercaya atau narasi kanonis untuk proses tersebut.

Workflows bersifat tanpa server, dapat diskalakan sesuai kebutuhan, dan tidak dikenai biaya saat tidak digunakan. Karena alur kerja tidak berisi dependensi kode atau library, alur kerja tidak memerlukan patch keamanan. Setelah men-deploy alur kerja, Anda dapat mengharapkan alur kerja tersebut dieksekusi dengan andal tanpa perlu pemeliharaan. Alur kerja dapat menyimpan status, mencoba lagi, melakukan polling, atau menunggu hingga satu tahun.

Workflows mematuhi sertifikasi dan standar ini.

Diagram berikut menunjukkan contoh penggunaan Workflows untuk mengoordinasikan layanan:

Orkestrasi layanan menggunakan Workflows

Kasus penggunaan utama

Workflows mendukung banyak kasus penggunaan. Berikut beberapa contohnya:

Orkestrasi layanan Buat solusi dengan menggabungkan layanan—Lakukan serangkaian operasi di beberapa sistem, sambil menunggu semua operasi selesai. Dapat didorong oleh peristiwa. Contoh:
  • Mengirim file yang baru diupload ke Cloud Vision AI, lalu menulis tag ke Firestore
  • Panggil fungsi Cloud Run dan kirim hasilnya ke layanan Cloud Run
Tugas batch Beroperasi pada beberapa item—Lakukan operasi pada sekumpulan item atau data batch. Sering dijadwalkan. Contoh:
  • Mengirim email harian kepada pelanggan
  • Menyiapkan dan menjalankan tugas BigQuery atau machine learning
  • Membuat laporan
Proses bisnis Mengotomatiskan alur kerja lini bisnis—Enkode langkah-langkah dalam proses bisnis, termasuk kondisi, tindakan, dan peristiwa yang melibatkan interaksi manusia. Contoh:
  • Melacak pesanan dari permintaan hingga pemenuhan
  • Mengotomatiskan permintaan resource dengan persetujuan
Otomatisasi proses IT Eksekusi operasi layanan terkelola—Buat skrip urutan operasi layanan dengan mudah. Google Cloud Contoh:
  • Menyediakan project atau infrastruktur tenant baru
  • Menonaktifkan resource sesuai jadwal atau melalui pemicu peristiwa

Konsep inti

Alur kerja terdiri dari serangkaian langkah yang dijelaskan menggunakan sintaksis Workflows, dan dapat ditulis dalam YAML atau JSON. Ini adalah definisi alur kerja. Untuk penjelasan mendetail tentang sintaksis Alur Kerja, lihat Referensi sintaksis.

Setelah alur kerja dibuat, alur kerja tersebut akan di-deploy, sehingga siap untuk dieksekusi. Pelajari cara membuat dan memperbarui alur kerja di konsol Google Cloud atau menggunakan Google Cloud CLI. Anda juga dapat membuat alur kerja dengan menggunakan IDE atau editor kode sumber pilihan dan menyiapkan pelengkapan otomatis dan validasi sintaksis.

Eksekusi adalah satu eksekusi logika yang terkandung dalam definisi alur kerja. Alur kerja yang belum dijalankan tidak menimbulkan biaya. Semua eksekusi alur kerja bersifat independen, dan penskalaan produk yang cepat memungkinkan banyak eksekusi serentak. Anda dapat menjalankan alur kerja menggunakan library klien, di konsol Google Cloud , menggunakan Google Cloud CLI, atau dengan mengirim permintaan HTTP POST ke URL pemanggilan alur kerja menggunakan Workflows REST API. Untuk mengetahui detailnya, lihat Menjalankan alur kerja.

Regionalitas

Workflows adalah layanan regional dan workflow adalah resource regional yang tunduk pada batasan lokasi resource. Anda dapat menggunakan kebijakan lokasi resource untuk mengontrol residensi data.

Perhatikan bahwa saat di-deploy ke region tertentu, alur kerja hanya dieksekusi di region tersebut; namun, jika alur kerja membuat permintaan HTTP atau menggunakan konektor, panggilan HTTP mungkin tidak berasal dari region yang sama.

Kemampuan utama

Berikut adalah beberapa kemampuan utama Alur Kerja.

Kontrol eksekusi

Langkah
Untuk membuat alur kerja, Anda menentukan langkah-langkah yang diperlukan dan urutan eksekusi menggunakan sintaksis Workflows. Setiap alur kerja harus memiliki minimal satu langkah. Secara default, Alur Kerja memperlakukan langkah-langkah seolah-olah berada dalam daftar berurutan dan mengeksekusinya satu per satu hingga semua langkah selesai dijalankan. Untuk mengetahui detailnya, lihat Langkah-Langkah.
Kondisi
Anda dapat menggunakan blok switch sebagai mekanisme pemilihan yang memungkinkan nilai ekspresi mengontrol alur eksekusi alur kerja. Untuk mengetahui detailnya, lihat Kondisi.
Iterasi
Anda dapat menggunakan loop for untuk melakukan iterasi pada urutan angka atau melalui kumpulan data, seperti daftar atau peta. Untuk mengetahui detailnya, lihat Iterasi.
Langkah paralel
Anda dapat menggunakan langkah parallel untuk menentukan bagian alur kerja (cabang atau loop) yang dapat dieksekusi secara bersamaan. Untuk mengetahui detailnya, lihat Langkah paralel.
Sub-alur kerja
Sub-alur kerja berfungsi mirip dengan rutinitas atau fungsi dalam bahasa pemrograman, sehingga Anda dapat mengapsulasi langkah atau serangkaian langkah yang akan diulang beberapa kali oleh alur kerja. Untuk mengetahui detailnya, lihat Sub-workflow.

Memicu eksekusi

Manual
Anda dapat mengelola alur kerja dari konsol Google Cloud atau dari command line menggunakan Google Cloud CLI. Dukungan visualisasi saat mengedit sintaksis Workflows juga tersedia melalui konsol Google Cloud .
Terprogram
Library Klien Cloud untuk Workflows API, atau REST API, dapat digunakan untuk mengelola alur kerja. Untuk mengetahui detailnya, lihat API dan referensi Workflows.
Dijadwalkan
Anda dapat menggunakan Cloud Scheduler untuk menjalankan alur kerja pada jadwal tertentu, seperti setiap hari Senin pukul 09.00 atau setiap 15 menit. Untuk mengetahui detailnya, lihat Menjadwalkan alur kerja menggunakan Cloud Scheduler.
Argumen runtime
Data yang diteruskan saat runtime dapat diakses dengan menambahkan kolom params ke alur kerja utama Anda (ditempatkan di blok main). Blok main menerima satu argumen yang merupakan jenis data JSON valid. Kolom params memberi nama variabel yang digunakan alur kerja untuk menyimpan data yang Anda masukkan. Untuk mengetahui detailnya, lihat Argumen runtime.

Menghubungkan layanan

HTTP API
Anda dapat menentukan langkah alur kerja yang melakukan panggilan HTTP dan menetapkan respons dari panggilan ke variabel. Misalnya, Anda dapat memanggil layanan seperti fungsi Cloud Run atau Cloud Run melalui permintaan HTTP. Google CloudPermintaan HTTP dan HTTPS didukung. Untuk mengetahui detailnya, lihat Membuat permintaan HTTP dan Memanggil fungsi Cloud Run atau Cloud Run.
Anda dapat menargetkan endpoint pribadi untuk panggilan HTTP dari eksekusi alur kerja dengan menggunakan pendaftaran layanan Service Directory dengan Workflows. Tindakan ini memungkinkan Anda memberikan nama layanan Service Directory ke alur kerja. Eksekusi alur kerja Anda menggunakan informasi yang diambil dari pendaftaran layanan untuk mengirim permintaan HTTP yang sesuai, tanpa keluar ke jaringan publik. Untuk mengetahui informasi selengkapnya, lihat Memanggil endpoint pribadi menggunakan pendaftaran layanan Service Directory.
Atau, Anda dapat memanggil endpoint lokal pribadi, Compute Engine, Google Kubernetes Engine (GKE), atau endpoint Google Cloud lainnya dengan mengaktifkan Identity-Aware Proxy (IAP). Dengan IAP, Anda dapat membuat lapisan otorisasi pusat untuk aplikasi yang diakses oleh HTTPS, sehingga Anda dapat menggunakan model kontrol akses tingkat aplikasi, bukan mengandalkan firewall tingkat jaringan. Untuk mengetahui informasi selengkapnya, lihat Memanggil endpoint lokal pribadi, Compute Engine, GKE, atau endpoint lainnya dengan mengaktifkan IAP.
Saat membuat endpoint pribadi dalam jaringan Virtual Private Cloud (VPC), Anda dapat menyiapkan perimeter layanan dan menggunakan Kontrol Layanan VPC dengan Workflows untuk mengurangi risiko ekstraksi data.
Konektor
Workflows memublikasikan konektor yang dapat digunakan untuk terhubung ke API Google Cloud lain dalam alur kerja, dan untuk mengintegrasikan alur kerja Anda dengan produk Google Cloud tersebut. Library ini menyederhanakan panggilan layanan karena menangani pemformatan permintaan untuk Anda, dan menyediakan metode serta argumen sehingga Anda tidak perlu mengetahui detailGoogle Cloud API. Untuk mengetahui detailnya, lihat Memahami konektor.
Library standar dan variabel lingkungan
Library standar Workflows, variabel lingkungan bawaan, dan variabel lingkungan buatan pengguna memungkinkan Anda membuat argumen untuk layanan dan memproses respons secara efisien.
Library standar mencakup modul dan fungsi yang sering digunakan, seperti untuk konversi jenis dan format data. Anda tidak perlu mengimpor atau memuat library dalam alur kerja—fungsi library akan langsung berfungsi. Untuk mengetahui detailnya, lihat Ringkasan library standar.
Anda dapat mengakses informasi lingkungan alur kerja (seperti lokasi atau ID project) menggunakan variabel lingkungan bawaan. Variabel lingkungan bawaan tidak memerlukan deklarasi dan tersedia di setiap eksekusi alur kerja. Untuk mengetahui detailnya, lihat Variabel lingkungan bawaan.
Saat men-deploy alur kerja, Anda dapat menetapkan pasangan string kunci dan nilai arbitrer sebagai variabel lingkungan yang ditentukan pengguna yang dapat diakses oleh alur kerja Anda saat runtime. Misalnya, Anda dapat membuat alur kerja yang dikonfigurasi secara dinamis bergantung pada lingkungan tempat alur kerja tersebut di-deploy. Untuk mengetahui detailnya, lihat Gunakan variabel lingkungan.

Penanganan error

Anda dapat membuat alur kerja Anda tangguh dan menyesuaikan perilakunya saat terjadi kegagalan dengan menggunakan penanganan pengecualian Workflows, termasuk percobaan ulang panggilan HTTP otomatis dengan backoff eksponensial, penanganan error kustom, dan fitur lanjutan lainnya. Untuk mengetahui detailnya, lihat Error alur kerja.

Menunggu

Callback memungkinkan eksekusi alur kerja menunggu layanan lain membuat permintaan ke endpoint callback; permintaan tersebut melanjutkan eksekusi alur kerja. Dengan callback, Anda dapat memberi sinyal ke alur kerja bahwa peristiwa tertentu telah terjadi, dan menunggu peristiwa tersebut tanpa melakukan polling. Untuk mengetahui detailnya, lihat Menunggu menggunakan callback.

Anda dapat menjeda eksekusi alur kerja dengan menambahkan langkah penonaktifan ke definisi alur kerja. Kemudian, Anda dapat menggunakan sys.sleep untuk melakukan polling data selama interval tertentu. Untuk mengetahui detailnya, lihat Menunggu menggunakan polling.

Autentikasi dan kontrol akses

Karena setiap eksekusi alur kerja memerlukan panggilan yang diautentikasi, Anda dapat mengurangi risiko panggilan yang tidak disengaja atau berbahaya dengan menggunakan Workflows. Anda juga dapat menyederhanakan interaksi dengan API Google Cloud lain menggunakan akun layanan berbasis IAM, dan Anda dapat menyimpan kunci dan sandi dengan aman untuk mengautentikasi ke API eksternal menggunakan konektor Secret Manager. Untuk detailnya, pelajari lebih lanjut autentikasi dan kontrol akses.

Kemampuan observasi

Alur kerja secara otomatis menghasilkan log eksekusi untuk eksekusi alur kerja di Cloud Logging. Anda juga dapat mengontrol kapan log dikirim ke Logging selama eksekusi alur kerja melalui pencatatan panggilan atau log kustom. Untuk mengetahui detailnya, lihat Mengirim log ke Cloud Logging.

Informasi audit logging tersedia melalui Cloud Audit Logs. Untuk mengetahui detailnya, lihat informasi log audit untuk alur kerja dan eksekusi alur kerja.

Anda dapat mengambil histori eksekusi alur kerja tertentu sebagai daftar entri langkah. Setiap entri merepresentasikan langkah atau blok petunjuk dalam eksekusi alur kerja. Entri langkah dapat membantu Anda menentukan sumber error atau mengoptimalkan performa alur kerja.

Contoh kode

Anda dapat menemukan banyak contoh kode Workflows yang berguna di halaman contoh.

Langkah berikutnya