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 disponible de forma general y es un sucesor integral que admite todos los casos de uso para Cloud Life Sciences.
Obtén más información sobre Batch, Cloud Life Sciences y el lanzamiento de un producto etapas.
Cloud Life Sciences frente a Batch
Migra de Cloud Life Sciences a Batch implica principalmente comprender cómo puedes usar Batch para las cargas de trabajo que ejecutas actualmente ejecutando Canalizaciones de Cloud Life Sciences.
Para comprender cómo puedes ejecutar Cloud Life Sciences de trabajo en Batch, consulta todas estas secciones:
Descripción general
Una canalización de Cloud Life Sciences describe una secuencia de acciones (contenedores) para ejecutar y el entorno ejecutar los contenedores.
Un trabajo por lotes describe un array de una o más tareas y las entorno en el que ejecutar esas tareas. Debes definir la carga de trabajo para un trabajo como una 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 pueden expresarse como trabajos por lotes de una sola tarea.
Por ejemplo, en los siguientes ejemplos se describe un problema Canalización de Cloud Life Sciences y su equivalente Trabajo por lotes:
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 en Batch 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 tareas múltiples, especificas cómo quieres que varíe cada ejecución hacer referencia al índice de la tarea en tus ejecutables. Además, puedes configurar las programaciones relativas para las tareas de un trabajo, por ejemplo, ya sea para permitir que varias tareas se ejecuten en paralelo o exigir tareas se ejecute en orden secuencial y de a uno por vez. Batch administra la programación de las tareas del trabajo: cuando finaliza una tarea, el trabajo inicia automáticamente la siguiente tarea, si la hubiera.
Por ejemplo, consulta el siguiente trabajo por lotes. En este ejemplo,
trabajo tiene 100 tareas que se ejecutan en 10 instancias de Compute Engine
de máquina virtual (VM), por lo que hay alrededor de 10 tareas ejecutándose en paralelo
en cualquier momento. Cada tarea de este ejemplo solo ejecuta un ejecutable:
una secuencia de comandos que imprime un mensaje y el índice de la tarea, que está definido por el
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
}]
}
de Workflows que implican la creación y supervisión de varias A veces, las canalizaciones de Cloud Life Sciences se pueden simplificar tomando 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.
La siguiente tabla resume las opciones de operaciones básicas para Cloud Life Sciences y Batch.
Operación básica | Opciones de Cloud Life Sciences | Opciones por 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 para Cloud Life Sciences y Batch tienen algunas diferencias clave.
En primer lugar, los recursos de operación de larga duración no tienen el mismo rol en
por lotes que realizan en Cloud Life Sciences.
Recursos de operación de larga duración (LRO) en Cloud Life Sciences
son el recurso principal que se usa para enumerar y visualizar tus canalizaciones. Sin embargo,
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 tiempo
que se completó. Específicamente, en Batch, la única solicitud que
muestra que un recurso de operación de larga duración es borrar un trabajo.
Para obtener más información sobre los recursos de operación de larga duración de
por lotes, 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
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 ver sus detalles y su estado. Sin embargo, cada una de las tareas de un trabajo también tiene sus propios detalles y estados, que puedes ver ver una lista de las tareas de un trabajo y ver 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 gcloud CLI
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
: el ID del proyecto de tu proyecto.LOCATION
: Es la ubicación de la canalización.JSON_CONFIGURATION_FILE
: Es la configuración JSON. para la canalización.OPERATION_ID
: Es el identificador del de larga duración, que mostró la solicitud para ejecutar el en una canalización de integración continua.
Comandos de gcloud CLI de ejemplo por lotes:
Crea y ejecuta un trabajo:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Visualiza los detalles de un trabajo:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Consulta 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
: el ID del proyecto de tu proyecto.LOCATION
: Es la ubicación. del trabajo.JSON_CONFIGURATION_FILE
: Es la ruta de acceso para un JSON. con los detalles de configuración del trabajo.TASK_INDEX
: El índice de la tarea 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, una tarea que contiene cuatro tareas tiene los índices0
,1
,2
y3
.TASK_GROUP_NAME
: Es el nombre del grupo de tareas que de los que deseas ver los detalles. El valor se debe establecer engroup0
Ejemplos de rutas de solicitud a la API
Para las APIs, Cloud Life Sciences usa
Rutas de solicitud de lifesciences.googleapis.com
y usos de Batch
Rutas de solicitud batch.googleapis.com
.
Por ejemplo, consulta las siguientes rutas de solicitud a la API. Desmarcar “Me gusta”
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 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
: el ID del proyecto de tu proyecto.LOCATION
: Es la ubicación de la en una canalización de integración continua.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
Visualiza los detalles de un trabajo:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Consulta 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
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
: 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 que de los que deseas ver los detalles. 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 el trabajo.
Permisos y roles de IAM
En esta sección, se resumen las diferencias de la administración de identidades y accesos. y permisos para Cloud Life Sciences y por lotes. 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 la cuenta de servicio para un trabajo. Para obtener más información sobre el de IAM, consulta Requisitos previos para Batch.
Roles de Batch para 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 cuenta de servicio (roles/iam.serviceAccountUser ) en la cuenta de servicio del trabajo |
|
Roles de Batch 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 atributo está representado por una descripción y su sintaxis JSON. Puedes usar la sintaxis JSON cuando accedes Por lotes a través de la API o cuando se especifica una 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 campos de la consola de Google Cloud, marcas gcloud CLI y las bibliotecas cliente, que se describen en el Documentación por lotes.
Para obtener más información sobre cada atributo 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 de 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 | Atributos por lotes | Detalles |
---|---|---|
canalización (pipeline ) |
trabajo (job ) y sus tareas (taskGroups[] ) |
Un trabajo por lotes consiste en un array de una o más tareas que cada uno ejecute 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 tareas (trabajos con múltiples), que son como repeticiones de una canalización. Para obtener más información sobre los trabajos y 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 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 Cloud Key Management Service encriptado 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 una Secret de Secret Manager. |
para realizar una acción:
|
para un entorno:
entornos posibles:
|
Cloud Life Sciences te permite especificar las variables de entorno
para una acción con formato de texto sin formato o como un diccionario encriptado.
En Batch, esto es similar a tener el entorno
para un ejecutable (campo Pero Batch también tiene más opciones para especificar variables de entorno:
Para obtener más información, consulta Usa variables de entorno. |
etiquetas de una solicitud para ejecutar una canalización (labels en el cuerpo de la solicitud) |
Etiquetas para un trabajo (labels en el recurso de trabajo) |
A diferencia de Cloud Life Sciences, Los lotes no incluyen un campo de etiquetas en la solicitud a 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. las cuales 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 utiliza para crear una Trabajo por lotes y metadatos del trabajo de almacenamiento. Si deseas 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. Por lotes, el
las mismas opciones para VMs están disponibles en los campos de un
política de asignación de recursos del trabajo (
|
para realizar una acción:
|
para un comando 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:
|
(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 |
Batch realiza una carga previa de las imágenes y procesa las
de todos los ejecutables de forma idéntica, de acuerdo con el estado
política de registros ( |
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 Cloud Life Sciences para bloquear las redes externas de un acción es similar a la opción Batch para bloquear redes para un contenedor. Batch también tiene muchas otras opciones de herramientas de redes, como para bloquear redes externas para todas las VMs de un trabajo. Para obtener más información, consulta 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 las opciones de volumen de un contenedor (volumes[] en container ) |
En Batch, puedes usar el campo Además, los conjuntos de datos
admite opciones de volumen explícitos en ejecutables del contenedor con el
Campo Para obtener más información sobre el uso de volúmenes de almacenamiento con Por lotes, 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 se encarga de activar los volúmenes de almacenamiento.
como un bucket de Cloud Storage, que especifiques para un trabajo.
Como resultado, no debes habilitar ninguna herramienta de activación como Cloud Storage FUSE.
para Batch; pero, de manera opcional, puedes especificar
activar las opciones para los volúmenes de almacenamiento con
Campo Para obtener más información sobre cómo usar los buckets de Cloud Storage con Por lotes, consulta Crea y ejecuta un trabajo que use volúmenes de almacenamiento. |
Tema de Pub/Sub (pubSubTopic ) para que una solicitud ejecute 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 en Cloud Life Sciences. Por ejemplo, los usuarios de Batch pueden notificaciones en un tema de Pub/Sub cuando cada tarea cambia de estado o solo cuando cambia de estado el trabajo general. |
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 podrías usar para Cloud Life Sciences que también puedes usar con por lotes. 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 detalles sobre dónde obtener más información sobre el uso de cada servicio con Batch.
Servicio de flujo de trabajo | Diferencias clave | Detalles |
---|---|---|
Cromwell |
Para usar un archivo de configuración de Cromwell para API de Cloud Life Sciences v2beta con la API de Batch en su lugar, 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 |
Usar una ejecución de tu 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 en Cloud Life Sciences con Batch, realiza los siguientes cambios:
|
Si deseas obtener más información para usar Batch con Nextflow, consulta un Instructivo por lotes o Instructivo de Nextflow Para obtener más información sobre las opciones de configuración, consulta la Documentación de Nextflow. |
Snakemake |
Usar una canalización de Snakemake para la API de Cloud Life Sciences v2beta con la API de Batch, haz lo siguiente cambios:
|
Para obtener más información sobre cómo usar Batch con Snakemake, consulta la Documentación de Snakemake para Batch. |
¿Qué sigue?
- Si quieres configurar Batch para usuarios y proyectos nuevos, consulta Comienza ahora.
- Para obtener información sobre cómo ejecutar cargas de trabajo con Batch, consulta Cómo crear un trabajo.