Questa pagina descrive come eseguire la migrazione a Batch da Cloud Life Sciences.
Il 17 luglio 2023 Google Cloud ha annunciato che Cloud Life Sciences, che era in versione beta, è stato deprecato. Il servizio non sarà più disponibile su Google Cloud dopo l'8 luglio 2025. Tuttavia, Batch è disponibile pubblicamente ed è un successore completo che supporta tutti i casi d'uso di Cloud Life Sciences.
Scopri di più su Batch, Cloud Life Sciences e sulle fasi di lancio del prodotto.
Confronto tra Cloud Life Sciences e Batch
La migrazione da Cloud Life Sciences a Batch include principalmente la comprensione di come puoi utilizzare Batch per i carichi di lavoro attualmente in esecuzione eseguendo le pipeline di Cloud Life Sciences.
Per capire come puoi eseguire i carichi di lavoro di Cloud Life Sciences in Batch, consulta tutte le sezioni seguenti:
Panoramica
Una pipeline di Cloud Life Sciences descrive una sequenza di azioni (container) da eseguire e l'ambiente in cui eseguire i container.
Un job batch descrive un array di una o più attività e l'ambiente in cui eseguirle. Il carico di lavoro per un job viene definito come una sequenza di uno o più eseguibili (container e/o script) da eseguire. Ogni attività di un job rappresenta un'esecuzione della sua sequenza di elementi eseguibili.
Le pipeline di Cloud Life Sciences possono essere espresse come job batch a singola attività.
Ad esempio, i seguenti esempi descrivono una semplice pipeline Cloud Life Sciences e il job batch equivalente:
Pipeline Cloud Life Sciences | Job batch |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
I job batch a più attività sono simili alle pipeline Cloud Life Sciences copiate.
A differenza di Cloud Life Sciences, Batch ti permette di pianificare automaticamente più esecuzioni del tuo carico di lavoro. Per indicare il numero di volte in cui vuoi eseguire la sequenza di elementi eseguibili per un job, devi definire il numero di attività. Se un job ha più attività, puoi specificare la modalità di variazione di ogni esecuzione facendo riferimento all'indice dell'attività negli elementi eseguibili. Inoltre, puoi configurare le pianificazioni relative per le attività di un job, ad esempio se consentire l'esecuzione di più attività in parallelo o richiedere che le attività vengano eseguite in ordine sequenziale e una alla volta. Batch gestisce la pianificazione delle attività del job: al termine di un'attività, il job avvia automaticamente l'attività successiva, se presente.
Ad esempio, vedi il seguente job batch. Questo job di esempio ha 100 attività che vengono eseguite su 10 istanze di macchine virtuali (VM) Compute Engine, quindi ci sono circa 10 attività in esecuzione in parallelo in un dato momento. Ogni attività di questo job di esempio esegue un solo elemento eseguibile: uno script che stampa un messaggio e l'indice dell'attività, definito dalla variabile di ambiente predefinita BATCH_TASK_INDEX
.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Workflows che prevedono la creazione e il monitoraggio di più pipeline simili di Cloud Life Sciences a volte possono essere semplificati sfruttando la pianificazione integrata di Batch.
Operazioni di base
Questa sezione descrive le operazioni di base in Cloud Life Sciences e le operazioni in batch.
La seguente tabella riassume le opzioni operative di base per Cloud Life Sciences e Batch.
Operazione di base | Opzioni di Cloud Life Sciences | Opzioni batch |
---|---|---|
Eseguire un carico di lavoro. |
|
|
Visualizza tutti i tuoi carichi di lavoro. |
|
|
Visualizza i dettagli e lo stato di un carico di lavoro. |
|
|
Arresta e rimuovi un carico di lavoro. |
|
|
Le operazioni di base di Cloud Life Sciences e Batch presentano alcune differenze fondamentali.
Innanzitutto, le risorse operazione a lunga esecuzione esecuzione non hanno lo stesso ruolo in batch
che in Cloud Life Sciences.
Le risorse per operazioni a lunga esecuzione (LRO) in Cloud Life Sciences sono la risorsa principale utilizzata per elencare e visualizzare le pipeline. Tuttavia, le risorse per operazioni a lunga esecuzione in Batch e in altre API Google Cloud vengono utilizzate solo per monitorare lo stato di una richiesta il cui completamento richiede molto tempo. Nello specifico, in modalità Batch, l'unica richiesta che restituisce una risorsa per un'operazione a lunga esecuzione è l'eliminazione di un job.
Per ulteriori informazioni sulle risorse operazione a lunga esecuzione per Batch, consulta la documentazione di riferimento dell'API Batch per la risorsa REST projects.locations.operations
.
Invece di utilizzare risorse operazione a lunga esecuzione, Batch dispone di risorse job che puoi visualizzare ed eliminare per i tuoi carichi di lavoro.
In secondo luogo, la visualizzazione dei dettagli di un carico di lavoro in batch prevede operazioni diverse rispetto a Cloud Life Sciences. Puoi visualizzare un job per vederne i dettagli e lo stato. Tuttavia, ogni attività di un job ha anche i propri dettagli e stato, che puoi consultare visualizzando un elenco delle attività di un job e visualizzando i dettagli di un'attività.
Per aiutarti a comprendere meglio le operazioni di base di Cloud Life Sciences rispetto a Batch, le seguenti sezioni forniscono esempi di comandi dellGoogle Cloud CLI e percorsi delle richieste API per alcune di queste operazioni di base.
Esempi di comandi gcloud CLI
Per gcloud CLI, i comandi di Cloud Life Sciences iniziano con gcloud beta lifesciences
e i comandi Batch iniziano con gcloud batch
.
Ad esempio, vedi i seguenti comandi gcloud CLI.
Comandi gcloud CLI di esempio di Cloud Life Sciences:
Esegui una pipeline:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Visualizza i dettagli per un'operazione a lunga esecuzione:
gcloud beta lifesciences operations describe OPERATION_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto.LOCATION
: la località della pipeline.JSON_CONFIGURATION_FILE
: il file di configurazione JSON per la pipeline.OPERATION_ID
: l'identificatore dell'operazione a lunga esecuzione, restituito dalla richiesta di esecuzione della pipeline.
Comandi gcloud CLI di esempio in batch:
Crea ed esegui un job:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Visualizza i dettagli di un job:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Visualizza l'elenco delle attività di un job:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Visualizza i dettagli di un'attività:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
Elimina (e annulla) un job:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
JOB_NAME
: il nome del job.PROJECT_ID
: l'ID progetto del progetto.LOCATION
: la località del job.JSON_CONFIGURATION_FILE
: il percorso di un file JSON con i dettagli di configurazione del job.TASK_INDEX
: l'indice dell'attività di cui vuoi visualizzare i dettagli. In un gruppo di attività, l'indice delle attività inizia da 0 per la prima attività e aumenta di 1 a ogni attività aggiuntiva. Ad esempio, un gruppo di attività che contiene quattro attività ha gli indici0
,1
,2
e3
.TASK_GROUP_NAME
: il nome del gruppo di attività di cui vuoi visualizzare i dettagli. Il valore deve essere impostato sugroup0
.
Esempi di percorsi di richieste API
Per le API, Cloud Life Sciences utilizza
i percorsi di richiesta lifesciences.googleapis.com
, mentre Batch utilizza
i percorsi di richiesta batch.googleapis.com
.
Ad esempio, vedi i seguenti percorsi delle richieste API. A differenza di Cloud Life Sciences, Batch non ha un'API RPC, ma solo un'API REST.
Percorsi di richiesta API di esempio per Cloud Life Sciences:
Esegui una pipeline:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Visualizza i dettagli per un'operazione a lunga esecuzione:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto.LOCATION
: la località della pipeline.OPERATION_ID
: l'identificatore dell'operazione a lunga esecuzione, restituito dalla richiesta di esecuzione della pipeline.
Percorsi di richiesta API di esempio batch:
Crea ed esegui un job:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
Visualizza i dettagli di un job:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Visualizza l'elenco delle attività di un job:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Eliminazione di un job
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Controlla lo stato della richiesta di eliminazione del job:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto.LOCATION
: la località del job.JOB_NAME
: il nome del job.TASK_GROUP_NAME
: il nome del gruppo di attività di cui vuoi visualizzare i dettagli. Il valore deve essere impostato sugroup0
.OPERATION_ID
: l'identificatore dell'operazione a lunga esecuzione, restituito dalla richiesta di eliminazione del job.
Ruoli e autorizzazioni IAM
Questa sezione riassume le differenze nei ruoli e nelle autorizzazioni di Identity and Access Management per Cloud Life Sciences e Batch. Per ulteriori informazioni sui ruoli e sulle autorizzazioni, consulta la documentazione di riferimento sui ruoli di base e predefiniti di IAM.
La seguente tabella descrive i ruoli predefiniti e le relative autorizzazioni necessarie per gli utenti di Cloud Life Sciences.
Ruoli di Cloud Life Sciences | Autorizzazioni |
---|---|
Una delle seguenti opzioni:
|
|
Visualizzatore Cloud Life Sciences (roles/lifesciences.viewer ) del progetto |
|
La seguente tabella descrive alcuni dei ruoli predefiniti e le relative autorizzazioni per Batch. A differenza di Cloud Life Sciences, Batch, devi concedere le autorizzazioni agli utenti e all'account di servizio per un job. Per ulteriori informazioni sui requisiti IAM, consulta Prerequisiti per il batch.
Ruoli batch per gli utenti | Autorizzazioni |
---|---|
Editor job batch (roles/batch.jobsEditor ) sul progetto |
|
Visualizzatore job batch (roles/batch.jobsViewer ) sul progetto |
|
Utente account di servizio (roles/iam.serviceAccountUser ) nell'account di servizio del job |
|
Ruoli batch per gli account di servizio | Autorizzazioni |
Reporter agente batch (roles/batch.agentReporter ) sul progetto |
|
Funzionalità corrispondenti
La seguente tabella descrive le funzionalità di Cloud Life Sciences, le funzionalità equivalenti per Batch e i dettagli sulle loro differenze.
Ogni funzionalità è rappresentata da una descrizione e dalla sua sintassi JSON. Puoi utilizzare la sintassi JSON quando accedi a Batch tramite l'API o quando specifichi un file di configurazione JSON tramite Google Cloud CLI. Tuttavia, tieni presente che puoi utilizzare le funzionalità batch anche con altri metodi, ad esempio tramite i campi della console Google Cloud, i flag gcloud CLI e le librerie client descritti nella documentazione di batch.
Per ulteriori informazioni su ciascuna funzionalità e sulla relativa sintassi JSON, consulta quanto segue:
Per Cloud Life Sciences, consulta la documentazione di riferimento dell'API Cloud Life Sciences per la risorsa REST
projects.locations.pipelines
.Per Batch, consulta la documentazione di riferimento dell'API Batch per la risorsa REST
projects.locations.jobs
.
Funzionalità di Cloud Life Sciences | Funzionalità batch | Dettagli |
---|---|---|
pipeline (pipeline ) |
del job (job ) e delle relative attività (taskGroups[] ) |
Un job batch è costituito da un array di una o più attività che eseguono tutte gli stessi elementi eseguibili. Una pipeline di Cloud Life Sciences è simile a un job batch con un'attività. Tuttavia, Cloud Life Sciences non ha un concetto equivalente per le attività (job con più), che sono in qualche modo come ripetizioni di una pipeline. Per maggiori informazioni su job e attività, consulta la pagina Panoramica per Batch. |
azioni (actions[] ) per una pipeline |
elementi eseguibili (runnables[] ) per le attività di un job |
Un'azione di Cloud Life Sciences descrive un container, ma un'esecuzione in modalità batch può contenere un container o uno script. |
credenziali (credentials ) per un'azione |
per un container eseguibile: |
In Cloud Life Sciences le credenziali di un'azione devono essere un dizionario criptato di Cloud Key Management Service con coppie chiave-valore nome utente e password. In Batch, il nome utente e la password di un container eseguibile si trovano in campi separati. Entrambi i campi possono essere specificati in testo normale o con il nome di un secret di Secret Manager. |
per un'azione:
|
per un ambiente:
degli ambienti possibili:
|
Cloud Life Sciences consente di specificare le variabili di ambiente
per un'azione formattata come testo normale o come dizionario criptato.
In modalità Batch, l'operazione è simile a quella per un ambiente eseguibile (campo Tuttavia, Batch offre anche altre opzioni per specificare le variabili di ambiente:
Per maggiori informazioni, consulta Utilizzare le variabili di ambiente. |
etichette per una richiesta di esecuzione di una pipeline (labels nel corpo della richiesta) |
etichette per un job (labels nella risorsa job) |
A differenza di Cloud Life Sciences, Batch non include un campo etichette nella richiesta per creare un nuovo job. L'opzione più vicina per il batch è utilizzare etichette associate solo al job. Batch ha più tipi di etichette
(campi |
regioni (regions[] ) e zone (zones[] ) per le risorse di una pipeline (resources ) |
località consentite (allowedLocations ) per il criterio sulla località delle risorse di un job (locationPolicy ) |
In Cloud Life Sciences, una pipeline viene eseguita su una singola VM, per la quale puoi specificare le regioni e/o le zone desiderate. In Batch, l'opzione equivalente sono le località consentite per un job, che puoi definire come una o più regioni o zone e che specifica dove è possibile creare le VM per un job. Tutte le VM per un singolo job batch appartengono a un singolo gruppo di istanze gestite che esiste in una regione specifica; tuttavia, le singole VM potrebbero trovarsi in zone diverse della regione. In particolare, specificare il campo delle località consentite per un job è facoltativo perché è separato dalla località del job. A differenza della località del job, la località consentita non influisce su quella utilizzata per la creazione di un job batch e l'archiviazione dei relativi metadati. Per ulteriori informazioni, consulta la sezione Località del batch. |
per le risorse di una pipeline (
|
per il criterio delle risorse di un job (
|
In Cloud Life Sciences, puoi configurare la (unica) VM su cui viene eseguita una pipeline. In modalità batch, le stesse opzioni per le VM sono disponibili nei campi del criterio di allocazione delle risorse di un job (
|
per un'azione:
|
per un file eseguibile:
|
Questi vari flag di convenienza di Cloud Life Sciences sono equivalenti in Batch, ad eccezione del fatto che sono specificati per ogni eseguibile (che può contenere uno script o un container) anziché per ogni azione (container). |
per un'azione:
|
opzioni (options ) per un container eseguibile |
Queste opzioni di Cloud Life Sciences (e altre) sono supportate in
Batch tramite il campo delle opzioni ( |
per un'azione:
|
nessun equivalente |
Il batch precarica le immagini ed elabora gli output di tutti gli elementi eseguibili in modo identico in base al criterio dei log del job ( |
opzione per bloccare le reti esterne (blockExternalNetwork ) per un'azione |
per bloccare le reti esterne (blockExternalNetwork ) per un container eseguibile |
L'opzione Cloud Life Sciences per bloccare le reti esterne per un'azione è simile all'opzione Batch, che consente di bloccare le reti esterne per un container. Batch ha anche molte altre opzioni di networking, ad esempio per bloccare le reti esterne per tutte le VM di un job. Per maggiori informazioni, consulta la panoramica del networking in batch. |
montaggi (mounts[] ) per un'azione |
volumi per tutti gli elementi eseguibili (volumes[] in taskSpec ) e le opzioni di volume per un container (volumes[] in container ) |
In Batch, puoi utilizzare il campo Inoltre, Batch
supporta opzioni di volume esplicite sugli elementi eseguibili dei container utilizzando il
campo Per ulteriori informazioni sull'utilizzo dei volumi di archiviazione con Batch, vedi Creare ed eseguire un job che utilizza volumi di archiviazione. |
opzione per abilitare Cloud Storage FUSE (enableFuse ) per un'azione |
nessun equivalente |
Batch gestisce il montaggio di tutti i volumi di archiviazione,
ad esempio un bucket Cloud Storage, che hai specificato per un job.
Di conseguenza, non abiliti nessuno degli strumenti di montaggio come Cloud Storage FUSE per Batch. Tuttavia, puoi facoltativamente specificare le opzioni di montaggio per i volumi di archiviazione utilizzando il campo Per ulteriori informazioni sull'utilizzo dei bucket Cloud Storage con Batch, consulta Creare ed eseguire un job che utilizza volumi di archiviazione. |
Argomento Pub/Sub (pubSubTopic ) per una richiesta di esecuzione di una pipeline |
per le configurazioni delle notifiche di un job (
|
Batch consente una maggiore personalizzazione degli aggiornamenti dello stato rispetto a Cloud Life Sciences. Ad esempio, gli utenti batch possono ricevere notifiche su un argomento Pub/Sub quando singole attività cambiano stato o solo quando cambia lo stato del job complessivo. |
Servizi per i flussi di lavoro
Se utilizzi un servizio di flusso di lavoro con Cloud Life Sciences, il processo di migrazione prevede anche la configurazione di un servizio di flusso di lavoro da utilizzare con Batch. Questa sezione riassume i servizi del flusso di lavoro che puoi usare con Batch. Oltre ai servizi per i flussi di lavoro elencati in questa sezione, Batch prevede anche di supportare ulteriori servizi per i flussi di lavoro nel tempo.
Batch supporta Workflows, un servizio per i flussi di lavoro di Google Cloud. Se vuoi utilizzare Workflows con Batch, vedi Eseguire un job batch utilizzando Workflows. In caso contrario, la tabella seguente descrive altri servizi per flussi di lavoro che potresti utilizzare per Cloud Life Sciences e che puoi utilizzare anche con Batch. Questa tabella elenca le principali differenze per l'utilizzo di ciascun servizio di flusso di lavoro con Batch anziché Cloud Life Sciences e i dettagli su dove trovare ulteriori informazioni sull'utilizzo di ogni batch di lavoro.
Servizio di flusso di lavoro | Differenze principali | Dettagli |
---|---|---|
Nextflow |
Per utilizzare un file di configurazione Nextflow per Cloud Life Sciences con Batch, apporta le seguenti modifiche:
|
Per scoprire di più su come utilizzare Batch con Nextflow, consulta un tutorial batch o Nextflow. Per maggiori informazioni sulle opzioni di configurazione, consulta la documentazione di Nextflow. |
Cromwell |
Per utilizzare un file di configurazione Cromwell per l'API v2beta Cloud Life Sciences con l'API Batch, apporta le seguenti modifiche:
|
Per scoprire di più su come utilizzare Batch con Cromwell, consulta la documentazione di Cromwell per Batch e il tutorial di Cromwell per Batch. |
dsub |
Per utilizzare una pipeline dsub dall'API Cloud Life Sciences con Batch, apporta le seguenti modifiche:
|
Per scoprire di più sull'utilizzo di Batch con dsub, consulta la documentazione dsub per Batch. |
Passaggi successivi
- Per configurare Batch per nuovi utenti e progetti, consulta la guida introduttiva.
- Per scoprire come eseguire i carichi di lavoro utilizzando Batch, consulta Creare un job.