Présentation de Workflows

Workflows est une plate-forme d'orchestration entièrement gérée qui exécute des services dans un ordre que vous définissez : un workflow. Ces workflows peuvent combiner des services tels que des services personnalisés hébergés sur Cloud Run ou Cloud Run Functions,des services Google Cloud tels que Cloud Vision AI et BigQuery, ainsi que toute API HTTP.

En intégrant des workflows dans des solutions, vous pouvez rendre les dépendances de services explicites et observables de bout en bout. Workflow qui spécifie un processus applicatif, opérationnel ou métier, qui fournit une source de vérité ou une description canonique du processus.

Les workflows s'exécutent sans serveur et s'adaptent en fonction des besoins. Aucuns frais ne sont facturés en cas d'inactivité. Étant donné qu'un workflow ne contient aucune dépendance de code ou de bibliothèque, il ne nécessite pas de correctifs de sécurité. Une fois que vous avez déployé un workflow, vous pouvez vous assurer qu'il s'exécutera de manière fiable sans maintenance. Un workflow peut conserver l'état, réessayer, interroger ou attendre jusqu'à un an.

Workflows est conforme à ces certifications et normes.

Le schéma suivant montre un exemple d'utilisation de Workflows pour orchestrer des services:

Orchestration de services à l'aide de Workflows

Principaux cas d'utilisation

Workflows accepte de nombreux cas d'utilisation. En voici quelques exemples :

Orchestration des services Créer des solutions en combinant des services : effectuez une séquence d'opérations sur plusieurs systèmes, en attendant la fin de toutes les opérations. Peut être basé sur des événements. Exemple :
  • Envoyer les fichiers récemment importés vers Cloud AI, puis écrire des tags dans Firestore
  • Appeler une fonction Cloud Run et envoyer les résultats à un service Cloud Run
Jobs par lots Opération sur plusieurs éléments : effectuez des opérations sur un ensemble d'éléments ou sur des données par lot. Souvent programmée. Exemple :
  • Envoyer des e-mails quotidiens aux clients
  • Préparer et exécuter des tâches BigQuery ou de machine learning
  • Générer des rapports
Processus métier Automatisez les workflows métier : encodez les étapes d'un processus métier, y compris les conditions, les actions et les événements avec intervention humaine. Exemple :
  • Suivre une commande d'une requête à un traitement
  • Automatiser les demandes de ressources avec des approbations
Automatisation des processus informatiques Exécution gérée des opérations de service : séquences faciles des scripts des opérations de service Google Cloud . Par exemple :
  • Provisionner de nouveaux projets ou infrastructures locataires
  • Désactiver les ressources selon un calendrier ou via des déclencheurs d'événements

Concepts fondamentaux

Un workflow se compose d'une série d'étapes décrites à l'aide de la syntaxe Workflows et peut être écrit en YAML ou JSON. Il s'agit de la définition du workflow. Pour obtenir une explication détaillée de la syntaxe Workflows, consultez la documentation de référence sur la syntaxe.

Une fois un workflow créé, il est déployé, ce qui le rend prêt à être exécuté. Découvrez comment créer et mettre à jour un workflow dans la console Google Cloud ou à l'aide de Google Cloud CLI. Vous pouvez également créer votre workflow à l'aide d'un IDE ou d'un éditeur de code source de votre choix, et configurer la saisie semi-automatique et la validation de la syntaxe.

Une exécution est une exécution unique de la logique contenue dans la définition d'un workflow. Un workflow qui n'a pas été exécuté ne génère aucuns frais. Toutes les exécutions de workflows sont indépendantes, et le scaling rapide du produit permet un grand nombre d'exécutions simultanées. Vous pouvez exécuter un workflow à l'aide des bibliothèques clientes, dans la console Google Cloud , à l'aide de la Google Cloud CLI, ou en envoyant une requête HTTP POST à l'URL d'appel du workflow à l'aide de l'API REST Workflows. Pour en savoir plus, consultez Exécuter un workflow.

Régionalité

Workflows est un service régional. Les workflows sont des ressources régionales soumises à la contrainte d'emplacement des ressources. Vous pouvez utiliser des règles d'emplacement des ressources pour contrôler la résidence des données.

Notez que lorsqu'un workflow est déployé dans une région spécifique, il n'est exécuté que dans cette région. Toutefois, si le workflow effectue des requêtes HTTP ou utilise des connecteurs, l'appel HTTP peut ne pas provenir de la même région.

Capacités clés

Voici quelques-unes des principales fonctionnalités de Workflows.

Contrôle de l'exécution

Étapes
Pour créer un workflow, vous devez définir les étapes et l'ordre d'exécution requis à l'aide de la syntaxe Workflows. Chaque workflow doit comporter au moins une étape. Par défaut, Workflows traite les étapes comme si elles se trouvaient dans une liste ordonnée et les exécute une par une jusqu'à ce que toutes les étapes soient exécutées. Pour en savoir plus, consultez la section Étapes.
Conditions
Vous pouvez utiliser un bloc switch en tant que mécanisme de sélection qui permet à la valeur d'une expression de contrôler le flux d'exécution d'un workflow. Pour en savoir plus, consultez la section Conditions.
Itération
Vous pouvez utiliser une boucle for pour effectuer une itération sur une séquence de nombres ou sur un ensemble de données, telles qu'une liste ou une carte. Pour en savoir plus, consultez la section Itération.
Étapes parallèles
Vous pouvez utiliser une étape parallel pour définir une partie de votre workflow (une branche ou une boucle) qui peut s'exécuter simultanément. Pour en savoir plus, consultez Étapes parallèles.
Sous-workflows