Working With Workflows

Workflows are used to carry out physical deployments. A workflow describes all necessary steps for a deployment of your application. As your application consists of different components, the top level of the workflow (Application Workflow) represents your application architecture and Component Workflows are used to deploy the individual components. You can define your Component Workflow quickly with pre-defined Actions.

What is a Workflow?

Workflows describe how deployments are carried out in the context of the Deployment Model.

In ARA you can define workflows to carry out the tasks in complex processes of release automation. Once you have defined workflows, you can execute them at any time or schedule them to run at a specific time. You can monitor the executions to see how they are progressing and even take action to influence the execution process, such as rolling back to a specific task, when the execution fails or gets held up.

Workflows can and should be designed to operate independently of the target environments and nodes.

Overview

Purpose: the purpose of Workflows is to deploy an Application's Components to their designated endpoints in a structured, efficient and orderly fashion. Workflows are fairly intuitive: they are a collection of processes related to deployments and submitted to the hosts. The Workflow contains all the Components to Deploy and the sequence in which to deploy them. Each Component has a new Workflow that contains the sequence of Actions required to deploy that Component.

Operation: when the Workflow is executed these Actions are submitted in sequence to the AE Agents along with the necessary parameters. The Agents, in turn, execute the underlying system commands. We recommend incorporating efficiency in your Workflows by deploying Components in parallel as long as there are no dependencies between them. E.g. you can deploy your webapp to an Application server and a Database to a SQL server instance at the same time.

Characteristics: Workflows are fairly simple to build: they have an absolute starting point, an absolute end and Component Action couples in between.

Data map: we recommend avoiding the General Workflow type, that only contains actions but no components and is only appropriate for deployments that pertain to internal AE and ARA processes.

For more information see Workflow Types.

Workflow Structure

Workflows are layered structures along the lines of a Russian doll model. Each part of a workflow contains a sub-level workflow, and each part of a sub-level workflow contains yet another sublevel. In order to design workflows you need to drill-down into the sub-layers until your overall construct does exactly what you need.

Workflow Types

ARA provides the following types of Workflows:

Workflow Definitions and Custom Types

All workflow definitions are stored in objects and are assigned an ARA type that represents one of two base types "application" or "general." The workflow custom types that are delivered with the ARA  application are:

You can use these or create your own custom types instead or in addition to these.

Individual steps or actions include, but are not limited to:

Topics