2. ● Orchestration service for OpenStack (officially
supports Grizzly release)
● Uses templating mechanism
● Controls complex groups of cloud resources
● Huge potential and multiple use cases
● More than 20 active contributors
What is Heat?
3. ● AWS CloudFormation
● TOSCA:
Topology and
Orchestration
Specification for
Cloud
Applications
Heat ideas and standards
4. Stack - group of connected cloud resources (VM, volumes,
networks, etc.)
● Autoscaling
● HA mechanism for the different levels (services running
inside an instance, individual instances, stacks)
● Nested stacks
Heat basics. Stack
5. Heat basics. Template
● Stacks are created from templates
● Heat templates have the same structure and
abstractions as AWS CloudFormation templates
● Resource mapping in the next OpenStack release
● Templates are well integrated with Chef and
Puppet
6. Heat Roadmap (Havanna)
● Parallel source creation
● Improve networking / Quantum support
● Rollings updates
● Support for extended template language
● Add AutoScaling API actions
● Move to Ceilometer for
metrics / monitoring / alarms
8. Already in Heat
● Nested stacks
● High Availability (HA) for different resource levels
● Associate users with templates using Keystone
● Get boto (Python programming language
interface to Amazon Web Services) working with
Heat
● API rework to align AWS specification
10. Heat API
● heat-api (OpenStack native REST API) or heat-api-
cfn (provides AWS Query API)
● Communicates with Heat Engine and tells it what
actions to do
11. Heat Engine
● Does all the orchestration work
● Layer on which resource integration is
implemented
● Contains abstractions to use Auto Scaling and
High Availability
12. Heat CloudWatch API
● Ideologically refers to AWS CloudWatch service
(gets metrics from stacks)
● Will be replaced by Ceilometer
● Used for Auto Scaling
13. Heat CLI tools
● heatclient uses Heat REST API
● heat-cfn uses Heat CloudFormation compatible
API (deprecated)
14. Heat Auto Scaling Principles
● Agents are installed to the VMs. They send VM
telemetry to the monitoring component
periodically
● Monitoring component (Heat CloudWatch) is
responsible for the communication between VMs
and Heat
● Core functionality (implemented in Heat Engine)
provides the scaling itself
16. CLI (Heat Client)
event-list List events for a stack.
event-show Describe the event.
resource-list Show list of resources belonging to a stack.
resource-metadata List resource metadata.
resource-show Describe the resource.
stack-create Create the stack.
stack-delete Delete the stack.
stack-list List the user's stacks.
stack-show Describe the stack.
stack-update Update the stack.
template-show Get the template for the specified stack.
template-validate Validate a template with parameters.
help Display help about this program or one of its
subcommands.
17. Try Heat + DevStack
Launch a stack:
heat stack-create teststack
-u <template_to_use>
-P "InstanceType=m1.large;
DBUsername=wp;
DBPassword=verybadpassword;
KeyName=heat_key;
LinuxDistribution=F17"
Example of template to use address:
https://raw.github.com/openstack/heat-
templates/master/cfn/WordPress_Single_Instance.template
18. Get stack's list
heat stack-list
If everything is nice after stack creation
+--------------------------------------+------------+-----------------+----------------------+
| id | stack_name | stack_status | creation_time |
+--------------------------------------+------------+-----------------+----------------------+
| 70296f8e-f301-465f-8b42-1aa3f95c42f6 | teststack | CREATE_COMPLETE | 2013-05-29T07:39:57Z |
+--------------------------------------+------------+-----------------+----------------------+
If something goes wrong
+--------------------------------------+------------+---------------+----------------------+
| id | stack_name | stack_status | creation_time |
+--------------------------------------+------------+---------------+----------------------+
| 70296f8e-f301-465f-8b42-1aa3f95c42f6 | teststack | CREATE_FAILED | 2013-05-29T07:39:57Z |
+--------------------------------------+------------+---------------+----------------------+