Workflow Management OVHcloud

L'outil d'automatisation de votre infrastructure par scénarios

Les architectures déployées dans le cloud sont rarement statiques. Elles changent et s'adaptent en fonction des circonstances ou des besoins métier. Industrialiser ces évolutions devient donc une nécessité, afin de maintenir une qualité et une efficacité tout au long du cycle de vie de l'application. Avec Workflow Management, vous pouvez par exemple automatiser des backups, éteindre et allumer des machines selon des plages horaires ou encore redimensionner un cluster lors de périodes de charge.

Backup automatique

Du fait de son importance, la sauvegarde est certainement l'une des premières considérations lorsque l'on réfléchit à automatiser son infrastructure. OVHcloud a simplifié la mise en place de scénarios de sauvegarde, en les rendant accessibles directement depuis votre espace client.

Ordonnanceur de tâches

Le système peut fonctionner comme un ordonnanceur, à l'image de cron dans un environnement Linux. Une fois le workflow (ou scénario) défini, le service se charge de l’exécution. Qu'il s'agisse d'un simple appel API effectué en quelques secondes ou d'un enchaînement logique de tâches nécessitant plusieurs heures.

Déclenchement de scénarios sur condition

Vous pouvez définir le lancement de scénarios ainsi que les conditions pour l’exécution, sur le principe du « if this, then that ». Le déclenchement peut être un horodatage ou une sollicitation extérieure (un appel API), qui débutera la vérification des conditions programmées.

Automatisation de la complexité

Les scénarios peuvent être composés d'une grande quantité de tâches lorsque la complexité à gérer est importante. Workflow Management pilote cette cascade d'opérations afin de compartimenter les exécutions. Cela permet d'automatiser plusieurs centaines d'actions, comme des processus de mise à jour complexes.

Usage

Définissez un workflow dans un fichier 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 }}"

Créez votre workflow

openstack workflow create workflow.yaml

Programmez une exécution

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

Fonctionnalités

Mistral API

Workflow Management fonctionne via une brique officielle d'OpenStack : Mistral. Cet outil d’orchestration supporte les langages YAQL et Jinja2.

Paralléliser plusieurs workflows

Pour accélérer l’exécution de certains scénarios, il est possible de multiplier les « workers » et, ainsi, de paralléliser les tâches.

Gestion des dépendances

L'enchaînement de tâches peut être soumis à des règles de dépendance, pour valider une bonne exécution ou assurer une synchronisation avant de passer à la suite.

Déclenchement d'appels HTTP/HTTPS externes

En plus de pouvoir manipuler toutes les ressources OpenStack via les API, Workflow Management est aussi capable de déclencher des appels à l’extérieur.

Pricing Public Cloud

Facturation de Workflow Management

Les workflows et les exécutions sont gratuits. Seules les ressources cloud générées (instances, volumes…) sont facturées à leur tarif habituel.