Workflow Management OVHcloud

La herramienta de automatización para infraestructuras basada en escenarios

Las arquitecturas desplegadas en el cloud no suelen ser estáticas, sino que cambian y se adaptan en función de las circunstancias y necesidades particulares de cada proyecto. Para mantener un nivel de calidad y de eficacia constante durante todo el ciclo de vida de la aplicación, es necesario industrializar estas modificaciones. Con Workflow Management podrá automatizar sus backups, apagar y encender las máquinas en determinadas franjas horarias e incluso redimensionar un cluster durante los períodos de carga.

Backup automático

La realización de backups es una de las primeras consideraciones que debemos tener en cuenta a la hora de automatizar nuestra infraestructura. OVHcloud simplifica la implementación de escenarios de backup, accesibles directamente desde el área de cliente.

Planificador de tareas

El sistema puede funcionar como un planificador, similar a cron en entornos Linux. Una vez que haya definido el «workflow» o escenario, el servicio se encarga de su ejecución, tanto si se trata de una simple llamada API realizada en cuestión de segundos como de una secuencia lógica de tareas que requiera varias horas.

Activación de escenarios con condiciones

Es posible establecer el lanzamiento de escenarios y las condiciones para su ejecución, bajo el principio de «if this, then that». La activación puede depender de un horario o de una solicitud externa (llamada API), que iniciará la verificación de las condiciones programadas.

Automatización de la complejidad

En los casos más complejos, los escenarios pueden estar compuestos por una gran cantidad de tareas. Workflow Management gestiona este flujo de operaciones para compartimentar las ejecuciones y, de este modo, automatizar cientos de acciones como los procesos complejos de actualización.

Modo de utilización

Definir un workflow en un archivo YAML:

...

  tasks:
    create_server:
      action: nova.servers_create
      input:
        name: <% $.vm_name %>
        image: <% $.image_ref %>
        flavor: <% $.flavor_ref %>
...
      on-success:
        - wait_for_instance
 
    wait_for_instance:
      action: nova.servers_find id={{ _.vm_id }} status='ACTIVE' action_region=<% $.region %>
...
      publish:
        vm_status: "{{ task().result.status }}"

Crear un workflow:

openstack workflow create workflow.yaml

Programar una ejecución:

openstack cron trigger create --count 3 --pattern '*/2 * * * *' \
    trigger01 create_vm '{"vm_name": "foobar", \
    "image_ref": "Debian 9", "flavor_ref": "b2-30"}'

Funcionalidades

API Mistral

Workflow Management funciona a través de Mistral, un módulo oficial de OpenStack. Esta herramienta de orquestación es compatible con los lenguajes YAQL y Jinja2.

Paralelización de varios workflows

Es posible multiplicar los «workers» y de ese modo paralelizar las tareas para acelerar la ejecución de determinados escenarios.

Gestión de las dependencias

El encadenamiento de tareas puede someterse a reglas de dependencia para validar una correcta ejecución o garantizar la sincronización antes de pasar a la siguiente fase.

Activación de llamadas HTTP/HTTPS externas

Además de poder gestionar todos los recursos OpenStack por API, Workflow Management permite activar llamadas hacia el exterior.

Pricing Public Cloud

Facturación de Workflow Management

Los workflows y las ejecuciones son gratuitos. Solo deberá pagar por los recursos cloud generados (instancias, volúmenes, etc.) al precio habitual.