Nesta página, descrevemos como migrar para o Batch Cloud Life Sciences.
Em 17 de julho de 2023, o Google Cloud anunciou que o Cloud Life Sciences, que estava na versão Beta, foi descontinuado. O serviço não estará mais disponível no Google Cloud após 8 de julho de 2025. No entanto, o Batch está disponível em geral e é um sucessor abrangente que oferece suporte a todos os casos de uso do Cloud Life Sciences.
Saiba mais sobre o Batch, o Cloud Life Sciences e as etapas de lançamento do produto.
Cloud Life Sciences versus Batch
Como migrar do Cloud Life Sciences para o Batch envolve principalmente entender como é possível usar o Batch para as cargas de trabalho que você executa atualmente ao executar pipelines do Cloud Life Sciences.
Para entender como é possível executar seu projeto do Cloud Life Sciences cargas de trabalho no Batch, consulte todas as seções a seguir:
Visão geral
Um pipeline do Cloud Life Sciences descreve uma sequência de ações (contêineres) a serem executadas e o ambiente para executar os contêineres.
Um job em lote descreve uma matriz de uma ou mais tarefas e a para executar essas tarefas. Você define a carga de trabalho de um job como uma sequência de um ou mais executáveis (contêineres e/ou scripts) a serem executados. Cada tarefa de um job representa uma execução da sequência de executáveis.
Os pipelines do Cloud Life Sciences podem ser expressos como jobs em lote de tarefa única.
Por exemplo, os exemplos a seguir descrevem um pipeline simples do Cloud Life Sciences e o job em lote equivalente:
Pipeline do Cloud Life Sciences | Job em lote |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
Os jobs em lote com várias tarefas são semelhantes aos pipelines copiados do Cloud Life Sciences.
Ao contrário do Cloud Life Sciences, o Batch permite programar automaticamente várias execuções da carga de trabalho. Você indica o número de vezes que quer executar a sequência de executáveis para um job definindo o número de tarefas. Quando um job tem várias tarefas, você especifica como deseja que cada execução varie referenciando o índice da tarefa nos seus executáveis. Além disso, é possível configurar os horários relativos das tarefas de um job, por exemplo, permitir que várias tarefas sejam executadas em paralelo ou exigir que as tarefas sejam executadas em ordem sequencial e uma de cada vez. O lote gerencia a programação das tarefas do job: quando uma tarefa é concluída, o job inicia automaticamente a próxima tarefa, se houver.
Por exemplo, confira o seguinte job em lote. Este job de exemplo
tem 100 tarefas que são executadas em 10 instâncias de máquina virtual (VM) do Compute Engine. Portanto, há aproximadamente 10 tarefas em execução em paralelo
a qualquer momento. Cada tarefa neste job de exemplo executa apenas um executável:
um script que exibe uma mensagem e o índice da tarefa, que é definido pelo
BATCH_TASK_INDEX
variável de ambiente predefinida.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Workflows que envolvem a criação e o monitoramento de vários fluxos de trabalho Às vezes, os pipelines do Cloud Life Sciences podem ser simplificados aproveitar a programação integrada do Batch.
Operações básicas
Nesta seção, descrevemos as operações básicas no Cloud Life Sciences e em lote.
A tabela a seguir resume as opções de operações básicas para Cloud Life Sciences e Batch.
Operação básica | Opções do Cloud Life Sciences | Opções de lote |
---|---|---|
Executar uma carga de trabalho. |
|
|
Confira todas as cargas de trabalho. |
|
|
Visualize os detalhes e o status de uma carga de trabalho. |
|
|
Interrompa e remova uma carga de trabalho. |
|
|
As operações básicas do Cloud Life Sciences e do Batch têm algumas diferenças importantes.
Primeiro, os recursos operação de longa duração não desempenham o mesmo papel
em lote que eles fazem no Cloud Life Sciences.
Os recursos de operação de longa duração (LROs, na sigla em inglês) no Cloud Life Sciences são o recurso principal usado para listar e visualizar seus pipelines. No entanto,
os recursos de operação de longa duração no Batch e em outras APIs do Google Cloud
são usados apenas para monitorar o status de uma solicitação que leva muito tempo para
ser concluída. Especificamente, no Batch, a única solicitação
retorna um recurso de operação de longa duração que está excluindo um job.
Para mais informações sobre recursos de operação de longa duração para
Batch, consulte a
documentação de referência da API Batch para o recurso REST projects.locations.operations
.
Em vez de usar recursos de operação de longa duração, o Batch tem
recursos de job que você pode conferir e excluir para suas cargas de trabalho.
Em segundo lugar, visualizar os detalhes de uma carga de trabalho no Batch envolve operações diferentes do Cloud Life Sciences. É possível visualizar um job para os detalhes e o status. Mas cada uma das tarefas de um trabalho também tem detalhes e status próprios, que podem ser consultados ao visualizar uma lista de tarefas de um job e visualizar os detalhes de uma tarefa.
Para entender melhor as operações básicas do Cloud Life Sciences em comparação com o Batch, as seções a seguir apresentam exemplos de comandos da CLI do Google Cloud e caminhos de solicitações de API para algumas dessas operações básicas.
Exemplos de comandos da CLI gcloud
Para a CLI gcloud, os comandos do Cloud Life Sciences
comece com os comandos gcloud beta lifesciences
e Batch
comece com gcloud batch
.
Por exemplo, consulte os comandos da CLI gcloud a seguir.
Exemplos de comandos da CLI gcloud do Cloud Life Sciences:
Executar um pipeline:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Acesse os detalhes de uma operação de longa duração:
gcloud beta lifesciences operations describe OPERATION_ID
Substitua:
PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: o local do pipeline.JSON_CONFIGURATION_FILE
: o arquivo de configuração JSON do pipeline.OPERATION_ID
: o identificador da operação de longa duração, que foi retornado pela solicitação para executar o pipeline.
Exemplos de comandos da CLI gcloud em lote:
Criar e executar um job:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Visualizar os detalhes de uma tarefa:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Para ver a lista de tarefas de um job:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Visualizar os detalhes de uma tarefa:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
Excluir (e cancelar) um job:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Substitua:
JOB_NAME
: o nome do job.PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: o local do job.JSON_CONFIGURATION_FILE
: o caminho para um arquivo JSON com os detalhes de configuração do job.TASK_INDEX
: o índice da tarefa cujos detalhes você quer ver. Em um grupo de tarefas, o índice começa em 0 para a primeira tarefa e aumenta em 1 a cada tarefa adicional. Por exemplo, uma tarefa O grupo que contém quatro tarefas tem os índices0
,1
,2
e3
.TASK_GROUP_NAME
: o nome do grupo de tarefas que sobre os quais você deseja visualizar os detalhes. O valor precisa ser definido comogroup0
Exemplos de caminhos de solicitação de API
Para APIs, o Cloud Life Sciences usa
Caminhos de solicitação lifesciences.googleapis.com
e usos em lote
batch.googleapis.com
caminhos de solicitação.
Por exemplo, consulte os caminhos de solicitação de API a seguir. Ao contrário do Cloud Life Sciences, o Batch não tem uma API RPC, apenas uma API REST.
Caminhos de solicitação da API de exemplo do Cloud Life Sciences:
Execute um pipeline:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Acesse os detalhes de uma operação de longa duração:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Substitua:
PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: o local do pipeline.OPERATION_ID
: o identificador do operação de longa duração retornada pela solicitação para executar o pipeline.
Exemplos de caminhos de solicitação de API em lote:
Criar e executar um job:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
Visualizar os detalhes de uma tarefa:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Confira a lista de tarefas de um job:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Excluir um job
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Verifique o status da solicitação de exclusão de job:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Substitua:
PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: o local do job.JOB_NAME
: o nome do job.TASK_GROUP_NAME
: o nome do grupo de tarefas que você quer consultar. O valor precisa ser definido comogroup0
.OPERATION_ID
: o identificador da operação de longa duração, que foi retornado pela solicitação para excluir o job.
Permissões e papéis do IAM
Esta seção resume as diferenças no Identity and Access Management e permissões do Cloud Life Sciences e em lote. Para mais informações sobre as funções as permissões, consulte a Referência dos papéis básicos e predefinidos do IAM.
A tabela a seguir descreve os papéis predefinidos e as permissões deles que são necessários para os usuários do Cloud Life Sciences.
Papéis do Cloud Life Sciences | Permissões |
---|---|
Qualquer um dos seguintes:
|
|
Leitor do Cloud Life Sciences (roles/lifesciences.viewer ) no projeto |
|
A tabela a seguir descreve alguns dos papéis predefinidos e as permissões deles para o Batch. Ao contrário do Cloud Life Sciences, O Batch exige que você conceda permissões a usuários e a conta de serviço para um job. Para mais informações sobre os requisitos do IAM, consulte Pré-requisitos para o Batch.
Papéis em lote para usuários | Permissões |
---|---|
Editor de jobs em lote (roles/batch.jobsEditor ) no projeto |
|
Leitor de job em lote (roles/batch.jobsViewer ) no projeto |
|
Usuário da conta de serviço (roles/iam.serviceAccountUser ) na conta de serviço do job |
|
Papéis em lote para contas de serviço | Permissões |
Batch Agent Reporter (roles/batch.agentReporter ) no projeto |
|
Recursos correspondentes
A tabela a seguir descreve os recursos o Cloud Life Sciences, os recursos equivalentes Batch e detalhes sobre as diferenças entre eles.
Cada recurso é representado por uma descrição e sua sintaxe JSON. É possível usar a sintaxe JSON ao acessar o Batch pela API ou ao especificar um arquivo de configuração JSON pela CLI do Google Cloud. No entanto, você também pode usar os recursos do Batch com outros métodos, como campos do console do Google Cloud, flags da gcloud CLI e bibliotecas de cliente, que são descritos na documentação do Batch.
Para mais informações sobre cada recurso e a sintaxe JSON dele, consulte:
Para o Cloud Life Sciences, consulte a documentação de referência da API Cloud Life Sciences para o recurso REST
projects.locations.pipelines
.Para o Batch, consulte a Documentação de referência da API Batch para o recurso REST
projects.locations.jobs
.
Recursos do Cloud Life Sciences | Atributos em lote | Detalhes |
---|---|---|
pipeline (pipeline ) |
job (job ) e as tarefas dele (taskGroups[] ) |
Um job em lote consiste em uma matriz de uma ou mais tarefas que executam todos os mesmos executáveis. Um pipeline do Cloud Life Sciences é semelhante para um job em lote com uma tarefa. No entanto, o Cloud Life Sciences não tem um conceito equivalente para tarefas (jobs com várias), que são semelhantes a repetições de um pipeline. Para mais informações sobre jobs e tarefas, consulte Visão geral do Batch. |
ações (actions[] ) para um pipeline |
executáveis (runnables[] ) para as tarefas de um job |
Uma ação do Cloud Life Sciences descreve um contêiner, mas um executável em lote pode conter um contêiner ou um script. |
credenciais (credentials ) para uma ação |
para um contêiner executável: |
No Cloud Life Sciences, as credenciais de uma ação precisam ser um dicionário criptografado do Cloud Key Management Service com pares de chave-valor de nome de usuário e senha. No lote, o nome de usuário e a senha de um contêiner executável estão em campos separados. Qualquer um dos campos pode ser especificado com texto simples ou com o nome de um Secret do Secret Manager. |
para uma ação:
|
para um ambiente:
possíveis ambientes:
|
O Cloud Life Sciences permite especificar as variáveis de ambiente
para uma ação formatada como texto simples ou como um dicionário criptografado.
No Batch, isso é semelhante a ter o ambiente
para um executável (campo Porém, o Batch também tem mais opções variáveis de ambiente:
Para mais informações, consulte Usar variáveis de ambiente. |
rótulos de uma solicitação para executar um pipeline (labels no corpo da solicitação) |
rótulos de um job (labels no recurso do job) |
Ao contrário do Cloud Life Sciences, o Batch não inclui um campo de identificadores na solicitação para criar um novo job. A opção mais próxima para o Batch é usar rótulos associados apenas ao job. O lote tem vários tipos de rótulos
(campos |
regiões (regions[] ) e zonas (zones[] ) para os recursos de um pipeline (resources ) |
locais permitidos (allowedLocations ) para a política de local de recursos de um job (locationPolicy ) |
No Cloud Life Sciences, um pipeline é executado em uma única VM, é possível especificar as regiões e/ou zonas desejadas. No Batch, a opção equivalente são os locais permitidos para um job, que podem ser definidos como uma ou mais regiões ou zonas e especifica onde as VMs de um job podem ser criadas. Todas as VMs de um único job em lote pertencem a um único grupo gerenciado de instâncias (MIG), que existe em uma região específica. No entanto, as VMs individuais podem estar em diferentes zonas dessa região. É importante ressaltar que especificar o campo de locais permitidos para uma vaga é opcional, porque ele é separado do local da vaga. Ao contrário do local do job, o local permitido não afeta o local usado para criar um job em lote e armazenar os metadados do job. Para mais informações, consulte Locais de lote. |
para os recursos de um pipeline (
|
para a política de recursos de um trabalho (
|
No Cloud Life Sciences, é possível configurar a VM que um pipeline é executado. Em Batch, o
mesmas opções para VMs estão disponíveis nos campos de uma
política de alocação de recursos do job (
|
para uma ação:
|
para um executável:
|
Essas várias flags de conveniência do Cloud Life Sciences são equivalentes no lote, exceto que são especificadas para cada executável (que pode conter um script ou contêiner) em vez de cada ação (contêiner). |
para uma ação:
|
(options ) para um contêiner executável |
Essas opções do Cloud Life Sciences (e outras) são compatíveis com
Agrupar o campo de opções ( |
para uma ação:
|
sem equivalente |
O lote pré-busca imagens e processa os
as saídas de todos os executáveis de maneira idêntica de acordo com o
política de registros ( |
opção de bloquear redes externas (blockExternalNetwork ) para uma ação |
opção para bloquear redes externas (blockExternalNetwork ) de um contêiner executável |
A opção do Cloud Life Sciences para bloquear redes externas semelhante à opção em lote para bloquear redes para um contêiner. O lote também tem muitas outras opções de rede, como bloquear redes externas para todas as VMs de um job. Para mais informações, consulte Visão geral da rede em lote. |
montagens (mounts[] ) para uma ação |
volumes para todos os executáveis (volumes[] em taskSpec ) e opções de volume para um contêiner (volumes[] em container ) |
No lote, é possível usar o campo Além disso, o Batch
oferece suporte a opções explícitas de volume em executáveis de contêiner usando o
Campo Para mais informações sobre como usar volumes de armazenamento com Batch, consulte Criar e executar um job que usa volumes de armazenamento. |
opção para ativar o Cloud Storage FUSE (enableFuse ) para uma ação |
sem equivalente |
O Batch processa a montagem de volumes de armazenamento,
como um bucket do Cloud Storage, especificados para um job.
Como resultado, você não ativa nenhuma ferramenta de montagem como o Cloud Storage FUSE
para Batch No entanto, é possível especificar
de suporte para os volumes de armazenamento usando o
campo Para mais informações sobre como usar buckets do Cloud Storage com Batch, consulte Criar e executar um job que usa volumes de armazenamento. |
Tópico do Pub/Sub (pubSubTopic ) para uma solicitação de execução de um pipeline |
para as configurações de notificação de um job (
|
O lote permite maior personalização das atualizações de status do que o Cloud Life Sciences. Por exemplo, os usuários do Batch podem receber notificações em um tópico do Pub/Sub quando tarefas individuais mudam de estado ou apenas quando o job em geral muda de estado. |
Serviços de fluxo de trabalho
Se você usa um serviço de fluxo de trabalho com o Cloud Life Sciences, o processo de migração também envolve a configuração de um serviço de fluxo de trabalho para funcionar com o Batch. Esta seção resume os serviços de fluxo de trabalho que podem ser usados com o Batch.
O Batch é compatível com Workflows, que é uma serviço de fluxo de trabalho do Google Cloud. Se você quiser usar o Workflows com o Batch, consulte Executar um job do Batch usando o Workflows. Caso contrário, a tabela a seguir descreve outros serviços de fluxos de trabalho que pode ser usado no Cloud Life Sciences com em lote. Esta tabela lista as principais diferenças para usar cada serviço de fluxo de trabalho com Batch em vez do Cloud Life Sciences e detalhes sobre onde aprender mais sobre como usar cada serviço com o Batch.
Serviço de fluxo de trabalho | Principais diferenças | Detalhes |
---|---|---|
Cromwell |
Para usar um arquivo de configuração do Cromwell para a API Cloud Life Sciences v2beta com a API Batch, faça as seguintes mudanças:
|
Para saber mais sobre como usar o Batch com o Cromwell, consulte a Documentação do Cromwell para o Batch (em inglês) e tutorial do Cromwell para o Batch. |
dsub |
Para usar um pipeline dsub para o Cloud Life Sciences com o Batch, faça as seguintes alterações:
|
Para saber mais sobre como usar o Batch com dsub, consulte Documentação do dsub para Batch. |
Nextflow |
Para usar um arquivo de configuração do Nextflow no o Cloud Life Sciences com Batch, faça as seguintes alterações:
|
Para saber mais sobre como usar o Batch com o Nextflow, consulte a Tutorial em lote ou Tutorial do Nextflow Para mais informações sobre as opções de configuração, consulte a Documentação do Nextflow. |
Snakemake |
Para usar um pipeline Snakemake para a API Cloud Life Sciences v2beta com a API Batch, faça o seguinte: mudanças:
|
Para saber mais sobre como usar o Batch com o Snakemake, consulte Documentação do Snakemake para Batch. |
A seguir
- Para configurar o Batch para novos usuários e projetos, consulte Comece agora.
- Para saber como executar cargas de trabalho usando o Batch, consulte Criar um job.