At a high level, a workflow is a series of automated steps run on one or more compute resources.
More specifically, a workflow is a set of jobs and steps that run to completion whenever the workflow is executed. A workflow may have one or more jobs, and a job may have one or more steps. The jobs run in parallel, while the steps run sequentially. Workflows are defined using YAML. Below is an example of a simple workflow that prints the message hello world each time it is launched.
jobs:
main:
steps:
- name: Run
run: echo hello worldFor more information about building workflows, see Building Workflows.
A session is a secure, shareable connection between a cluster and a workflow.
When creating a session, the user chooses a port to expose. That port is made securely available through your ACTIVATE user workspace. The port is forwarded from the cluster back to the user workspace, allowing any user to log in to ACTIVATE and access that session.
Sessions add an authentication layer that only allows access through an SSH connection. Additionally, only users that are selected by the session creator have access.