En esta página, se describe cómo migrar a Batch desde Cloud Life Sciences.
El 17 de julio de 2023, Google Cloud anunció que Cloud Life Sciences, que estaba en versión beta, dejó de estar disponible. El servicio dejará de estar disponible en Google Cloud después del 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 del lanzamiento de productos.
Comparación entre Cloud Life Sciences y Batch
Migrar de Cloud Life Sciences a Batch principalmente implica comprender cómo puedes usar Batch para las cargas de trabajo que ejecutas actualmente mediante la ejecución de canalizaciones de Cloud Life Sciences.
Para comprender cómo puedes ejecutar tus cargas de trabajo de Cloud Life Sciences en Batch, consulta las siguientes secciones:
Descripción general
Una canalización de Cloud Life Sciences describe una secuencia de acciones (contenedores) que se ejecutarán y el entorno en el que se ejecutarán.
Un trabajo por lotes describe un array de una o más tareas y el entorno en el que se ejecutarán. La carga de trabajo de un trabajo se define 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, en los siguientes ejemplos, se describe una canalización simple de Cloud Life Sciences y su trabajo por lotes 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 por lotes de varias tareas son similares a las canalizaciones de Cloud Life Sciences copiadas.
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 elementos ejecutables para un trabajo, debes definir la cantidad de tareas. Cuando un trabajo tiene varias tareas, especificas 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 requieres que se ejecuten en orden secuencial y una a la vez. El procesamiento por lotes administra la programación de las tareas del trabajo: Cuando finaliza una tarea, el trabajo inicia automáticamente la siguiente, si la hay.
Por ejemplo, consulta el siguiente trabajo por lotes. Esta tarea 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 define 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
}]
}
Los flujos de trabajo que involucran la creación y supervisión de varias canalizaciones similares de Cloud Life Sciences a veces se pueden simplificar si se aprovecha 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 las de 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 por lotes |
---|---|---|
Ejecuta 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 operaciones de larga duración no desempeñan el mismo rol en Batch que en Cloud Life Sciences.
Los recursos de operaciones de larga duración (LROs) en Cloud Life Sciences son el recurso principal que se usa para enumerar y ver tus pipelines. Sin embargo, los recursos de operaciones de larga duración en Batch y otras Google Cloud APIs solo se usan para supervisar el estado de una solicitud que tarda mucho tiempo en completarse. Específicamente, en Batch, la única solicitud que muestra un recurso de operación de larga duración es borrar 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 REST projects.locations.operations
.
En lugar de usar recursos de operaciones 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 ver sus detalles y estado. Sin embargo, cada una de las tareas de un trabajo también tiene sus propios detalles y estados que puedes ver en una lista de tareas y en los detalles de una tarea.
Para ayudarte a comprender mejor las operaciones básicas de Cloud Life Sciences en comparación con Batch, las siguientes secciones proporcionan ejemplos de comandos de Google Cloud CLI y rutas de acceso de solicitudes a la API para algunas de estas operaciones básicas.
Ejemplos de comandos de la CLI de gcloud
En la CLI de gcloud, 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 mostró la solicitud para ejecutar la canalización.
Ejemplos de comandos de la CLI de gcloud 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
: Es la ubicación del trabajo.JSON_CONFIGURATION_FILE
: Es la ruta de acceso a un archivo JSON con los detalles de configuración de la tarea.TASK_INDEX
: Es el índice de la tarea de la que deseas ver los detalles. En un grupo de tareas, el índice de tareas 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 se debe establecer engroup0
.
Rutas de solicitud a la API de ejemplo
En el caso de las APIs, Cloud Life Sciences usa rutas de acceso de solicitud lifesciences.googleapis.com
y Batch usa rutas de acceso de solicitud batch.googleapis.com
.
Por ejemplo, consulta las siguientes rutas de solicitud a la API. A diferencia de
Cloud Life Sciences, Batch no tiene una API de RPC;
solo tiene una API de REST.
Rutas de acceso de solicitud a la API de Cloud Life Sciences de ejemplo:
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 mostró la solicitud para ejecutar la canalización.
Rutas de solicitud a la API de ejemplo 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 de 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
: Es 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 se debe establecer engroup0
.OPERATION_ID
: Es el identificador de la operación de larga duración que mostró la solicitud para borrar la tarea.
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 se requieren 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 una tarea. Para obtener más información sobre los requisitos de IAM, consulta Requisitos previos para usar el procesamiento por lotes.
Asignar roles por lotes a los 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 la cuenta de servicio (roles/iam.serviceAccountUser ) en la cuenta de servicio del trabajo |
|
Roles por lotes para cuentas de servicio | Permisos |
Informes 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 componente se representa con una descripción y su sintaxis JSON. Puedes usar la sintaxis JSON cuando accedes a Batch a través de la API o cuando especificas un archivo de configuración de 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:
Para Cloud Life Sciences, consulta la documentación de referencia de la API de Cloud Life Sciences para el recurso REST
projects.locations.pipelines
.Para Batch, consulta la documentación de referencia de la API de Batch para el recurso REST de
projects.locations.jobs
.
Funciones de Cloud Life Sciences | Funciones 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 elementos ejecutables iguales. 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 tareas (trabajos con varias), 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 |
elementos ejecutables (runnables[] ) para las tareas de un trabajo |
Una acción de Cloud Life Sciences describe un contenedor, pero un elemento 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 contenedor ejecutable se encuentran en campos separados. Cualquier campo 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 tengan formato de texto sin formato o de diccionario encriptado.
En Batch, esto es similar a tener el entorno de un elemento 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 de trabajo) |
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 procesamiento por lotes 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 especifica dónde se pueden crear las VMs de un trabajo. Todas las VMs de un solo 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 está separado 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 sus metadatos. 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 (una) VM en la que se ejecuta una canalización. En Batch, las mismas opciones para las VMs están disponibles en los campos de la política de asignación de recursos de un trabajo (
|
para una acción:
|
para un elemento ejecutable:
|
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 cada acción (contenedor). |
para una acción:
|
opciones (options ) para un contenedor ejecutable |
Estas opciones de Cloud Life Sciences (y otras) son compatibles con Batch a través del campo de opciones ( |
para una acción:
|
Sin equivalente |
El procesamiento por lotes precarga imágenes y procesa los resultados de todos los elementos ejecutables de forma idéntica de acuerdo con 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 contenedor ejecutable |
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 red, como bloquear redes externas para todas las VMs de un trabajo. Para obtener más información, consulta Descripción general de las redes de lotes. |
activaciones (mounts[] ) para una acción |
volúmenes para todos los elementos 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 mediante el campo Para obtener más información sobre el uso de volúmenes de almacenamiento con Batch, consulta Cómo crear y ejecutar un trabajo que use volúmenes de almacenamiento. |
opción para habilitar Cloud Storage FUSE (enableFuse ) para una acción |
Sin equivalente |
Por lotes, se 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, de forma opcional, puedes especificar opciones de activación para tus volúmenes de almacenamiento con el campo Para obtener más información sobre el uso de buckets de Cloud Storage con Batch, consulta Cómo crear y ejecutar una tarea 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 (
|
El procesamiento por lotes 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 el trabajo general cambia de estado. |
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 Cómo ejecutar un trabajo de Batch con Workflows. De lo contrario, en la siguiente tabla, se describen otros servicios de flujos de trabajo que puedes usar para Cloud Life Sciences y que también puedes usar con Batch. En esta tabla, se enumeran las diferencias clave para usar cada servicio de flujo de trabajo con Batch en lugar de Cloud Life Sciences, y se proporcionan detalles sobre dónde 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 Cómo crear un trabajo.