En esta página, se describe cómo migrar a Batch desde Cloud Life Sciences.
Google Cloud anunció que Cloud Life Sciences quedó obsoleto el 17 de julio de 2023 y se dio de baja el 8 de julio de 2025. Sin embargo, Batch está disponible de forma general y es un sucesor integral que admite todos los casos de uso de Cloud Life Sciences.
Obtén más información sobre Batch, Cloud Life Sciences y las etapas de lanzamiento de productos.
Comparación entre Cloud Life Sciences y Batch
La migración de Cloud Life Sciences a Batch implica principalmente comprender cómo puedes usar Batch para las cargas de trabajo que actualmente ejecutas con canalizaciones de Cloud Life Sciences.
Para comprender cómo puedes ejecutar tus cargas de trabajo de Cloud Life Sciences en Batch, consulta todas las siguientes secciones:
Descripción general
Una canalización de Cloud Life Sciences describe una secuencia de acciones (contenedores) para ejecutar y el entorno en el que se ejecutarán los contenedores.
Un trabajo por lotes describe un array de una o más tareas y el entorno en el que se ejecutarán esas tareas. Defines la carga de trabajo de un trabajo como una secuencia de uno o más ejecutables (contenedores o secuencias de comandos) que se ejecutarán. Cada tarea de un trabajo representa una ejecución de su secuencia de ejecutables.
Las canalizaciones de Cloud Life Sciences se pueden expresar como trabajos de Batch de una sola tarea.
Por ejemplo, las siguientes muestras describen una canalización simple de Cloud Life Sciences y su trabajo de Batch equivalente:
Canalización de Cloud Life Sciences | Trabajo por lotes |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
Los trabajos de Batch de varias tareas son similares a las canalizaciones copiadas de Cloud Life Sciences.
A diferencia de Cloud Life Sciences, Batch te permite programar automáticamente varias ejecuciones de tu carga de trabajo. Para indicar la cantidad de veces que deseas ejecutar la secuencia de objetos ejecutables para un trabajo, define la cantidad de tareas. Cuando un trabajo tiene varias tareas, debes especificar cómo deseas que varíe cada ejecución haciendo referencia al índice de la tarea en tus ejecutables. Además, puedes configurar los programas relativos para las tareas de un trabajo, por ejemplo, si permites que varias tareas se ejecuten en paralelo o si exiges que las tareas se ejecuten en orden secuencial y de a una por vez. Batch administra la programación de las tareas del trabajo: cuando finaliza una tarea, el trabajo inicia automáticamente la siguiente, si hay alguna.
Por ejemplo, consulta el siguiente trabajo por lotes. Este trabajo de ejemplo tiene 100 tareas que se ejecutan en 10 instancias de máquina virtual (VM) de Compute Engine, por lo que hay aproximadamente 10 tareas que se ejecutan en paralelo en cualquier momento. Cada tarea de este trabajo de ejemplo solo ejecuta un elemento ejecutable: una secuencia de comandos que imprime un mensaje y el índice de la tarea, que se define con la variable de entorno predefinida BATCH_TASK_INDEX
.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Workflows que implican la creación y la supervisión de varias canalizaciones similares de Cloud Life Sciences a veces se pueden simplificar aprovechando la programación integrada de Batch.
Operaciones básicas
En esta sección, se describen las operaciones básicas en Cloud Life Sciences en comparación con Batch.
En la siguiente tabla, se resumen las opciones de operaciones básicas para Cloud Life Sciences y Batch.
Operación básica | Opciones de Cloud Life Sciences | Opciones de lotes |
---|---|---|
Ejecutar una carga de trabajo |
|
|
Consulta todas tus cargas de trabajo. |
|
|
Consulta los detalles y el estado de una carga de trabajo. |
|
|
Detener y quitar una carga de trabajo |
|
|
Las operaciones básicas de Cloud Life Sciences y Batch tienen algunas diferencias clave.
En primer lugar, los recursos de operación de larga duración no desempeñan el mismo rol en Batch que en Cloud Life Sciences.
Los recursos de operación de larga duración (LRO) en Cloud Life Sciences son el recurso principal que se usa para enumerar y ver tus canalizaciones. Sin embargo, los recursos de operaciones de larga duración en Batch y otras APIs de Google Cloud solo se usan para supervisar el estado de una solicitud que tarda mucho en completarse. Específicamente, en Batch, la única solicitud que devuelve un recurso de operación de larga duración es la eliminación de un trabajo.
Para obtener más información sobre los recursos de operaciones de larga duración de Batch, consulta la documentación de referencia de la API de Batch para el recurso de REST projects.locations.operations
.
En lugar de usar recursos de operación de larga duración, Batch tiene recursos de trabajo que puedes ver y borrar para tus cargas de trabajo.
En segundo lugar, ver los detalles de una carga de trabajo en Batch implica operaciones diferentes a las de Cloud Life Sciences. Puedes ver un trabajo para conocer sus detalles y su estado. Sin embargo, cada una de las tareas de un trabajo también tiene sus propios detalles y estado que puedes ver si consultas una lista de las tareas de un trabajo y los detalles de una tarea.
Para ayudarte a comprender mejor las operaciones básicas de Cloud Life Sciences en comparación con Batch, en las siguientes secciones, se proporcionan ejemplos de comandos de Google Cloud CLI y rutas de solicitudes a la API para algunas de estas operaciones básicas.
Ejemplos de comandos de gcloud CLI
En el caso de gcloud CLI, los comandos de Cloud Life Sciences comienzan con gcloud beta lifesciences
y los comandos de Batch comienzan con gcloud batch
.
Por ejemplo, consulta los siguientes comandos de gcloud CLI.
Ejemplos de comandos de gcloud CLI de Cloud Life Sciences:
Ejecuta una canalización:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Obtén detalles de una operación de larga duración:
gcloud beta lifesciences operations describe OPERATION_ID
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de tu proyecto.LOCATION
: Es la ubicación de la canalización.JSON_CONFIGURATION_FILE
: Es el archivo de configuración JSON de la canalización.OPERATION_ID
: Es el identificador de la operación de larga duración que devolvió la solicitud para ejecutar la canalización.
Ejemplo de comandos de gcloud CLI por lotes:
Crea y ejecuta un trabajo:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Para ver los detalles de un trabajo, sigue estos pasos:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Para ver la lista de tareas de un trabajo, sigue estos pasos:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Para ver los detalles de una tarea, sigue estos pasos:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
Borra (y cancela) un trabajo:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre del trabajo.PROJECT_ID
: Es el ID del proyecto de tu proyecto.LOCATION
: La ubicación del trabajo.JSON_CONFIGURATION_FILE
: Es la ruta de acceso a un archivo JSON con los detalles de configuración del trabajo.TASK_INDEX
: Es el índice de la tarea cuyos detalles deseas ver. En un grupo de tareas, el índice de la tarea comienza en 0 para la primera tarea y aumenta en 1 con cada tarea adicional. Por ejemplo, un grupo de tareas que contiene cuatro tareas tiene los índices0
,1
,2
y3
.TASK_GROUP_NAME
: Es el nombre del grupo de tareas cuyos detalles deseas ver. El valor debe establecerse engroup0
.
Ejemplo de rutas de solicitudes a la API
En el caso de las APIs, Cloud Life Sciences usa rutas de acceso a solicitudes lifesciences.googleapis.com
, y Batch usa rutas de acceso a solicitudes batch.googleapis.com
.
Por ejemplo, consulta las siguientes rutas de acceso de solicitudes a la API. A diferencia de Cloud Life Sciences, Batch no tiene una API de RPC, sino solo una API de REST.
Rutas de acceso de ejemplo para solicitudes a la API de Cloud Life Sciences:
Ejecuta una canalización:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Obtén detalles de una operación de larga duración:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de tu proyecto.LOCATION
: Es la ubicación de la canalización.OPERATION_ID
: Es el identificador de la operación de larga duración que devolvió la solicitud para ejecutar la canalización.
Ejemplos de rutas de solicitudes a la API por lotes:
Crea y ejecuta un trabajo:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
Para ver los detalles de un trabajo, sigue estos pasos:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Para ver la lista de tareas de un trabajo, sigue estos pasos:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Borra un trabajo
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Verifica el estado de la solicitud de eliminación del trabajo:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto de tu proyecto.LOCATION
: La ubicación del trabajo.JOB_NAME
: Es el nombre del trabajo.TASK_GROUP_NAME
: Es el nombre del grupo de tareas cuyos detalles deseas ver. El valor debe establecerse engroup0
.OPERATION_ID
: Es el identificador de la operación de larga duración que devolvió la solicitud para borrar el trabajo.
Permisos y funciones de IAM
En esta sección, se resumen las diferencias en los roles y permisos de Identity and Access Management para Cloud Life Sciences y Batch. Para obtener más información sobre los roles y sus permisos, consulta la Referencia de roles básicos y predefinidos de IAM.
En la siguiente tabla, se describen los roles predefinidos y sus permisos que son necesarios para los usuarios de Cloud Life Sciences.
Funciones de Cloud Life Sciences | Permisos |
---|---|
Cualquiera de los siguientes:
|
|
Visualizador de Cloud Life Sciences (roles/lifesciences.viewer ) en el proyecto |
|
En la siguiente tabla, se describen algunos de los roles predefinidos y sus permisos para Batch. A diferencia de Cloud Life Sciences, Batch requiere que otorgues permisos a los usuarios y a la cuenta de servicio para un trabajo. Para obtener más información sobre los requisitos de IAM, consulta Requisitos previos para Batch.
Roles por lotes para usuarios | Permisos |
---|---|
Editor de trabajos por lotes (roles/batch.jobsEditor ) en el proyecto |
|
Visualizador de trabajos por lotes (roles/batch.jobsViewer ) en el proyecto |
|
Usuario de cuenta de servicio (roles/iam.serviceAccountUser ) en la cuenta de servicio del trabajo |
|
Roles por lotes para cuentas de servicio | Permisos |
Informante del agente por lotes (roles/batch.agentReporter ) en el proyecto |
|
Funciones correspondientes
En la siguiente tabla, se describen las funciones de Cloud Life Sciences, las funciones equivalentes de Batch y los detalles sobre las diferencias entre ellas.
Cada función se representa con una descripción y su sintaxis JSON. Puedes usar la sintaxis de JSON cuando accedes a Batch a través de la API o cuando especificas un archivo de configuración JSON a través de Google Cloud CLI. Sin embargo, ten en cuenta que también puedes usar las funciones de Batch a través de otros métodos, como los campos de la consola de Google Cloud , las marcas de gcloud CLI y las bibliotecas cliente, que se describen en la documentación de Batch.
Para obtener más información sobre cada función y su sintaxis JSON, consulta lo siguiente:
En el caso de Cloud Life Sciences, consulta la documentación de referencia de la API de Cloud Life Sciences para el recurso de REST
projects.locations.pipelines
.Para Batch, consulta la documentación de referencia de la API de Batch para el recurso de
projects.locations.jobs
de REST.
Funciones de Cloud Life Sciences | Funciones de procesamiento por lotes | Detalles |
---|---|---|
canalización (pipeline ) |
trabajo (job ) y sus tareas (taskGroups[] ) |
Un trabajo por lotes consta de un array de una o más tareas que ejecutan todos los mismos ejecutables. Una canalización de Cloud Life Sciences es similar a un trabajo de Batch con una tarea. Sin embargo, Cloud Life Sciences no tiene un concepto equivalente para las tareas (trabajos con varias tareas), que son algo así como repeticiones de una canalización. Para obtener más información sobre los trabajos y las tareas, consulta la Descripción general de Batch. |
acciones (actions[] ) para una canalización |
Objetos ejecutables (runnables[] ) para las tareas de un trabajo |
Una acción de Cloud Life Sciences describe un contenedor, pero un ejecutable de Batch puede contener un contenedor o una secuencia de comandos. |
Credenciales (credentials ) para una acción |
para un contenedor ejecutable: |
En Cloud Life Sciences, las credenciales de una acción deben ser un diccionario encriptado de Cloud Key Management Service con pares clave-valor de nombre de usuario y contraseña. En Batch, el nombre de usuario y la contraseña de un elemento ejecutable de contenedor se encuentran en campos separados. Cualquiera de los campos se puede especificar con texto sin formato o con el nombre de un secreto de Secret Manager. |
para una acción:
|
para un entorno:
Entornos posibles:
|
Cloud Life Sciences te permite especificar las variables de entorno de una acción que se formatean como texto sin formato o como un diccionario encriptado.
En Batch, esto es similar a tener el entorno para un ejecutable (campo Sin embargo, Batch también tiene más opciones para especificar variables de entorno:
Para obtener más información, consulta Usa variables de entorno. |
Etiquetas para una solicitud para ejecutar una canalización (labels en el cuerpo de la solicitud) |
Etiquetas de un trabajo (labels en el recurso job) |
A diferencia de Cloud Life Sciences, Batch no incluye un campo de etiquetas en la solicitud para crear un trabajo nuevo. La opción más cercana para Batch es usar etiquetas que solo estén asociadas con el trabajo. El lote tiene varios tipos de etiquetas (campos |
Regiones (regions[] ) y zonas (zones[] ) para los recursos de una canalización (resources ) |
Ubicaciones permitidas (allowedLocations ) para la política de ubicación de recursos de un trabajo (locationPolicy ) |
En Cloud Life Sciences, una canalización se ejecuta en una sola VM, para la que puedes especificar las regiones o zonas deseadas. En Batch, la opción equivalente son las ubicaciones permitidas para un trabajo, que puedes definir como una o más regiones o zonas y que especifican dónde se pueden crear las VMs para un trabajo. Todas las VMs de un mismo trabajo por lotes pertenecen a un solo grupo de instancias administrado (MIG), que existe en una región en particular. Sin embargo, las VMs individuales pueden estar en diferentes zonas de esa región. En particular, especificar el campo de ubicaciones permitidas para un trabajo es opcional, ya que es independiente de la ubicación del trabajo. A diferencia de la ubicación del trabajo, la ubicación permitida no afecta la ubicación que se usa para crear un trabajo por lotes y almacenar los metadatos del trabajo. Para obtener más información, consulta Ubicaciones de lotes. |
para los recursos de una canalización (
|
para la política de recursos de un trabajo (
|
En Cloud Life Sciences, puedes configurar la VM (una) en la que se ejecuta una canalización. En Batch, las mismas opciones para las VMs están disponibles en los campos de una política de asignación de recursos del trabajo (
|
para una acción:
|
Para un elemento ejecutable, haz lo siguiente:
|
Estas diversas marcas de conveniencia de Cloud Life Sciences son equivalentes en Batch, excepto que se especifican para cada ejecutable (que puede contener una secuencia de comandos o un contenedor) en lugar de para cada acción (contenedor). |
para una acción:
|
Opciones (options ) para un ejecutable de contenedor |
Estas opciones de Cloud Life Sciences (y otras) se admiten en
Batch a través del campo de opciones ( |
para una acción:
|
Sin equivalente |
El procesamiento por lotes realiza una recuperación previa de las imágenes y procesa los resultados de todos los elementos ejecutables de forma idéntica según la política de registros del trabajo ( |
Opción para bloquear redes externas (blockExternalNetwork ) para una acción |
Opción para bloquear redes externas (blockExternalNetwork ) para un ejecutable de contenedor |
La opción de Cloud Life Sciences para bloquear redes externas para una acción es similar a la opción de Batch para bloquear redes externas para un contenedor. Batch también tiene muchas otras opciones de redes, como bloquear redes externas para todas las VMs de un trabajo. Para obtener más información, consulta la descripción general de las redes por lotes. |
Activaciones (mounts[] ) para una acción |
Volúmenes para todos los ejecutables (volumes[] en taskSpec ) y opciones de volumen para un contenedor (volumes[] en container ) |
En Batch, puedes usar el campo Además, Batch admite opciones de volumen explícitas en ejecutables de contenedores a través del campo Para obtener más información sobre cómo usar volúmenes de almacenamiento con Batch, consulta Crea y ejecuta un trabajo que use volúmenes de almacenamiento. |
Opción para habilitar Cloud Storage FUSE (enableFuse ) para una acción |
Sin equivalente |
Batch controla la activación de cualquier volumen de almacenamiento, como un bucket de Cloud Storage, que especifiques para un trabajo.
Como resultado, no habilitas ninguna herramienta de activación, como Cloud Storage FUSE para Batch. Sin embargo, puedes especificar de forma opcional opciones de activación para tus volúmenes de almacenamiento con el campo Para obtener más información sobre cómo usar buckets de Cloud Storage con Batch, consulta Crea y ejecuta un trabajo que use volúmenes de almacenamiento. |
Tema de Pub/Sub (pubSubTopic ) para una solicitud de ejecución de una canalización |
para las configuraciones de notificaciones de un trabajo (
|
Batch permite una mayor personalización de las actualizaciones de estado que Cloud Life Sciences. Por ejemplo, los usuarios de Batch pueden recibir notificaciones en un tema de Pub/Sub cuando las tareas individuales cambian de estado o solo cuando cambia el estado general del trabajo. |
Servicios de flujo de trabajo
Si usas un servicio de flujo de trabajo con Cloud Life Sciences, tu proceso de migración también implica configurar un servicio de flujo de trabajo para que funcione con Batch. En esta sección, se resumen los servicios de flujo de trabajo que puedes usar con Batch.
Batch admite Workflows, que es un servicio de flujo de trabajo de Google Cloud. Si deseas usar Workflows con Batch, consulta Ejecuta un trabajo de Batch con Workflows. De lo contrario, en la siguiente tabla, se describen otros servicios de Workflows que puedes usar para Cloud Life Sciences y también con Batch. En esta tabla, se enumeran las principales diferencias entre el uso de cada servicio de flujo de trabajo con Batch en lugar de Cloud Life Sciences, y se detallan los lugares donde puedes obtener más información para usar cada servicio con Batch.
Servicio de flujo de trabajo | Diferencias clave | Detalles |
---|---|---|
Cromwell |
Para usar un archivo de configuración de Cromwell para la API de Cloud Life Sciences v2beta con la API de Batch, realiza los siguientes cambios:
|
Para obtener más información sobre cómo usar Batch con Cromwell, consulta la documentación de Cromwell para Batch y el instructivo de Cromwell para Batch. |
dsub |
Para usar una canalización de dsub para Cloud Life Sciences con Batch, realiza los siguientes cambios:
|
Para obtener más información sobre cómo usar Batch con dsub, consulta la documentación de dsub para Batch. |
Nextflow |
Para usar un archivo de configuración de Nextflow para Cloud Life Sciences con Batch, realiza los siguientes cambios:
|
Para obtener más información sobre cómo usar Batch con Nextflow, consulta un instructivo de Batch o un instructivo de Nextflow. Para obtener más información sobre las opciones de configuración, consulta la documentación de Nextflow. |
Snakemake |
Para usar una canalización de Snakemake para la API de Cloud Life Sciences v2beta con la API de Batch, realiza los siguientes cambios:
|
Para obtener más información sobre cómo usar Batch con Snakemake, consulta la documentación de Snakemake para Batch. |
¿Qué sigue?
- Para configurar Batch para usuarios y proyectos nuevos, consulta Cómo comenzar.
- Para obtener información sobre cómo ejecutar cargas de trabajo con Batch, consulta Crea un trabajo.