> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/release-orchestration/new-to-release-orchestration/key-concepts.md).

# Key Concepts

Learn the key concepts and terminology used in Release Orchestration.

This topic covers the fundamental concepts and terminology used in Harness Release Orchestration.

### Release <a href="#release" id="release"></a>

A **release** represents a software delivery that comprises functions across teams, tools, and environments. Releases are modeled using processes that define the phases, activities, and dependencies required to complete the release.

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-5f2b848ca8cc53d1f3b8577325a3336b267ef5a0%2Frelease-sample.png?alt=media" alt="Release view showing phases and activities for a release"><figcaption><p>Release view</p></figcaption></figure>

Learn more: [Releases Overview](/release-orchestration/use-release-orchestration/release-orchestration-releases/overview.md) | [Modeling Releases](/release-orchestration/use-release-orchestration/release-orchestration-releases/modeling-releases.md)

### Process <a href="#process" id="process"></a>

A **process** is a reusable blueprint that defines the structure of a release. It consists of phases, activities, dependencies, inputs, and variables. Processes can be created manually or using AI-based process creation.

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-38db688c976f2465606a8b8cab160027aa243151%2Fprocesses.png?alt=media" alt="List of processes in Release Orchestration"><figcaption><p>Processes list</p></figcaption></figure>

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-ca8d6119e226d691f4fdb10ee68991c487198e50%2Fprocess-closeup.png?alt=media" alt="Close-up view of a process showing its phases and activities"><figcaption><p>Process detail view</p></figcaption></figure>

Learn more: [Processes Overview](/release-orchestration/use-release-orchestration/release-orchestration-processes/overview.md) | [Process Modeling](/release-orchestration/use-release-orchestration/release-orchestration-processes/process-modeling.md) | [AI-Based Process Creation](/release-orchestration/use-release-orchestration/release-orchestration-processes/ai-based-process-creation.md)

### Phases and activities <a href="#phases-and-activities" id="phases-and-activities"></a>

A **phase** is a collection of activities that represents a logical group of functions. Phases represent major milestones or stages in the release lifecycle, such as "Planning and Coordination", "Testing and Validation", "Feature Flag Enablement", "Deployment", and "Monitoring". Phases can have dependencies on other phases.

An **activity** is a single unit of work within a phase. There are three types of activity:

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-94ece304a89182cb16842d29787e7e358771c8c4%2Factivities-and-phases.png?alt=media" alt="Release process phases and activities"><figcaption><p>Release process phases and activities</p></figcaption></figure>

* **Automated activity**: Encapsulates a pipeline. The activity contains or references an automatically running Harness pipeline.
* **Manual activity**: Lets you create tasks, record actions, and complete actions manually. Use it for approvals, sign-offs, and verification steps.
* **Subprocess activity**: References a process within another process.

Learn more: [Phases Overview](/release-orchestration/use-release-orchestration/release-orchestration-phases/phases-overview.md) | [Activities Overview](/release-orchestration/use-release-orchestration/release-orchestration-activities/activities-overview.md) | [Automated Activities](/release-orchestration/use-release-orchestration/release-orchestration-activities/activity-types/automated-activities.md) | [Manual Activities](/release-orchestration/use-release-orchestration/release-orchestration-activities/activity-types/manual-activities.md) | [Subprocess Activities](/release-orchestration/use-release-orchestration/release-orchestration-activities/activity-types/subprocess-activities.md)

### Activity store <a href="#activity-store" id="activity-store"></a>

The **activity store** contains reusable activities that encapsulate pipeline inputs and outputs. Harness Release Orchestration provides activity stores where reusable activities for different processes can be modeled and selected. Activities can be reused across different processes, promoting consistency and reducing duplication.

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-9dea9fa977b5f71a41f57c4305f656b84b713283%2Factivities-type-store.png?alt=media" alt="Activity Store showing reusable activities"><figcaption><p>Activity Store</p></figcaption></figure>

Learn more: [Activity Store](/release-orchestration/use-release-orchestration/release-orchestration-activities/activity-store.md)

### Input store <a href="#input-store" id="input-store"></a>

The **Input Store** is a collection of inputs for every process. There can be different sets of inputs for the same process, allowing you to execute the release multiple times with different sets of inputs. The Input Store holds the concrete values for:

* Process-level inputs
* Phase-level inputs
* Activity-instance inputs within an execution

Each process can have multiple input instances. The Input Store is a centralized place to manage the configuration inputs required to run your processes. Each automated activity needs to have an input set.

* **Process input set**: A collection of activity input sets that apply across the entire release process.
* **Activity input set**: Defines the inputs required for a specific activity within a process phase. Each activity must be linked to an input set for the process to run successfully.

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-04ba12c20ad36b6d3bdda9d9027d1fb8b9b307cc%2Finputstore-view.png?alt=media" alt="Input Store showing input sets for a process"><figcaption><p>Input Store view</p></figcaption></figure>

Learn more: [Inputs and Variables Overview](/release-orchestration/use-release-orchestration/release-orchestration-inputs-variables/overview.md)

### Release group and Release Calendar <a href="#release-group-and-release-calendar" id="release-group-and-release-calendar"></a>

A **release group** is a collection of releases created and executed on a defined cadence.

The **release calendar** provides a visual representation of all planned and scheduled releases. It helps teams coordinate releases and avoid conflicts.

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-1c7bc4b497e4e94fb65e97e64fc6cf22d10127d3%2Fcalendar.png?alt=media" alt="Release Calendar showing scheduled and in-flight releases"><figcaption><p>Release Calendar</p></figcaption></figure>

Learn more: [Modeling Releases](/release-orchestration/use-release-orchestration/release-orchestration-releases/modeling-releases.md)

### Variables <a href="#variables" id="variables"></a>

**Inputs** are parameters that are provided when creating or executing a process. **Variables** are values that can be used throughout the process and can be defined at different levels:

* **Global variables**: Available across the entire process.
* **Phase variables**: Available within a specific phase.
* **Activity variables**: Available within a specific activity.

<figure><img src="https://478177610-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwRDYqBolZUj6Rwnqx0mm%2Fuploads%2Fgit-blob-fa87f33d28ee9c63ab37604e44860b75714a0f36%2Finputstore-variables.png?alt=media" alt="Global, phase, and activity variables defined for a process"><figcaption><p>Variables view</p></figcaption></figure>

Learn more: [Inputs and Variables Overview](/release-orchestration/use-release-orchestration/release-orchestration-inputs-variables/overview.md) | [Global Variables](/release-orchestration/use-release-orchestration/release-orchestration-inputs-variables/variables/variable-types/global-variables.md) | [Phase Variables](/release-orchestration/use-release-orchestration/release-orchestration-inputs-variables/variables/variable-types/phase-variables.md) | [Activity Variables](/release-orchestration/use-release-orchestration/release-orchestration-inputs-variables/variables/variable-types/activity-variables.md)

### Process execution <a href="#process-execution" id="process-execution"></a>

**Process execution** is the act of releasing. During execution, activities run according to their dependencies and configuration. The system tracks the status of each activity and the overall release progress.

Learn more: [Executing a release](/release-orchestration/use-release-orchestration/release-orchestration-execution/executing-a-release.md) | [Activity Execution Flow](/release-orchestration/use-release-orchestration/release-orchestration-activities/activities-overview.md#activity-types) | [Parallel vs Sequential Execution](/release-orchestration/use-release-orchestration/release-orchestration-phases/phase-dependencies.md)

### Related topics <a href="#related-topics" id="related-topics"></a>

* [Process Modeling](/release-orchestration/use-release-orchestration/release-orchestration-processes/process-modeling.md)
* [Release Lifecycle](/release-orchestration/use-release-orchestration/release-orchestration-releases/overview.md#release-lifecycle)

{% @harness-feedback/feedback %}
