Halaman ini menjelaskan cara bermigrasi ke Batch dari Cloud Life Sciences.
Google Cloud mengumumkan bahwa Cloud Life Sciences tidak digunakan lagi pada 17 Juli 2023 dan akan dihentikan pada 8 Juli 2025. Namun, Batch sudah tersedia secara umum dan merupakan penerus komprehensif yang mendukung semua kasus penggunaan untuk Cloud Life Sciences.
Pelajari lebih lanjut Batch, Cloud Life Sciences, dan tahapan peluncuran produk.
Cloud Life Sciences versus Batch
Memigrasikan dari Cloud Life Sciences ke Batch terutama melibatkan pemahaman tentang cara menggunakan Batch untuk workload yang saat ini Anda jalankan dengan menjalankan pipeline Cloud Life Sciences.
Untuk memahami cara menjalankan workload Cloud Life Sciences di Batch, lihat semua bagian berikut:
Ringkasan
Pipeline Cloud Life Sciences mendeskripsikan urutan tindakan (container) yang akan dieksekusi dan lingkungan untuk mengeksekusi container.
Tugas Batch menjelaskan array dari satu atau beberapa tugas dan lingkungan untuk menjalankan tugas tersebut. Anda menentukan workload untuk tugas sebagai satu urutan dari satu atau beberapa runnable (container dan/atau skrip) yang akan dieksekusi. Setiap tugas untuk pekerjaan mewakili satu eksekusi urutan runnable-nya.
Pipeline Cloud Life Sciences dapat dinyatakan sebagai tugas Batch tunggal.
Misalnya, contoh berikut menjelaskan pipeline Cloud Life Sciences sederhana dan tugas Batch yang setara:
Pipeline Cloud Life Sciences | Tugas batch |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
Tugas Batch multi-tugas serupa dengan pipeline Cloud Life Sciences yang disalin.
Tidak seperti Cloud Life Sciences, Batch memungkinkan Anda menjadwalkan beberapa eksekusi beban kerja secara otomatis. Anda menunjukkan berapa kali Anda ingin menjalankan urutan runnable untuk tugas dengan menentukan jumlah tugas. Jika tugas memiliki beberapa sub-tugas, Anda menentukan cara agar setiap eksekusi bervariasi dengan mereferensikan indeks sub-tugas dalam runnable. Selain itu, Anda dapat mengonfigurasi jadwal relatif untuk tugas pekerjaan—misalnya, apakah akan mengizinkan beberapa tugas berjalan secara paralel atau mewajibkan tugas berjalan secara berurutan dan satu per satu. Batch mengelola penjadwalan tugas pekerjaan: saat tugas selesai, pekerjaan akan otomatis memulai tugas berikutnya, jika ada.
Misalnya, lihat tugas Batch berikut. Contoh tugas ini memiliki 100 tugas yang dijalankan di 10 instance virtual machine (VM) Compute Engine, sehingga ada sekitar 10 tugas yang berjalan secara paralel pada waktu tertentu. Setiap tugas dalam contoh pekerjaan ini hanya menjalankan satu runnable:
skrip yang mencetak pesan dan indeks tugas, yang ditentukan oleh
variabel lingkungan bawaan BATCH_TASK_INDEX
.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Alur kerja yang melibatkan pembuatan dan pemantauan beberapa pipeline Cloud Life Sciences serupa terkadang dapat disederhanakan dengan memanfaatkan penjadwalan bawaan Batch.
Operasi dasar
Bagian ini menjelaskan operasi dasar di Cloud Life Sciences versus Batch.
Tabel berikut merangkum opsi operasi dasar untuk Cloud Life Sciences dan Batch.
Operasi dasar | Opsi Cloud Life Sciences | Opsi batch |
---|---|---|
Jalankan workload. |
|
|
Melihat semua workload Anda. |
|
|
Lihat detail dan status untuk workload. |
|
|
Hentikan dan hapus workload. |
|
|
Operasi dasar untuk Cloud Life Sciences dan Batch memiliki beberapa perbedaan utama.
Pertama, resource operasi yang berjalan lama tidak memainkan peran yang sama di Batch seperti di Cloud Life Sciences.
Resource operasi yang berjalan lama (LRO) di Cloud Life Sciences
adalah resource utama yang digunakan untuk mencantumkan dan melihat pipeline Anda. Namun,
resource operasi yang berjalan lama di Batch dan Google Cloud API lainnya
hanya digunakan untuk memantau status permintaan yang memerlukan waktu lama untuk
diselesaikan. Secara khusus, di Batch, satu-satunya permintaan yang
menampilkan resource operasi yang berjalan lama adalah menghapus tugas.
Untuk mengetahui informasi selengkapnya tentang resource operasi yang berjalan lama untuk Batch, lihat dokumentasi referensi Batch API untuk resource REST projects.locations.operations
.
Daripada menggunakan resource operasi yang berjalan lama, Batch memiliki
resource tugas yang dapat Anda lihat dan hapus untuk workload Anda.
Kedua, melihat detail workload di Batch melibatkan operasi yang berbeda dengan Cloud Life Sciences. Anda dapat melihat tugas untuk melihat detail dan statusnya. Namun, setiap tugas pekerjaan juga memiliki detail dan statusnya sendiri yang dapat Anda lihat dengan melihat daftar tugas pekerjaan dan melihat detail tugas.
Untuk membantu Anda lebih memahami operasi dasar untuk Cloud Life Sciences versus Batch, bagian berikut memberikan contoh perintah Google Cloud CLI dan jalur permintaan API untuk beberapa operasi dasar ini.
Contoh perintah gcloud CLI
Untuk gcloud CLI, perintah Cloud Life Sciences dimulai dengan gcloud beta lifesciences
dan perintah Batch dimulai dengan gcloud batch
.
Misalnya, lihat perintah gcloud CLI berikut.
Contoh perintah gcloud CLI Cloud Life Sciences:
Menjalankan pipeline:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Mendapatkan detail untuk operasi yang berjalan lama:
gcloud beta lifesciences operations describe OPERATION_ID
Ganti kode berikut:
PROJECT_ID
: Project ID project Anda.LOCATION
: lokasi untuk pipeline.JSON_CONFIGURATION_FILE
: file konfigurasi JSON untuk pipeline.OPERATION_ID
: ID untuk operasi yang berjalan lama, yang ditampilkan oleh permintaan untuk menjalankan pipeline.
Perintah gcloud CLI contoh batch:
Membuat dan menjalankan tugas:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Melihat detail tugas:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Melihat daftar tugas suatu pekerjaan:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Melihat detail tugas:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
Menghapus (dan membatalkan) tugas:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
JOB_NAME
: nama tugas.PROJECT_ID
: Project ID project Anda.LOCATION
: lokasi tugas.JSON_CONFIGURATION_FILE
: jalur untuk file JSON dengan detail konfigurasi tugas.TASK_INDEX
: indeks tugas yang detailnya ingin Anda lihat. Dalam grup tugas, indeks tugas dimulai dari 0 untuk tugas pertama dan bertambah 1 untuk setiap tugas tambahan. Misalnya, grup tugas yang berisi empat tugas memiliki indeks0
,1
,2
, dan3
.TASK_GROUP_NAME
: nama grup tugas yang ingin Anda lihat detailnya. Nilai harus ditetapkan kegroup0
.
Contoh jalur permintaan API
Untuk API, Cloud Life Sciences menggunakan jalur permintaan lifesciences.googleapis.com
dan Batch menggunakan jalur permintaan batch.googleapis.com
.
Misalnya, lihat jalur permintaan API berikut. Tidak seperti
Cloud Life Sciences, Batch tidak memiliki RPC API;
Batch hanya memiliki REST API.
Contoh jalur permintaan API Cloud Life Sciences:
Menjalankan pipeline:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Mendapatkan detail untuk operasi yang berjalan lama:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ganti kode berikut:
PROJECT_ID
: Project ID project Anda.LOCATION
: lokasi untuk pipeline.OPERATION_ID
: ID untuk operasi yang berjalan lama, yang ditampilkan oleh permintaan untuk menjalankan pipeline.
Jalur permintaan API contoh batch:
Membuat dan menjalankan tugas:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
Melihat detail tugas:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Melihat daftar tugas suatu pekerjaan:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Menghapus tugas
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Memeriksa status permintaan penghapusan tugas:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ganti kode berikut:
PROJECT_ID
: Project ID project Anda.LOCATION
: lokasi tugas.JOB_NAME
: nama tugas.TASK_GROUP_NAME
: nama grup tugas yang ingin Anda lihat detailnya. Nilai harus ditetapkan kegroup0
.OPERATION_ID
: ID untuk operasi yang berjalan lama, yang ditampilkan oleh permintaan untuk menghapus tugas.
Peran dan izin IAM
Bagian ini merangkum perbedaan peran dan izin Identity and Access Management untuk Cloud Life Sciences dan Batch. Untuk mengetahui informasi selengkapnya tentang peran dan izinnya, lihat Referensi peran dasar dan bawaan IAM.
Tabel berikut menjelaskan peran bawaan dan izinnya yang diperlukan untuk pengguna Cloud Life Sciences.
Peran Cloud Life Sciences | Izin |
---|---|
Salah satu dari berikut ini:
|
|
Cloud Life Sciences Viewer (roles/lifesciences.viewer ) di project |
|
Tabel berikut menjelaskan beberapa peran yang telah ditetapkan dan izinnya untuk Batch. Tidak seperti Cloud Life Sciences, Batch mengharuskan Anda memberikan izin kepada pengguna dan akun layanan untuk suatu tugas. Untuk mengetahui informasi selengkapnya tentang persyaratan IAM, lihat Prasyarat untuk Batch.
Peran batch untuk pengguna | Izin |
---|---|
Batch Job Editor (roles/batch.jobsEditor ) di project |
|
Batch Job Viewer (roles/batch.jobsViewer ) di project |
|
Service Account User (roles/iam.serviceAccountUser ) di akun layanan tugas |
|
Peran batch untuk akun layanan | Izin |
Batch Agent Reporter (roles/batch.agentReporter ) di project |
|
Fitur yang sesuai
Tabel berikut menjelaskan fitur untuk Cloud Life Sciences, fitur yang setara untuk Batch, dan detail tentang perbedaan di antara keduanya.
Setiap fitur diwakili oleh deskripsi dan sintaksis JSON-nya. Anda dapat menggunakan sintaksis JSON saat mengakses Batch melalui API atau saat menentukan file konfigurasi JSON melalui Google Cloud CLI. Namun, perhatikan bahwa Anda juga dapat menggunakan fitur Batch melalui metode lain—seperti melalui kolom konsol Google Cloud , flag gcloud CLI, dan library klien—yang dijelaskan dalam dokumentasi Batch.
Untuk mengetahui informasi selengkapnya tentang setiap fitur dan sintaksis JSON-nya, lihat artikel berikut:
Untuk Cloud Life Sciences, lihat dokumentasi referensi Cloud Life Sciences API untuk resource REST
projects.locations.pipelines
.Untuk Batch, lihat dokumentasi referensi Batch API untuk resource REST
projects.locations.jobs
.
Fitur Cloud Life Sciences | Fitur batch | Detail |
---|---|---|
pipeline (pipeline ) |
tugas (job ) dan tugasnya (taskGroups[] ) |
Tugas Batch terdiri dari array dari satu atau beberapa tugas yang masing-masing menjalankan semua runnable yang sama. Pipeline Cloud Life Sciences mirip dengan tugas Batch dengan satu tugas. Namun, Cloud Life Sciences tidak memiliki konsep yang setara untuk tugas (dengan beberapa) tugas, yang agak mirip dengan pengulangan pipeline. Untuk mengetahui informasi selengkapnya tentang tugas dan pekerjaan, lihat Ringkasan untuk Batch. |
tindakan (actions[] ) untuk pipeline |
runnable (runnables[] ) untuk tugas pekerjaan |
Tindakan Cloud Life Sciences menjelaskan container, tetapi Batch yang dapat dijalankan dapat berisi container atau skrip. |
kredensial (credentials ) untuk suatu tindakan |
untuk runnable container: |
Di Cloud Life Sciences, kredensial tindakan harus berupa kamus yang dienkripsi Cloud Key Management Service dengan pasangan nilai kunci nama pengguna dan sandi. Di Batch, nama pengguna dan sandi untuk runnable penampung berada di kolom terpisah. Kolom dapat ditentukan dengan teks biasa atau dengan nama secret Secret Manager. |
untuk tindakan:
|
untuk lingkungan:
kemungkinan lingkungan:
|
Cloud Life Sciences memungkinkan Anda menentukan variabel lingkungan
untuk tindakan yang diformat sebagai teks biasa atau sebagai kamus terenkripsi.
Di Batch, hal ini mirip dengan memiliki lingkungan
untuk runnable (kolom Namun, Batch juga memiliki lebih banyak opsi untuk menentukan variabel lingkungan:
Untuk mengetahui informasi selengkapnya, lihat Gunakan variabel lingkungan. |
label untuk permintaan guna menjalankan pipeline (labels di isi permintaan) |
label untuk tugas (labels di resource tugas) |
Tidak seperti Cloud Life Sciences, Batch tidak menyertakan kolom label dalam permintaan untuk membuat tugas baru. Opsi terdekat untuk Batch adalah menggunakan label yang hanya terkait dengan tugas. Batch memiliki beberapa jenis label
(kolom |
region (regions[] ) dan zona (zones[] ) untuk resource pipeline (resources ) |
lokasi yang diizinkan (allowedLocations ) untuk kebijakan lokasi resource tugas (locationPolicy ) |
Di Cloud Life Sciences, pipeline dijalankan di satu VM, yang dapat Anda tentukan region dan/atau zona yang diinginkan. Di Batch, opsi yang setara adalah lokasi yang diizinkan untuk tugas, yang dapat Anda tentukan sebagai satu atau beberapa region atau zona dan menentukan tempat VM untuk tugas dapat dibuat. Semua VM untuk satu tugas Batch termasuk dalam satu grup instance terkelola (MIG), yang ada di region tertentu; namun, setiap VM mungkin berada di zona yang berbeda dalam region tersebut. Perlu diketahui bahwa penetapan kolom lokasi yang diizinkan untuk tugas bersifat opsional karena terpisah dari lokasi tugas. Tidak seperti lokasi tugas, lokasi yang diizinkan tidak memengaruhi lokasi yang digunakan untuk membuat tugas Batch dan menyimpan metadata tugas. Untuk mengetahui informasi selengkapnya, lihat Lokasi batch. |
untuk resource pipeline (
|
untuk kebijakan resource tugas (
|
Di Cloud Life Sciences, Anda dapat mengonfigurasi (satu) VM yang menjalankan pipeline. Di Batch, opsi yang sama untuk VM tersedia di kolom kebijakan alokasi resource tugas (
|
untuk tindakan:
|
untuk yang dapat dijalankan:
|
Berbagai tanda kemudahan dari Cloud Life Sciences ini setara di Batch kecuali tanda tersebut ditentukan untuk setiap yang dapat dijalankan (yang dapat berisi skrip atau container) dan bukan untuk setiap tindakan (container). |
untuk tindakan:
|
opsi (options ) untuk container yang dapat dijalankan |
Opsi Cloud Life Sciences ini (dan lainnya) didukung di
Batch melalui kolom opsi ( |
untuk tindakan:
|
tidak ada padanan |
Batch melakukan pengambilan data gambar dan memproses
output semua runnable secara identik sesuai dengan kebijakan log
tugas ( |
opsi untuk memblokir jaringan eksternal (blockExternalNetwork ) untuk suatu tindakan |
Opsi untuk memblokir jaringan eksternal (blockExternalNetwork ) agar container dapat dijalankan |
Opsi Cloud Life Sciences untuk memblokir jaringan eksternal untuk suatu tindakan serupa dengan opsi Batch untuk memblokir jaringan eksternal untuk suatu container. Batch juga memiliki banyak opsi jaringan lainnya, seperti untuk memblokir jaringan eksternal untuk semua VM tugas. Untuk mengetahui informasi selengkapnya, lihat Ringkasan jaringan batch. |
pemasangan (mounts[] ) untuk suatu tindakan |
volume untuk semua runnable (volumes[] di taskSpec ) dan opsi volume untuk container (volumes[] di container ) |
Di Batch, Anda dapat menggunakan
kolom Selain itu, Batch
mendukung opsi volume eksplisit pada runnable container dengan menggunakan
kolom Untuk mengetahui informasi selengkapnya tentang cara menggunakan volume penyimpanan dengan Batch, lihat Membuat dan menjalankan tugas yang menggunakan volume penyimpanan. |
opsi untuk mengaktifkan Cloud Storage FUSE (enableFuse ) untuk suatu tindakan |
tidak ada padanan |
Batch menangani pemasangan volume penyimpanan apa pun,
seperti bucket Cloud Storage, yang Anda tentukan untuk tugas.
Akibatnya, Anda tidak mengaktifkan alat pemasangan apa pun seperti Cloud Storage FUSE
untuk Batch; namun, Anda dapat secara opsional menentukan
opsi pemasangan untuk volume penyimpanan dengan menggunakan
kolom Untuk mengetahui informasi selengkapnya tentang cara menggunakan bucket Cloud Storage dengan Batch, lihat Membuat dan menjalankan tugas yang menggunakan volume penyimpanan. |
Topik Pub/Sub (pubSubTopic ) untuk permintaan menjalankan pipeline |
untuk konfigurasi notifikasi tugas (
|
Batch memungkinkan penyesuaian yang lebih besar pada pembaruan status daripada Cloud Life Sciences. Misalnya, pengguna Batch dapat diberi tahu di topik Pub/Sub saat masing-masing tugas berubah status atau hanya saat tugas keseluruhan berubah status. |
Layanan alur kerja
Jika Anda menggunakan layanan alur kerja dengan Cloud Life Sciences, proses migrasi Anda juga melibatkan konfigurasi layanan alur kerja agar dapat berfungsi dengan Batch. Bagian ini merangkum layanan alur kerja yang dapat Anda gunakan dengan Batch.
Batch mendukung Workflows, yang merupakan layanan alur kerja dari Google Cloud. Jika Anda ingin menggunakan Workflows dengan Batch, lihat Menjalankan tugas Batch menggunakan Workflows. Jika tidak, tabel berikut menjelaskan layanan alur kerja lain yang dapat Anda gunakan untuk Cloud Life Sciences yang juga dapat Anda gunakan dengan Batch. Tabel ini mencantumkan perbedaan utama untuk menggunakan setiap layanan alur kerja dengan Batch, bukan Cloud Life Sciences, serta detail tentang tempat untuk mempelajari lebih lanjut cara menggunakan setiap layanan dengan Batch.
Workflow Service | Perbedaan Utama | Detail |
---|---|---|
Cromwell |
Untuk menggunakan file konfigurasi Cromwell untuk v2beta Cloud Life Sciences API dengan Batch API sebagai gantinya, lakukan perubahan berikut:
|
Untuk mempelajari lebih lanjut cara menggunakan Batch dengan Cromwell, lihat dokumentasi Cromwell untuk Batch dan tutorial Cromwell untuk Batch. |
dsub |
Untuk menggunakan dan menjalankan pipeline dsub untuk Cloud Life Sciences dengan Batch, lakukan perubahan berikut:
|
Untuk mempelajari lebih lanjut cara menggunakan Batch dengan dsub, lihat dokumentasi dsub untuk Batch. |
Nextflow |
Untuk menggunakan file konfigurasi Nextflow untuk Cloud Life Sciences dengan Batch, bukan dengan Cloud Life Sciences, lakukan perubahan berikut:
|
Untuk mempelajari lebih lanjut cara menggunakan Batch dengan Nextflow, lihat tutorial Batch atau tutorial Nextflow Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi, lihat dokumentasi Nextflow. |
Snakemake |
Untuk menggunakan pipeline Snakemake untuk Cloud Life Sciences API v2beta dengan Batch API, lakukan perubahan berikut:
|
Untuk mempelajari lebih lanjut cara menggunakan Batch dengan Snakemake, lihat dokumentasi Snakemake untuk Batch. |
Langkah berikutnya
- Untuk mengonfigurasi Batch bagi pengguna dan project baru, lihat Mulai.
- Untuk mempelajari cara menjalankan workload menggunakan Batch, lihat Membuat tugas.