[AIAB-01] Create the workflow

How does Akamas understand when given JVM configuration is improving performance or making it worse? This is done by running optimization experiments. Thus you now need to tell Akamas how to conduct these experiments. You can do this by creating a workflow.

A workflow is a sequence of tasks that Akamas executes for every experiment, such as:

  • apply the parameters to an application configuration file

  • restart the application

  • launch a performance test to assess the effects of the new configuration

In the next guides you will learn how to define a workflow from the UI or to specify the YAML file to get it created from the CLI. But since the purpose of this guide is to focus on getting you started, for this time you will simply use the workflow.yaml file provided in the repository, defined as the following:

name: renaissance-optimize

tasks:
- name: Configure Benchmark
  operator: FileConfigurator
  arguments:
    source:
      hostname: benchmark
      username: akamas
      password: akamas
      path: launch_benchmark.sh.templ
    target:
      hostname: benchmark
      username: akamas
      password: akamas
      path: launch_benchmark.sh

- name: Launch Benchmark
  operator: Executor
  arguments:
    command: "bash launch_benchmark.sh"
    host:
      hostname: benchmark
      username: akamas
      password: akamas

- name: Parse Output
  operator: Executor
  arguments:
    command: "bash parse_output.sh"
    host:
      hostname: benchmark
      username: akamas
      password: akamas

Create the workflow by running the following command:

akamas create workflow workflow.yaml

You can verify your new workflow has been created by accessing the corresponding Workflow menu in the UI:

You can always list all workflows and verify that they have been correctly created:

akamas list workflows

At this point, you are ready to create your optimization study.

Last updated