Workflow Management OVHcloud

A ferramenta de automatização da sua infraestrutura por cenários

As arquiteturas implementadas na cloud são raramente estáticas. Mudam e adaptam-se em função das circunstâncias ou das necessidades profissionais. Assim, industrializar estas evoluções torna-se uma necessidade para manter uma qualidade e uma eficácia ao longo de todo o ciclo de vida da aplicação. Com o Workflow Management, pode automatizar backups, ativar e desativar máquinas em determinados intervalos de tempo ou redimensionar um cluster em períodos de maior carga, por exemplo.

Backup automático

Dada a sua importância, o backup é certamente uma das primeiras considerações quando se pensa em automatizar a sua infraestrutura. A OVHcloud simplificou a implementação de cenários de backups, tornando-os acessíveis diretamente a partir da Área de Cliente.

Organizador de tarefas

O sistema pode funcionar como um organizador, do mesmo modo que cron num ambiente Linux. Uma vez o workflow (ou cenário) definido, o serviço trata da execução. Quer se trate de uma simples chamada API realizada em alguns segundos ou de um encadeamento lógico de tarefas que requer várias horas.

Ativação de cenários com condição

Pode definir o lançamento de cenários e as condições para a execução, no princípio do “if this, then that”. A ativação pode depender de um horário ou de uma solicitação externa (chamada API), que iniciará a verificação das condições programadas.

Automatização da complexidade

Os cenários podem ser compostos por uma grande quantidade de tarefas quando a complexidade a gerir é importante. O Workflow Management controla esta sequência de operações para compartimentar as execuções. Isto permite automatizar várias ações, como processos de atualização complexas.

Modo de utilização

Defina um workflow num ficheiro 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 }}"

Crie o seu workflow

openstack workflow create workflow.yaml

Programe uma execução

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

Funcionalidades

Mistral API

O Workflow Management funciona através de um módulo oficial da OpenStack: Mistral. Esta ferramenta de orquestração suporta as linguagens YAQL e Jinja2.

Paralelização de vários workflows

Para acelerar a execução de determinados cenários, é possível multiplicar os “workers”, paralelizando as tarefas.

Gestão de dependências

O encadeamento de tarefas pode ser sujeito a regras de dependência, que asseguram a correta execução e a sincronização antes de passar para a fase seguinte.

Ativação de chamadas HTTP/HTTPS externas

Para além de poder manipular todos os recursos OpenStack através das API, o Workflow Management também é capaz de ativar chamadas para o exterior.

tarif public cloud

Faturação do Workflow Management

Os workflows e as execuções são grátis. Apenas os recursos cloud gerados (instâncias, volumes, etc.) são faturados ao preço standard.