Questa pagina descrive come eseguire la migrazione a Batch da Cloud Life Sciences.
Il 17 luglio 2023, Google Cloud ha annunciato il ritiro di Cloud Life Sciences, che era in versione beta. Il servizio non sarà più disponibile su Google Cloud dopo l'8 luglio 2025. Tuttavia, Batch è disponibile al pubblico ed è un successore completo che supporta tutti i casi d'uso per Cloud Life Sciences.
Scopri di più su Batch, Cloud Life Sciences e sulle fasi di lancio del prodotto.
Cloud Life Sciences e Batch
La migrazione da Cloud Life Sciences a Batch richiede principalmente di capire come utilizzare Batch per i carichi di lavoro che attualmente esegui eseguendo le pipeline Cloud Life Sciences.
Per capire come puoi eseguire i carichi di lavoro Cloud Life Sciences su Batch, consulta tutte le sezioni seguenti:
Panoramica
Una pipeline 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 eseguire queste attività. Il carico di lavoro di un job viene definito come una sequenza di uno o più elementi eseguibili (container e/o script) da eseguire. Ogni attività per un job rappresenta un'esecuzione della relativa sequenza di elementi eseguibili.
Le pipeline 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 relativo job batch equivalente:
Pipeline di 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 con più attività sono simili alle pipeline Cloud Life Sciences copiate.
A differenza di Cloud Life Sciences, Batch ti consente di pianificare automaticamente più esecuzioni del tuo carico di lavoro. Indica il numero di volte in cui vuoi eseguire la sequenza di entità eseguibili per un job definendo il numero di attività. Quando un job ha più attività, specifica in che modo vuoi che ogni esecuzione vari facendo riferimento all'indice dell'attività negli elementi eseguibili. Inoltre, puoi configurare le relative pianificazioni per le attività di un job, ad esempio se consentire l'esecuzione di più attività in parallelo o richiedere che vengano eseguite in ordine sequenziale e una alla volta. Batch gestisce la pianificazione delle attività del job: quando un'attività termina, il job avvia automaticamente l'attività successiva, se esistente.
Ad esempio, consulta il seguente job batch. Questo job di esempio ha 100 attività che vengono eseguite su 10 istanze di macchine virtuali (VM) Compute Engine, quindi in un determinato momento sono in esecuzione in parallelo circa 10 attività. Ogni attività in questo job di esempio esegue un solo 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 Cloud Life Sciences simili possono essere semplificati sfruttando la pianificazione integrata di Batch.
Operazioni di base
Questa sezione descrive le operazioni di base in Cloud Life Sciences rispetto a Batch.
La tabella seguente riassume le opzioni di operazioni di base per Cloud Life Sciences e Batch.
Funzionamento di base | Opzioni di Cloud Life Sciences | Opzioni batch |
---|---|---|
Esegui un carico di lavoro. |
|
|
Visualizza tutti i tuoi carichi di lavoro. |
|
|
Visualizza i dettagli e lo stato di un workload. |
|
|
Interrompi e rimuovi un carico di lavoro. |
|
|
Le operazioni di base per Cloud Life Sciences e Batch hanno alcune differenze chiave.
Innanzitutto, le risorse per le operazione a lunga esecuzione non svolgono lo stesso ruolo in
Batch che in Cloud Life Sciences.
Le risorse per le operazioni a lungo termine (LRO) in Cloud Life Sciences
sono la risorsa principale utilizzata per elencare e visualizzare le pipeline. Tuttavia,
le risorse per le operazioni di lunga durata in Batch e altre API di Google Cloud e T-Systems Sovereign Cloud
vengono utilizzate solo per monitorare lo stato di una richiesta che richiede molto tempo per essere completata. Nello specifico, in Batch l'unica richiesta che
restituisce una risorsa di operazione a lunga esecuzione è l'eliminazione di un job.
Per ulteriori informazioni sulle risorse di operazione a lunga esecuzione per Batch, consulta la documentazione di riferimento dell'API Batch per la risorsa REST projects.locations.operations
.
Anziché utilizzare risorse di operazione a lunga esecuzione, Batch ha risorse di 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 comporta operazioni diverse rispetto a Cloud Life Sciences. Puoi visualizzare un job per esaminarne i dettagli e lo stato. Tuttavia, ogni attività di un job ha anche i propri dettagli e il proprio stato, che puoi visualizzare consultando un elenco delle attività di un job e i dettagli di un'attività.
Per aiutarti a comprendere ulteriormente le operazioni di base per Cloud Life Sciences rispetto a Batch, le sezioni seguenti forniscono esempi di comandi Google Cloud CLI e percorsi delle richieste API per alcune di queste operazioni di base.
Esempi di comandi gcloud CLI
Per gcloud CLI, i comandi Cloud Life Sciences iniziano con gcloud beta lifesciences
e i comandi Batch iniziano con gcloud batch
.
Ad esempio, consulta i seguenti comandi gcloud CLI.
Esempi di comandi dell'interfaccia a riga di comando gcloud CLI per Cloud Life Sciences:
Esegui una pipeline:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Per visualizzare i dettagli di un'operazione a lunga esecuzione:
gcloud beta lifesciences operations describe OPERATION_ID
Sostituisci quanto segue:
PROJECT_ID
: il ID progetto del tuo progetto.LOCATION
: la posizione 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.
Esempi di comandi dell'interfaccia a riga di comando gcloud CLI 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 di 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
Eliminare (e annullare) un job:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
JOB_NAME
: il nome del job.PROJECT_ID
: il ID progetto del tuo progetto.LOCATION
: la località del lavoro.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 con 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 richiesta API
Per le API, Cloud Life Sciences utilizza i percorsi di richiestalifesciences.googleapis.com
e Batch utilizza i percorsi di richiestabatch.googleapis.com
.
Ad esempio, consulta i seguenti percorsi di richiesta API. A differenza di Cloud Life Sciences, Batch non ha un'API RPC, ma solo un'API REST.
Esempi di percorsi di richiesta dell'API Cloud Life Sciences:
Esegui una pipeline:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Per visualizzare i dettagli di un'operazione a lunga esecuzione:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Sostituisci quanto segue:
PROJECT_ID
: il ID progetto del tuo progetto.LOCATION
: la posizione della pipeline.OPERATION_ID
: l'identificatore dell'operazione a lunga esecuzione restituito dalla richiesta di esecuzione della pipeline.
Percorsi di richiesta API di esempio per le operazioni 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 di attività di un job:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Elimina 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
: il ID progetto del tuo progetto.LOCATION
: la località del lavoro.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 su eventuali ruoli e sulle relative autorizzazioni, consulta il riferimento ai ruoli di base e predefiniti di IAM.
La tabella seguente descrive i ruoli predefiniti e le relative autorizzazioni obbligatorie per gli utenti di Cloud Life Sciences.
Ruoli Cloud Life Sciences | Autorizzazioni |
---|---|
Uno dei seguenti:
|
|
Cloud Life Sciences Viewer (roles/lifesciences.viewer ) nel progetto |
|
La tabella seguente descrive alcuni dei ruoli predefiniti e le relative autorizzazioni per Batch. A differenza di Cloud Life Sciences, Batch richiede di concedere autorizzazioni agli utenti e all'account di servizio per un job. Per ulteriori informazioni sui requisiti IAM, consulta i prerequisiti per Batch.
Ruoli per batch per gli utenti | Autorizzazioni |
---|---|
Batch Job Editor (roles/batch.jobsEditor ) nel progetto |
|
Batch Job Viewer (roles/batch.jobsViewer ) nel progetto |
|
Utente account di servizio (roles/iam.serviceAccountUser ) nell'account di servizio del job |
|
Ruoli batch per gli account di servizio | Autorizzazioni |
Batch Agent Reporter (roles/batch.agentReporter ) nel progetto |
|
Elementi corrispondenti
La tabella seguente descrive le funzionalità di Cloud Life Sciences, le funzionalità equivalenti per Batch e i dettagli sulle differenze tra le due.
Ogni elemento è rappresentato da una descrizione e dalla relativa sintassi JSON. Puoi utilizzare la sintassi JSON per accedere a Batch tramite l'API o per specificare un file di configurazione JSON tramite Google Cloud CLI. Tuttavia, tieni presente che puoi utilizzare le funzionalità di Batch anche tramite 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 ogni 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 ) |
job (job ) e le relative attività (taskGroups[] ) |
Un job batch è costituito da un array di una o più attività che eseguono tutte le stesse eseguibili. Una pipeline 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ù attività), che sono in qualche modo simili alle ripetizioni di una pipeline. Per ulteriori informazioni su job e attività, consulta la panoramica di Batch. |
azioni (actions[] ) per una pipeline |
elementi eseguibili (runnables[] ) per le attività di un job |
Un'azione Cloud Life Sciences descrive un contenitore, ma un elemento eseguibile Batch può contenere un contenitore o uno script. |
credentials (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 di nome utente e password. In Batch, il nome utente e la password per un contenitore eseguibile sono 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:
possibili ambienti:
|
Cloud Life Sciences ti consente di specificare le variabili di ambiente per un'azione che sono formattate come testo normale o come dizionario criptato.
In Batch, è simile a includere nell'ambiente per un file eseguibile (campo Tuttavia, Batch offre anche più opzioni per specificare le variabili di ambiente:
Per ulteriori 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 delle etichette nella richiesta per creare un nuovo job. L'opzione più simile per Batch è utilizzare etichette associate solo al job. Il batch ha più tipi di etichette
(campi |
regioni (regions[] ) e zone (zones[] ) per le risorse (resources ) di una pipeline |
località consentite (allowedLocations ) per il criterio di posizione della risorsa (locationPolicy ) di un job |
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 è le località consentite per un job, che puoi definire come una o più regioni o zone e specifica dove possono essere create le VM per un job. Tutte le VM di un singolo job batch appartengono a un singolo gruppo di istanze gestite (MIG), esistente in una determinata regione. Tuttavia, le singole VM potrebbero trovarsi in zone diverse della regione. È importante notare che la specifica del campo delle località consentite per un job è facoltativa perché è separata dalla posizione del job. A differenza della posizione del job, la posizione consentita non influisce sulla posizione utilizzata per creare un batch job e archiviare i metadati del job. Per ulteriori informazioni, consulta Località dei batch. |
per le risorse di una pipeline (
|
per il criterio delle risorse di un job (
|
In Cloud Life Sciences, puoi configurare l'unica VM su cui viene eseguita una pipeline. In 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 elemento eseguibile:
|
Questi vari flag di praticità di Cloud Life Sciences sono equivalenti in Batch tranne per il fatto che vengono specificati per ogni elemento eseguibile (che può contenere uno script o un contenitore) anziché per ogni azione (contenitore). |
per un'azione:
|
opzioni (options ) per un container eseguibile |
Queste opzioni (e altre) di Cloud Life Sciences sono supportate in
Batch tramite il campo delle opzioni ( |
per un'azione:
|
Nessun equivalente |
Batch esegue il pre-caricamento delle immagini ed elabora gli output di tutti gli elementi eseguibili in modo identico in conformità con le norme relative ai log del job ( |
Opzione per bloccare le reti esterne (blockExternalNetwork ) per un'azione |
opzione 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 per bloccare le reti esterne per un contenitore. Batch offre anche molte altre opzioni di rete, ad esempio la possibilità di bloccare le reti esterne per tutte le VM di un job. Per ulteriori informazioni, consulta la panoramica della rete in batch. |
supporti (mounts[] ) per un'azione |
volumi per tutti i file eseguibili (volumes[] in taskSpec ) e opzioni di volume per un container (volumes[] in container ) |
In Batch, puoi utilizzare il
campo Inoltre, Batch supporta opzioni di volume esplicite sui file eseguibili del contenitore utilizzando il campo Per ulteriori informazioni sull'utilizzo dei volumi di archiviazione con Batch, consulta Creare ed eseguire un job che utilizza volumi di archiviazione. |
opzione per attivare Cloud Storage FUSE (enableFuse ) per un'azione |
Nessun equivalente |
Batch gestisce il montaggio di eventuali volumi di archiviazione, come un bucket Cloud Storage, specificati per un job.
Di conseguenza, non attivi strumenti di montaggio come Cloud Storage FUSE per Batch. Tuttavia, se vuoi, puoi 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 di notifica di un job (
|
Batch consente una maggiore personalizzazione degli aggiornamenti dello stato rispetto a Cloud Life Sciences. Ad esempio, gli utenti di Batch possono ricevere notifiche su un argomento Pub/Sub quando le singole attività cambiano stato o solo quando cambia lo stato del job complessivo. |
Servizi di workflow
Se utilizzi un servizio di flusso di lavoro con Cloud Life Sciences, la procedura di migrazione prevede anche la configurazione di un servizio di flusso di lavoro per il funzionamento con Batch. Questa sezione riassume i servizi di flusso di lavoro che puoi utilizzare con Batch.
Batch supporta Workflows, un servizio di flusso di lavoro di Google Cloud. Se vuoi utilizzare Workflows con Batch, consulta Eseguire un job Batch utilizzando Workflows. In caso contrario, la tabella seguente descrive altri servizi di flusso di lavoro che potresti utilizzare per Cloud Life Sciences e anche con Batch. Questa tabella elenca le differenze principali per l'utilizzo di ciascun servizio di flusso di lavoro con Batch anziché con Cloud Life Sciences e i dettagli su dove scoprire di più sull'utilizzo di ciascun servizio con Batch.
Servizio Workflow | Differenze principali | Dettagli |
---|---|---|
Cromwell |
Per utilizzare un file di configurazione Cromwell per l'API Cloud Life Sciences v2beta 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 per Cloud Life Sciences con Batch, apporta le seguenti modifiche:
|
Per scoprire di più su come utilizzare Batch con dsub, consulta la documentazione di dsub per Batch. |
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 su Batch o un tutorial su Nextflow Per ulteriori informazioni sulle opzioni di configurazione, consulta la documentazione di Nextflow. |
Snakemake |
Per utilizzare una pipeline Snakemake per l'API Cloud Life Sciences v2beta con l'API Batch, apporta le seguenti modifiche:
|
Per scoprire di più su come utilizzare Batch con Snakemake, consulta la documentazione di Snakemake per Batch. |
Passaggi successivi
- Per configurare Batch per nuovi utenti e progetti, consulta Inizia.
- Per scoprire come eseguire i carichi di lavoro utilizzando Batch, consulta Creare un job.