1.4.9. Orchestration
The Orchestration service provides a template-based orchestration engine for the OpenStack cloud, which can be used to create and manage cloud infrastructure resources such as storage, networking, instances, and applications as a repeatable running environment.
Templates are used to create stacks, which are collections of resources (for example instances, floating IPs, volumes, security groups, or users). The service offers access to all OpenStack core services via a single modular template, with additional orchestration capabilities such as auto-scaling and basic high availability.
Features include:
- A single template provides access to all underlying service APIs.
- Templates are modular (resource orientated).
- Templates can be recursively defined, and therefore reusable (nested stacks). This means that the cloud infrastructure can be defined and reused in a modular way.
- Resource implementation is pluggable, which allows for custom resources.
- Autoscaling functionality (automatically adding or removing resources depending upon usage).
- Basic high availability functionality.
Table 1.11. Orchestration Service components
| Component | Description |
|---|---|
|
heat
|
A CLI tool that communicates with the heat-api to execute AWS CloudFormation APIs.
|
|
heat-api
|
An OpenStack-native REST API that processes API requests by sending them to the heat-engine over RPC.
|
|
heat-api-cfn
|
Provides an AWS-Query API that is compatible with AWS CloudFormation and processes API requests by sending them to the heat-engine over RPC.
|
|
heat-engine
|
Orchestrates the launching of templates and provide events back to the API consumer.
|
|
heat-api-cloudwatch
|
Provides monitoring (metrics collection) for the Orchestration service.
|
|
heat-cfntools
|
A package of helper scripts (for example, cfn-hup, which handles updates to metadata and executes custom hooks).
|