En esta página, se describe cómo migrar a Batch en Google 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 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 el lanzamiento de un producto etapas.
Comparación entre Cloud Life Sciences y 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 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 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 se pueden expresar como trabajos de Batch 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 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, puedes especificar cómo deseas que varíe cada ejecución haciendo 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. 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 de Cloud Life Sciences frente a por lotes.
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 |
---|---|---|
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 operaciones de larga duración no desempeñan el mismo rol en Batch que 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, 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 tiempo en completarse. Específicamente, en Batch, la única solicitud que muestra 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 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 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 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: proporcionan ejemplos de comandos de Google Cloud CLI y 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
: 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 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
Visualiza los detalles de un trabajo:
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
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 en 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 en una canalización de integración continua.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.
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
Comprueba el estado de la solicitud de eliminación de un 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 del de larga duración, que mostró la solicitud para borrar el 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 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 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 por lotes para cuentas de servicio | Permisos |
Batch Agent Reporter (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 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 de REST
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 por lotes 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 se encuentran en campos separados. Ambos campos se pueden especificar con texto sin formato o con el nombre de una Secret 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 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 para 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. Batch tiene varios tipos de etiquetas.
( |
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 para un solo trabajo por lotes pertenecen a un solo un grupo de instancias administrado (MIG), que existe en una región en particular. Sin embargo, o VMs individuales podrían 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. 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. 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 comando ejecutable:
|
Estas diversas marcas de conveniencia de Cloud Life Sciences son equivalentes en Batch excepto que se especifican para cada (que puede incluir una secuencia de comandos o un contenedor) en lugar de cada acción (contenedor). |
para realizar una acción:
|
(options ) para un contenedor ejecutable |
Estas opciones de Cloud Life Sciences (y otras) se admiten en
Agrupa por lotes el campo de opciones ( |
para una acción:
|
Sin equivalente |
Batch realiza una carga previa de las imágenes y procesa las
resultados de todos los ejecutables de manera 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 redes de 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, 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 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 |
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 los parámetros de configuración de notificaciones de un trabajo (
|
Los lotes permiten una mayor personalización de las actualizaciones de estado que en Google 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, entonces también implica configurar un servicio de flujo de trabajo 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 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 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 el 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 |
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.