App Types¶
There are two main Compute App Types:
- Single-Stage Apps
- Multi-Stage Apps
Let's explore how they differ from each other.
Single-Stage¶
This is the standard app type you'll encounter in most applications. As the name suggests, a Single-Stage App is a standalone application that defines a set of input parameters and executes a series of computations. It produces various types of artifacts such as Calculations, Plots, DataFrames, and more.
Key Features¶
- Simplicity: Single-Stage Apps have a straightforward execution flow.
- Standalone Execution: Each app operates independently without relying on other stages and a master app, ensuring modularity.
- Statelessness: These apps do not maintain state between executions, which simplifies their behavior.
Examples¶
Multi-Stage¶
For more complex applications that require a sequence of jobs to run, Multi-Stage Apps are ideal. A Multi-Stage app consists of two types of applications:
- Master App: The execution flow starts with this app, whose sole purpose is to define the sequence of Stage Apps that will be executed.
- Stage Apps: A regular Single-Stage application that is executed as a stage from the Master App.
Key Features¶
- Enhanced Control: Provides greater control over the execution flow of the computations across different stages.
- Sequential Execution: The Master App controls the order in which Stage Apps are executed, ensuring that each stage runs in the correct sequence.
- State Management: Unlike Single-Stage Apps, Multi-Stage Apps maintain state between stages, allowing data from previous stages to be reused in subsequent ones.