Cette page explique comment migrer vers Batch à partir de Cloud Life Sciences.
Le 17 juillet 2023, Google Cloud a annoncé que Cloud Life Sciences, qui était en version bêta, est désormais obsolète. Le service ne sera plus disponible sur Google Cloud après le 8 juillet 2025. Toutefois, Batch est en disponibilité générale, et constitue un successeur complet qui prend en charge tous les cas d'utilisation pour Cloud Life Sciences.
Apprenez-en plus sur Batch. Cloud Life Sciences et le lancement d'un produit étapes.
Comparaison entre Cloud Life Sciences et Batch
La migration de Cloud Life Sciences vers Batch implique principalement de comprendre comment utiliser Batch pour les charges de travail que vous exécutez actuellement en exécutant des pipelines Cloud Life Sciences.
Pour comprendre comment exécuter vos charges de travail Cloud Life Sciences sur Batch, consultez toutes les sections suivantes :
Présentation
Un pipeline Cloud Life Sciences décrit une séquence d'actions (conteneurs) à exécuter et l'environnement dans lesquels exécuter les conteneurs.
Un job Batch décrit un tableau comportant une ou plusieurs tâches et la dans lequel exécuter ces tâches. Vous définissez la charge de travail d'une tâche comme une séquence d'un ou de plusieurs exécutables (conteneurs et/ou scripts) à exécuter. Chaque tâche d'une tâche représente une exécution de sa séquence d'exécutables.
Les pipelines Cloud Life Sciences peuvent être exprimés sous la forme de tâches Batch uniques.
Par exemple, les exemples suivants décrivent un pipeline Cloud Life Sciences simple et sa tâche de traitement par lot équivalente :
Pipeline Cloud Life Sciences | Tâche par lot |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
Les jobs par lot multitâches sont semblables aux pipelines Cloud Life Sciences copiés.
Contrairement à Cloud Life Sciences, Batch vous permet programmer automatiquement plusieurs exécutions de votre charge de travail. Vous indiquez le nombre de fois où vous souhaitez exécuter la séquence de exécutables pour une tâche en définissant le nombre de tâches. Lorsqu'un job comporte plusieurs tâches, vous spécifiez comment chaque exécution doit varier en référençant l'index de la tâche dans vos exécutables. Vous pouvez également configurer les planifications relatives des tâches d'un job (par exemple, autoriser l'exécution de plusieurs tâches en parallèle ou exiger des tâches à exécuter dans un ordre séquentiel et un par un. Batch gère les tâches de planification du job: Lorsqu'une tâche se termine, la tâche suivante démarre automatiquement, le cas échéant.
Par exemple, consultez la tâche de traitement par lot suivante. Cet exemple de tâche comporte 100 tâches exécutées sur 10 instances de machine virtuelle (VM) Compute Engine. Par conséquent, environ 10 tâches s'exécutent en parallèle à tout moment. Chaque tâche de cet exemple d'ordre n'exécute qu'un seul exécutable : un script qui affiche un message et l'index de la tâche, défini par la variable d'environnement prédéfinie BATCH_TASK_INDEX
.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Workflows impliquant la création et la surveillance de plusieurs Les pipelines Cloud Life Sciences peuvent parfois être simplifiés en appliquant de la planification intégrée de Batch.
Opérations de base
Cette section décrit les opérations de base dans Cloud Life Sciences et par lot.
Le tableau suivant récapitule les options d'opérations de base pour Cloud Life Sciences et Batch.
Opération de base | Options Cloud Life Sciences | Options de traitement par lot |
---|---|---|
Exécuter une charge de travail |
|
|
Affichez toutes vos charges de travail. |
|
|
Affichez les détails et l'état d'une charge de travail. |
|
|
Arrêtez et supprimez une charge de travail. |
|
|
Les opérations de base de Cloud Life Sciences et de Batch présentent quelques différences clés.
Tout d'abord, les ressources d'opérations de longue durée ne jouent pas le même rôle dans Batch que dans Cloud Life Sciences.
Les ressources d'opérations de longue durée (LROs) dans Cloud Life Sciences sont la principale ressource utilisée pour lister et afficher vos pipelines. Toutefois,
des ressources d'opérations de longue durée dans Batch et d'autres API Google Cloud
servent uniquement à surveiller l'état d'une requête
terminé. Plus précisément, dans Batch, la seule requête qui renvoie une ressource d'opération de longue durée consiste à supprimer une tâche.
Pour en savoir plus sur les ressources des opération de longue durée pour
par lot, consultez la
Documentation de référence de l'API Batch pour la ressource REST projects.locations.operations
Au lieu d'utiliser des ressources d'opérations de longue durée, Batch dispose de ressources de tâche que vous pouvez afficher et supprimer pour vos charges de travail.
Deuxièmement, l'affichage des détails d'une charge de travail dans Batch implique différentes de celles de Cloud Life Sciences. Vous pouvez afficher une tâche pour voir ses détails et son état. Mais chacune des tâches d'un travail dispose également de ses propres détails et état, que vous pouvez consulter afficher la liste des tâches d'une tâche et afficher les détails d'une tâche.
Pour mieux comprendre les opérations de base Cloud Life Sciences par rapport à Batch, fournissent des exemples de commandes de la Google Cloud CLI et les chemins des requêtes API pour certaines de ces opérations de base.
Exemples de commandes de la CLI gcloud
Pour gcloud CLI, les commandes Cloud Life Sciences commencent par gcloud beta lifesciences
et les commandes Batch commencent par gcloud batch
.
Par exemple, consultez les commandes gcloud CLI suivantes.
Exemples de commandes gcloud CLI pour Cloud Life Sciences :
Exécutez un pipeline:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Obtenez les détails d'une opération de longue durée:
gcloud beta lifesciences operations describe OPERATION_ID
Remplacez les éléments suivants :
PROJECT_ID
: ID de projet de votre projet.LOCATION
: emplacement du pipeline.JSON_CONFIGURATION_FILE
: fichier de configuration JSON du pipeline.OPERATION_ID
: identifiant de de opération de longue durée renvoyée par la requête pour exécuter pipeline.
Exemples de commandes de gcloud CLI par lot:
Créez et exécutez un job:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Afficher les détails d'une mission:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Afficher la liste des tâches d'une tâche :
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Afficher les détails d'une tâche:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
Supprimer (et annuler) une tâche:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Remplacez les éléments suivants :
JOB_NAME
: nom de la tâche.PROJECT_ID
: ID de projet de votre projet.LOCATION
: emplacement du travail.JSON_CONFIGURATION_FILE
: chemin d'accès à un fichier JSON contenant les détails de configuration de la tâche.TASK_INDEX
: indice de la tâche dont vous souhaitez afficher les détails. Dans un groupe de tâches, l'index de la tâche commence à 0 pour le premier tâche et augmente de 1 à chaque tâche supplémentaire. Par exemple, une tâche qui contient quatre tâches possède les index0
,1
,2
et3
.TASK_GROUP_NAME
: nom du groupe de tâches que dont vous souhaitez afficher les détails. La valeur doit être définie surgroup0
.
Exemples de chemins de requêtes API
Pour les API, Cloud Life Sciences utilise
Chemins de requête lifesciences.googleapis.com
et utilisations de Batch
Chemins de requête batch.googleapis.com
.
Par exemple, consultez les chemins de requêtes d'API suivants. Retirer le "J’aime"
Cloud Life Sciences, Batch ne dispose pas d'API RPC.
il ne dispose que d'une API REST.
Exemples de chemins de requête de l'API Cloud Life Sciences:
Exécuter un pipeline :
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Obtenez les détails d'une opération de longue durée:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Remplacez les éléments suivants :
PROJECT_ID
: le ID du projet de votre projet.LOCATION
: emplacement du pipeline.OPERATION_ID
: identifiant de de opération de longue durée renvoyée par la requête pour exécuter pipeline.
Exemples de chemins de requêtes API par lot :
Créez et exécutez une tâche :
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
Afficher les détails d'une mission:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Afficher la liste des tâches d'une tâche :
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Supprimer une offre d'emploi
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Vérifiez l'état de la demande de suppression de la tâche :
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Remplacez les éléments suivants :
PROJECT_ID
: ID de projet de votre projet.LOCATION
: emplacement du travail.JOB_NAME
: nom de la tâche.TASK_GROUP_NAME
: nom du groupe de tâches dont vous souhaitez afficher les détails. La valeur doit être définie surgroup0
OPERATION_ID
: identifiant de de opération de longue durée renvoyée par la requête pour supprimer tâche.
Rôles et autorisations IAM
Cette section récapitule les différences entre Identity and Access Management et rôles et autorisations pour Cloud Life Sciences par lot. Pour en savoir plus sur les rôles et leurs autorisations, consultez la documentation de référence sur les rôles IAM de base et prédéfinis.
Le tableau suivant décrit les rôles prédéfinis et les autorisations requis pour les utilisateurs de Cloud Life Sciences.
Rôles Cloud Life Sciences | Autorisations |
---|---|
Parmi les suivantes :
|
|
Lecteur Cloud Life Sciences (roles/lifesciences.viewer ) sur le projet |
|
Le tableau suivant décrit certains des rôles prédéfinis et leurs autorisations. pour Batch. Contrairement à Cloud Life Sciences, Batch vous oblige à accorder des autorisations aux utilisateurs compte de service pour une tâche. Pour en savoir plus sur les exigences liées à l'IAM, consultez la section Conditions préalables pour Batch.
Attribuer des rôles aux utilisateurs par lot | Autorisations |
---|---|
Éditeur de tâches par lot (roles/batch.jobsEditor ) sur le projet |
|
Lecteur de tâches par lot (roles/batch.jobsViewer ) sur le projet |
|
Utilisateur du compte de service (roles/iam.serviceAccountUser ) sur le compte de service de la tâche |
|
Rôles par lot pour les comptes de service | Autorisations |
Batch Agent Reporter (roles/batch.agentReporter ) sur le projet |
|
Fonctionnalités correspondantes
Le tableau suivant décrit les fonctionnalités Cloud Life Sciences, les fonctionnalités équivalentes pour Batch, et détaille les différences qui existent entre eux.
Chaque élément est représenté par une description et sa syntaxe JSON. Vous pouvez utiliser la syntaxe JSON lorsque vous accédez Traitement par lot via l'API ou lors de la spécification d'une configuration JSON via la Google Cloud CLI. Toutefois, notez que vous pouvez également utiliser les fonctionnalités de traitement par lot via d'autres méthodes, telles que les champs de la console Google Cloud, les options de la gcloud CLI et les bibliothèques clientes, qui sont décrites dans la documentation de traitement par lot.
Pour en savoir plus sur chaque fonctionnalité et sa syntaxe JSON, consultez les pages suivantes:
Pour Cloud Life Sciences, consultez la Documentation de référence de l'API Cloud Life Sciences pour la ressource REST
projects.locations.pipelines
Pour Batch, consultez la documentation de référence de l'API Batch pour la ressource REST
projects.locations.jobs
.
Fonctionnalités de Cloud Life Sciences | Fonctionnalités de traitement par lot | Détails |
---|---|---|
pipeline (pipeline ) |
Job (job ) et ses tâches (taskGroups[] ) |
Un job par lot comprend un tableau d'une ou de plusieurs tâches qui exécutent chacune tous les mêmes exécutables. Un pipeline Cloud Life Sciences est similaire à un job par lot avec une tâche. Toutefois, Cloud Life Sciences n'a pas de concept équivalent pour les tâches (tâches à tâches multiples), un peu comme les répétitions d'un pipeline. Pour en savoir plus sur les jobs et les tâches, consultez la section Présentation de Batch. |
actions (actions[] ) pour un pipeline |
les exécutables (runnables[] ) pour les tâches d'une tâche |
Une action Cloud Life Sciences décrit un conteneur, mais un exécutable Batch peut contenir un conteneur ou un script. |
identifiants (credentials ) pour une action |
Pour un conteneur exécutable : |
Dans Cloud Life Sciences, les identifiants d'une action doivent être un dictionnaire chiffré Cloud Key Management Service avec des paires clé-valeur de nom d'utilisateur et de mot de passe. Dans Batch, le nom d'utilisateur et le mot de passe d'un exécutable de conteneur se trouvent dans des champs distincts. L'un ou l'autre champ peut être spécifié en texte brut ou avec le nom d'un Secret Secret Manager. |
pour une action :
|
pour un environnement :
environnements possibles:
|
Cloud Life Sciences vous permet de spécifier les variables d'environnement
pour une action mise en forme en tant que
texte brut ou en tant que dictionnaire chiffré.
Dans Batch, cela revient à utiliser l'environnement
pour un exécutable (champ Mais Batch offre aussi plus d'options pour spécifier variables d'environnement:
Pour en savoir plus, consultez Utilisez des variables d'environnement. |
libellés pour une requête d'exécution d'un pipeline (labels dans le corps de la requête) |
Étiquettes pour une tâche (labels dans la ressource de job) |
Contrairement à Cloud Life Sciences, Batch n'inclut pas de champ de libellés dans la requête de création d'une tâche. L'option la plus proche pour Batch consiste à utiliser des étiquettes qui ne sont associées qu'à la tâche. Batch comporte plusieurs types d'étiquettes
(champs |
des régions (regions[] ) et des zones (zones[] ) pour les ressources d'un pipeline (resources ) |
emplacements autorisés (allowedLocations ) pour la stratégie d'emplacement des ressources d'un job (locationPolicy ) |
Dans Cloud Life Sciences, un pipeline s'exécute sur une seule VM, pour laquelle vous pouvez spécifier les régions et/ou les zones souhaitées. Dans Batch, l'option équivalente est la liste des emplacements autorisés d'un job, que vous pouvez définir comme une ou plusieurs régions ou zones et spécifie où les VM d'un job peuvent être créées. Toutes les VM d'un même job par lot appartiennent à un seul groupe d'instances géré (MIG), qui se trouve dans une région spécifique. Toutefois, les VM individuelles peuvent se trouver dans différentes zones de cette région. En particulier, la spécification du champ "Allowed locations" (Emplacements autorisés pour un emploi) est facultative. car il est distinct du lieu de travail. Contrairement à l'emplacement du poste, l'emplacement autorisé n'a aucune incidence sur l'emplacement utilisé pour créer Tâche par lot et stockage des métadonnées de job. Pour en savoir plus, consultez la section Emplacements des lots. |
pour les ressources d'un pipeline (
|
pour la stratégie de ressources d'une tâche (
|
Dans Cloud Life Sciences, vous pouvez configurer la VM qu'un sur lequel s'exécute le pipeline. Dans Batch,
les mêmes options pour les VM sont disponibles dans les champs
la règle d'allocation des ressources du job (
|
pour une action:
|
pour un exécutable:
|
Ces différents indicateurs pratiques de Cloud Life Sciences sont équivalents dans Batch, sauf qu'ils sont spécifiés pour chaque exécutable (qui peut contenir un script ou un conteneur) au lieu de chaque action (conteneur). |
pour une action :
|
options (options ) pour un exécutable de conteneur |
Ces options Cloud Life Sciences (et d'autres) sont disponibles
Examiner de manière groupée le champ d'options ( |
pour une action :
|
aucun équivalent |
Le traitement par lot précharge les images et traite les sorties de tous les exécutables de manière identique, conformément à la stratégie de journalisation de la tâche ( |
option permettant de bloquer les réseaux externes (blockExternalNetwork ) pour une action |
Option permettant de bloquer les réseaux externes (blockExternalNetwork ) pour un conteneur exécutable |
L'option Cloud Life Sciences permettant de bloquer les réseaux externes pour une action est semblable à l'option Batch permettant de bloquer les réseaux externes pour un conteneur. Batch offre également de nombreuses autres options de mise en réseau, pour bloquer les réseaux externes pour toutes les VM d'un job. Pour en savoir plus, consultez la section Présentation de la mise en réseau par lot. |
installation (mounts[] ) pour une action |
volumes pour tous les exécutables (volumes[] dans taskSpec ) et options de volume pour un conteneur (volumes[] dans container ) |
Dans Batch, vous pouvez utiliser
Champ De plus, Batch est compatible avec les options de volume explicites sur les exécutables de conteneur à l'aide du champ Pour en savoir plus sur l'utilisation de volumes de stockage avec Batch, consultez Créer et exécuter un job qui utilise des volumes de stockage. |
option permettant d'activer Cloud Storage FUSE (enableFuse ) pour une action |
aucun équivalent |
Le traitement par lot gère l'installation de tous les volumes de stockage, tels qu'un bucket Cloud Storage, que vous spécifiez pour un job.
Par conséquent, vous n'activez aucun outil d'installation tel que Cloud Storage FUSE pour Batch. Toutefois, vous pouvez éventuellement spécifier des options d'installation pour vos volumes de stockage à l'aide du champ Pour en savoir plus sur l'utilisation de buckets Cloud Storage avec Batch, consultez Créer et exécuter une tâche qui utilise des volumes de stockage. |
Sujet Pub/Sub (pubSubTopic ) pour une requête d'exécution d'un pipeline |
pour les configurations de notification d'une tâche (
|
Le traitement par lot permet une plus grande personnalisation des mises à jour de statut que Cloud Life Sciences. Par exemple, les utilisateurs Batch peuvent recevoir une notification sur un sujet Pub/Sub lorsque des tâches individuelles changent d'état ou uniquement lorsque la tâche globale change d'état. |
Services de workflow
Si vous utilisez un service de workflow avec Cloud Life Sciences, le processus de migration implique également de configurer un service de workflow avec Batch. Cette section résume les services de workflow que vous pouvez utiliser avec Batch.
Batch est compatible avec Workflows, un de workflow de Google Cloud. Si vous souhaitez utiliser Workflows avec Batch, consultez la section Exécuter un job Batch à l'aide de Workflows. Sinon, le tableau suivant décrit d'autres services de workflow que vous pouvez utiliser pour Cloud Life Sciences et avec Batch. Ce tableau présente les principales différences entre l'utilisation de chaque service de workflow avec Batch au lieu de Cloud Life Sciences, ainsi que des informations sur les ressources permettant d'en savoir plus sur l'utilisation de chaque service avec Batch.
Service de workflow | Différences principales | Détails |
---|---|---|
Cromwell |
Pour utiliser un fichier de configuration Cromwell pour l'API Cloud Life Sciences v2beta avec l'API Batch à la place, apportez les modifications suivantes :
|
Pour en savoir plus sur l'utilisation de Batch avec Cromwell, consultez la documentation Cromwell pour Batch et le tutoriel Cromwell pour Batch. |
dsub |
Pour exécuter votre pipeline dsub pour Cloud Life Sciences avec Batch, procédez comme suit :
|
Pour en savoir plus sur l'utilisation de Batch avec dsub, consultez les Documentation dsub pour Batch |
Nextflow |
Pour utiliser un fichier de configuration Nextflow pour Cloud Life Sciences avec Batch, procédez comme suit :
|
Pour en savoir plus sur l'utilisation de Batch avec Nextflow, consultez un tutoriel Batch ou un tutoriel Nextflow. Pour en savoir plus sur les options de configuration, consultez la documentation Nextflow. |
Snakemake |
Pour utiliser un pipeline Snakemake pour l'API Cloud Life Sciences v2beta avec l'API Batch à la place, apportez les modifications suivantes :
|
Pour en savoir plus sur l'utilisation de Batch avec Snakemake, consultez les Documentation Snakemake pour Batch. |
Étape suivante
- Pour configurer Batch pour les nouveaux utilisateurs et projets, consultez la page Commencer
- Pour savoir comment exécuter des charges de travail à l'aide de Batch, consultez la section Créer un job.