Workflow Management OVHcloud

The scenario-based automation tool for your infrastructure

Architectures deployed in the cloud are rarely static. They change and adapt depending on circumstances, and business needs. As a result, industrialising these scaling changes has become a necessity, to maintain quality and efficiency throughout the entire application lifecycle. With Workflow Management, you can automate backups, power machines on and off in certain time windows, and even resize a cluster during traffic spikes.

Automated backup

Backups are of vital importance, and are undoubtedly one of the first factors that should be taken into account when we consider automating an infrastructure. OVHcloud has simplified the setup of backup scenarios, by making them directly accessible via the OVHcloud Control Panel.

Task scheduler

The system can work as a task scheduler, similarly to how cron works as a job scheduler in Linux. Once the workflow (or scenario) has been defined, the service will manage its execution. Whether it is a basic API call that can be completed in a few seconds, or a logistical chain of tasks that requires several hours to complete, Workflow Management will take care of it.

Triggers for condition-based scenarios

You can define scenarios to be launched, as well as the conditions for execution, on the basis of the “if this, then that” principle. The trigger can be a timestamp, or an external request (an API call) that will begin verifying the programmed conditions.

Complexity automation

Scenarios can include a high number of tasks when the complexity to manage is high. Workflow Management manages this cascade of operations in order to compartmentalise executions. This means you can automate several hundred actions, like complex update processes.

Usage

Define a workflow in a YAML file

...

  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 }}"

Create your workflow

openstack workflow create workflow.yaml

Schedule an execution

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

Features

Mistral API

Workflow Management works via an official OpenStack building block — Mistral. This orchestration tool supports the YAQL and Jinja2 query and templating languages.

Run several workflows simultaneously

To speed up the execution of certain scenarios, you can multiply the workers, and run several tasks at once as a result.

Manage dependencies

The task chain can be subject to dependency rules, to validate that they are being executed properly, or to ensure everything is in sync before the next task is carried out.

Triggering of external HTTP/HTTPS calls

On top of being able to manage all of the OpenStack resources via APIs, Workflow Management can also trigger external calls.

Pricing Public Cloud

Workflow Management billing

Workflows and executions are free. Only the cloud resources generated (instances, volumes, etc.) are billed at their standard pricing.