Openstack Orchestration Component
Heat is the main project in the OpenStack Orchestration program. It implements an orchestration engine to launch multiple composite cloud applications based on templates in the form of text files that can be treated like code.
A native Heat template format is evolving, but Heat also endeavours to provide compatibility with the AWS CloudFormation template format, so that many existing CloudFormation templates can be launched on OpenStack. Heat provides both an OpenStack-native ReST API and a CloudFormation-compatible Query API.
Heat Architecture
Heat comprises a number of Python applications:
heat
The heat tool is a CLI which communicates with the heat-api to execute AWS CloudFormation APIs. Of course this is not required—developers could also use the Heat APIs directly.
heat-api
The heat-api component provides an OpenStack-native ReST API that processes API requests by sending them to the heat-engine over RPC.
heat-api-cfn
The heat-api-cfn component provides an AWS-style Query API that is compatible with AWS CloudFormation and processes API requests by sending them to the heat-engine over RPC.
heat-engine
The heat engine does the main work of orchestrating the launch of templates and providing events back to the API consumer