The Orchestration service for OpenStack
Orchestration is a main feature provided and supported by OpenStack. It is used to orchestrate cloud resources, including applications, disk resources, IP addresses, load balancers, and so on.
As discussed in the earlier sections of this chapter, the OpenStack component that is responsible for managing the orchestration services in OpenStack is Heat.
Heat contains a template engine that supports text files where cloud resources are defined. These text files are defined in a special format compatible with Amazon CloudFormation. A new OpenStack native standard has also been developed for providing templates for Orchestration called HOT (Heat Orchestration Template).
Heat provides two types of clients including a command-line client and a web-based client integrated into the OpenStack dashboard.
The Orchestration project (Heat) itself is composed of several subcomponents. These subcomponents are listed as follows:
- Heat
- heat-engine
- heat-api
- heat api-cfn
Heat uses the term "stack" to define a group of services, resources, parameters inputs, constraints, and dependencies. A stack can be defined using a text file; however, the important point is to use the correct format. The JSON format used by AWS CloudFormation is also supported by Heat.