Workflows es una plataforma de organización completamente administrada que ejecuta servicios en el orden que defines: un flujo de trabajo. Estos flujos de trabajo pueden combinar servicios que incluyen servicios personalizados alojados en Cloud Run o funciones de Cloud Run, Google Cloud servicios como Cloud Vision AI y BigQuery, y cualquier API basada en HTTP.
Cuando incorporas Workflows en las soluciones, puedes hacer que las dependencias de servicios sean explícitas y observables de extremo a extremo. Un flujo de trabajo que especifica un proceso operativo, empresarial o de aplicación proporciona una fuente de información o una narrativa canónica para el proceso.
Workflows no usa servidores, se ajusta según sea necesario y no se incurre en cargos cuando está inactivo. Como un flujo de trabajo no contiene dependencias de código ni de biblioteca, no requiere parches de seguridad. Una vez que implementes un flujo de trabajo, puedes esperar que se ejecute de forma confiable sin necesidad de mantenimiento. Un flujo de trabajo puede mantener el estado, efectuar reintentos, sondear o esperar hasta un año.
Workflows cumple con estas certificaciones y estándares.
En el siguiente diagrama, se muestra un ejemplo del uso de Workflows para coordinar servicios:
Casos de uso clave
Workflows admite muchos casos de uso. Por ejemplo:
| Organización de servicios | Crear soluciones combinando servicios: Realiza una secuencia de operaciones en varios sistemas y espera a que se completen todas las operaciones.
Puede estar basada en eventos. Por ejemplo:
|
| los trabajos por lotes | Operar en varios elementos: Realiza operaciones en un conjunto de elementos o datos por lotes. Se programan con frecuencia. Por ejemplo:
|
| Procesos empresariales | Automatiza flujos de trabajo de línea de negocios: Codifica los pasos de un proceso empresarial, incluidas las condiciones, las acciones y los eventos que requieren la intervención humana. Por ejemplo:
|
| Automatización de procesos de TI | Ejecución administrada de operaciones de servicio: Crea secuencias de Google Cloud operaciones de servicio con facilidad. Por ejemplo:
|
Conceptos básicos
Un flujo de trabajo consta de una serie de pasos descritos con la sintaxis de Workflows y se puede escribir en formato YAML o JSON. Esta es la definición del flujo de trabajo. Para obtener una explicación detallada de la sintaxis de Workflows, consulta la referencia de sintaxis.
Después de crear un flujo de trabajo, se implementa, lo que lo deja listo para su ejecución. Aprende a crear y actualizar un flujo de trabajo en la consola de Google Cloud o con Google Cloud CLI. También puedes crear tu flujo de trabajo con un IDE o editor de código fuente preferido y configurar el autocompletado y la validación de sintaxis.
Una ejecución es una sola ejecución de la lógica que se incluye en la definición de un flujo de trabajo. Un flujo de trabajo que no se ejecutó no genera cargos. Todas las ejecuciones de flujos de trabajo son independientes, y el escalamiento rápido del producto permite una gran cantidad de ejecuciones simultáneas. Puedes ejecutar un flujo de trabajo con las bibliotecas cliente, en la consola de Google Cloud , con Google Cloud CLI o enviando una solicitud HTTP POST a la URL de invocación del flujo de trabajo con la API de REST de Workflows. Para obtener más información, consulta Ejecuta un flujo de trabajo.
Regionalidad
Workflows es un servicio regional y los flujos de trabajo son recursos regionales sujetos a la restricción de ubicaciones de recursos. Puedes usar las políticas de ubicación de recursos para controlar la residencia de datos.
Ten en cuenta que, cuando un flujo de trabajo se implementa en una región en particular, solo se ejecuta en esa región. Sin embargo, si el flujo de trabajo realiza solicitudes HTTP o usa conectores, es posible que la llamada HTTP no se origine en la misma región.
Funciones clave
Estas son algunas de las capacidades clave de Workflows:
Control de ejecución
- Pasos
- Para crear un flujo de trabajo, debes definir los pasos y el orden de ejecución necesarios con la sintaxis de Workflows. Cada flujo de trabajo debe tener al menos un paso. De forma predeterminada, Workflows trata los pasos como si estuvieran en una lista ordenada y los ejecuta uno a la vez hasta que se hayan ejecutado todos. Para obtener más información, consulta Pasos.
- Condiciones
- Puedes usar un bloque
switchcomo mecanismo de selección que permite que el valor de una expresión controle el flujo de la ejecución de un flujo de trabajo. Para obtener más información, consulta Condiciones. - Iteración
- Puedes usar un bucle
forpara iterar sobre una secuencia de números o a través de una colección de datos, como una lista o un mapa. Para obtener más información, consulta Iteración. - Pasos paralelos
- Puedes usar un paso
parallelpara definir una parte de tu flujo de trabajo (una rama o un bucle) que se puede ejecutar de forma simultánea. Para obtener más detalles, consulta Pasos paralelos. - Subflujos de trabajo
- Un subflujo de trabajo funciona de manera similar a una rutina o función en un lenguaje de programación, lo que te permite encapsular un paso o un conjunto de pasos que tu flujo de trabajo repetirá varias veces. Para obtener más información, consulta Subprocesos.
Cómo activar ejecuciones
- Manual
- Puedes administrar flujos de trabajo desde la Google Cloud consola o desde la línea de comandos con Google Cloud CLI. La compatibilidad con la visualización mientras editas la sintaxis de Workflows también está disponible a través de la Google Cloud consola.
- Programático
- Las bibliotecas cliente de Cloud para la API de Workflows o la API de REST se pueden usar para administrar flujos de trabajo. Para obtener más detalles, consulta APIs y referencia de Workflows.
- Programado