An AppDynamics workflow consists of commonly executed actions organized together into a repeatable, automated flow. Workflows are often used to implement automated tasks in virtualized, cloud-based environments. For example, you can add machines in response to increased application load, take down machine, or reconfigure machines.
Workflows can be run manually, on a repeating schedule, or as the action taken by a policy that has been triggered by a performance event, like a health rule violation. Workflows can invoke tasks on application machines, such as running an Ant task.
AppDynamics workflows are divided into steps, based on five basic step-types, which indicate generally the type of action each is designed to accomplish:
- Create new machines and configure them.
- Terminate machines.
- Configure machines that are already deployed.
- Configure a specific machine is a step to perform tasks on any running machines instrumented with the Standalone Machine Agent, cloud-based or not.
- Manual step pauses workflow execution until required manual steps are taken.
Workflows are executed by the Standalone Machine Agent, which must be available on every target machine. The Standalone Machine Agent configuration must have the Enable Orchestration property set to true. See Standalone Machine Agent Configuration Property Reference for more about this property. This property must be true in the Standalone Machine Agent included in the images used to create new cloud-based machines.
Since machines are brought up and shut down frequently in cloud environments, there are several additional configuration settings suitable for compute cloud environments. The automatic node name settings and the reuse node name setting for the Java and .NET agent ensure that a new logical node in the AppDynamics model isn't created every time a node is started.
For more information on the workflow steps, see Create a Workflow and Workflow Steps.
The basic work of launching and terminating a step-type is taken care of by the step-type itself, but all other workflow work is defined and executed using tasks. Tasks are sequential units of code execution, with defined inputs and outputs. AppDynamics provides templates for common tasks, such as running Ant on a supplied build file or creating a specified schema in a MySQL database. You use these templates to create your own tasks, with the inputs and outputs you need.
In addition, there are task templates that are used to launch shell or batch scripts.
Workflow Creation Prerequisites
To prepare for creating workflows, you need to do the following:
- If you want to use any shell/batch scripts in your workflows, create them.
- To use workflows to interact with the cloud, register your cloud provider and the images on that cloud provider that you are going to use to create your machines and make sure you have the appropriate AppDynamics cloud connector available to use. See Compute Clouds.
- Enable the cloud auto-scaling features in your user preferences in the UI. (See the following section.)
- Check the Task Library and make sure you have task templates you need. You can create templates if needed.
Make Cloud Auto-Scaling Visible on the Controller UI
By default, cloud auto scaling features are not visible in the Controller UI. Enable the feature using the following steps:
- Click the Settings (gear) icon in the upper right corner and select My Preferences.
- Check the Show Automation Features checkbox
- Access the Cloud Auto-Scaling features from the top menu bar.