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 ya no estará disponible en Google Cloud después del 8 de julio de 2025. Sin embargo, Batch tiene disponibilidad general y es un sucesor completo que admite todos los casos prácticos de Cloud Life Sciences.
Obtén más información sobre Batch, Cloud Life Sciences y las etapas de lanzamiento de productos.
Cloud Life Sciences frente a Batch
La migración de Cloud Life Sciences a Batch implica principalmente comprender cómo puedes usar Batch para las cargas de trabajo que ejecutas en la actualidad mediante canalizaciones de Cloud Life Sciences.
Para comprender cómo puedes ejecutar tus cargas de trabajo de Cloud Life Sciences en Batch, consulta todas las secciones siguientes:
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 los contenedores.
Un trabajo por lotes describe un arreglo de una o más tareas y el entorno en el que se ejecutarán esas tareas. Debes definir la carga de trabajo para 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 por lotes de una sola tarea.
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 copiadas de Cloud Life Sciences.
A diferencia de Cloud Life Sciences, Batch te permite programar de forma automática varias ejecuciones de tu carga de trabajo. Para indicar la cantidad de veces que deseas ejecutar la secuencia de ejecutables de un trabajo, define la cantidad de tareas. Cuando un trabajo tiene varias tareas, especifica cómo deseas que varíe cada ejecución mediante la referencia al índice de la tarea en los ejecutables. Además, puedes configurar los programas relativos para las tareas de un trabajo; por ejemplo, si deseas permitir que varias tareas se ejecuten en paralelo o requerir que las tareas se ejecuten en orden secuencial y una a la vez. Por lotes administra la programación de las tareas del trabajo: cuando finaliza una tarea, la tarea inicia automáticamente la siguiente, si la hay.
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 alrededor de 10 tareas en ejecución en paralelo en cualquier momento. Cada tarea de este trabajo de ejemplo solo ejecuta un ejecutable: una secuencia de comandos que imprime un mensaje y el índice de la tarea, que se define mediante 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 supervisión de varias canalizaciones similares de Cloud Life Sciences a veces se pueden simplificar mediante 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 lote |
---|---|---|
Ejecutar una carga de trabajo |
|
|
Visualiza todas tus cargas de trabajo. |
|
|
Consulta los detalles y el estado de una carga de trabajo. |
|
|
Detén y quita 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 cumplen la misma función 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 muestra un recurso de operación de larga duración es borrar un trabajo.
Si deseas obtener más información sobre los recursos de operaciones de larga duración para 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 operaciones de larga duración, Batch tiene recursos de trabajo que puedes ver y borrar para las 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 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 acceso de solicitudes a la API para algunas de estas operaciones básicas.
Ejemplos de comandos de gcloud CLI
Para gcloud CLI, los comandos de Cloud Life Sciences comienzan con gcloud beta lifesciences
y los comandos por lotes comienzan con gcloud batch
.
Por ejemplo, consulta los siguientes comandos de gcloud CLI.
Ejemplo 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 los 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.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.
Ejemplo de comandos por lotes de gcloud CLI:
Crea y ejecuta un trabajo:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Consulta los detalles de un trabajo:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Visualiza la lista de tareas de un trabajo:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Consulta los detalles de una tarea:
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.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 del trabajo.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 del que deseas ver los detalles. El valor se debe establecer engroup0
.
Ejemplos de rutas de solicitud a la API
En el caso de las APIs, Cloud Life Sciences usa rutas de solicitud lifesciences.googleapis.com
y Batch usa rutas 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 solicitud a la API de ejemplo de Cloud Life Sciences:
Ejecuta una canalización:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Obtén los 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.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.
Ejemplos de rutas de solicitudes 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
Consulta los detalles de un trabajo:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Visualiza la lista de tareas de un trabajo:
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
Comprueba 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.LOCATION
: Es la ubicación del trabajo.JOB_NAME
: Es el nombre del trabajo.TASK_GROUP_NAME
: Es el nombre del grupo de tareas del que deseas ver los detalles. El valor se debe establecer engroup0
.OPERATION_ID
: El identificador de la operación de larga duración, que mostró la solicitud para borrar el trabajo.
Permisos y roles de IAM
En esta sección, se resumen las diferencias en las funciones y los permisos de la administración de identidades y accesos para Cloud Life Sciences y Batch. Para obtener más información sobre cualquier función y sus permisos, consulta la referencia de funciones básicas y predefinidas de IAM.
En la siguiente tabla, se describen las funciones predefinidas y los permisos necesarios para los usuarios de Cloud Life Sciences.
Roles 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 algunas de las funciones predefinidas 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. Si quieres 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 |
|
Funciones por lotes para cuentas de servicio | Permisos |
Informante del agente por lotes (roles/batch.agentReporter ) en el proyecto |
|
Atributos correspondientes
En la siguiente tabla, se describen las características de Cloud Life Sciences, las características equivalentes para Batch y las diferencias entre ellas.
Cada función está representada por 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 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 a través de 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 los siguientes vínculos:
En 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 REST
projects.locations.jobs
.
Características de Cloud Life Sciences | Atributos por lotes | Detalles |
---|---|---|
canalización (pipeline ) |
trabajo (job ) y sus tareas (taskGroups[] ) |
Un trabajo por lotes consiste en un arreglo de una o más tareas, cada una de las cuales ejecuta los mismos ejecutables. Una canalización de Cloud Life Sciences es similar a un trabajo por lotes con una tarea. Sin embargo, Cloud Life Sciences no tiene un concepto equivalente para las tareas (trabajos con varias) que, en cierta forma, son como las repeticiones de una canalización. Para obtener más información sobre los trabajos y las tareas, consulta Descripción general de Batch. |
acciones (actions[] ) para una canalización |
ejecutables (runnables[] ) para las tareas de un trabajo |
Una acción de Cloud Life Sciences describe un contenedor, pero un ejecutable por lotes 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 están en campos separados. Ambos campos se pueden 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 para una acción que tiene el formato de texto sin formato o como un diccionario encriptado.
En Batch, esto es similar a tener el entorno de 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 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. Batch 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 VM para un trabajo. Todas las VM 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 VM individuales pueden estar en zonas diferentes de esa región. En particular, es opcional especificar el campo de ubicaciones permitidas para un trabajo, 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 por 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 VM están disponibles en los campos de la política de asignación de recursos de un trabajo (
|
para una acción:
|
de un ejecutable:
|
Estas distintas 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:
|
(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 |
Por lotes carga previamente las imágenes y procesa las salidas de todos los ejecutables de manera 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 por una acción es similar a la opción por lotes para bloquear redes externas de un contenedor. Batch también tiene muchas otras opciones de herramientas de redes, como el bloqueo de redes externas para todas las VM de un trabajo. Para obtener más información, consulta la Descripción general de las herramientas de 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 contenedores ejecutables mediante el campo Para obtener más información sobre el uso de 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 |
Los lotes controlan 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 manera 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 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 la configuración de notificaciones de un trabajo (
|
Los lotes permiten una mayor personalización de las actualizaciones de estado que Cloud Life Sciences. Por ejemplo, los usuarios de Batch pueden recibir una notificación sobre un tema de Pub/Sub cuando las tareas individuales cambian de estado o solo cuando cambia el estado del trabajo general. |
Servicios de flujo de trabajo
Si usas un servicio de flujo de trabajo con Cloud Life Sciences, el proceso de migración también implica configurar un servicio de flujo de trabajo para trabajar con Batch. En esta sección, se resumen los servicios de flujo de trabajo que puedes usar con Batch. Además de los servicios de flujo de trabajo enumerados en esta sección, Batch también planea admitir más servicios de flujo de trabajo con el tiempo.
Batch admite Workflows, que es un servicio de flujo de trabajo de Google Cloud. Si deseas usar Workflows con Batch, consulta Ejecuta un trabajo por lotes 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. Además, se brindan detalles sobre dónde obtener más información sobre el uso de cada lote de trabajo.
Servicio de flujo de trabajo | Diferencias clave | Detalles |
---|---|---|
Nextflow |
Si deseas 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 por lotes o el instructivo sobre Nextflow. Si deseas obtener más información sobre las opciones de configuración, consulta la documentación de Nextflow. |
Cromwell |
Si deseas 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:
|
Si deseas 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 ejecución de tu canalización de dsub desde la API de 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. |
¿Qué sigue?
- Si deseas configurar Batch para usuarios y proyectos nuevos, consulta Primeros pasos.
- Para aprender a ejecutar cargas de trabajo con Batch, consulta Crea un trabajo.