About Workflows
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 world
For more information about building workflows, see Building Workflows & Apps.
About Apps
An app is a type of workflow that simplifies its launch process. With most workflows, you must choose several parameters before starting them. With apps, you only need to choose a target resource. You can also choose one or more session names, depending on whether the app specifies that the session name(s) should be provided by the user or automatically generated.
About Sessions
A session is a secure, shareable connection between a cluster and a workflow or app.
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.