Diving into
Heat
Mirantis, 2013Dina Belova
● 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?
● AWS CloudFormation
● TOSCA:
Topology and
Orchestration
Specification for
Cloud
Applications
Heat ideas and standards
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
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
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
Heat Roadmap (Havanna)
● More improvements for stacks updating
● Improved security
● Native for OpenStack resource types (resource
mapping)
● Add suspend / resume stack actions
● Configurable LoadBalancer (LBaaS)
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
Heat Basic WorkFlow
OpenStack
Stack
VM VMVM
Heat CLI
tools
Heat
DB
Heat API
CloudWatch
API
Heat Engine
MQ Watcher Task
Scaling Policy
Auto Scaling Group
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
Heat Engine
● Does all the orchestration work
● Layer on which resource integration is
implemented
● Contains abstractions to use Auto Scaling and
High Availability
Heat CloudWatch API
● Ideologically refers to AWS CloudWatch service
(gets metrics from stacks)
● Will be replaced by Ceilometer
● Used for Auto Scaling
Heat CLI tools
● heatclient uses Heat REST API
● heat-cfn uses Heat CloudFormation compatible
API (deprecated)
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
Installation
● Heat + DevStack
● Heat + Ubuntu
● Heat + Fedora
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.
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
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 |
+--------------------------------------+------------+---------------+----------------------+
Delete stack
heat stack-delete 70296f8e-f301-465f-8b42-1aa3f95c42f6
+--------------------------------------+------------+--------------------+----------------------+
| id | stack_name | stack_status | creation_time |
+--------------------------------------+------------+--------------------+----------------------+
| 70296f8e-f301-465f-8b42-1aa3f95c42f6 | teststack | DELETE_IN_PROGRESS | 2013-05-29T07:38:11Z |
+--------------------------------------+------------+--------------------+----------------------+
Template structure
● Description
● Parameters
● Mappings
● Resources
● Outputs
{
"AWSTemplateFormatVersion" : "version date",
"Description" : "Valid JSON strings up to 4K",
"Parameters" : {
set of parameters
},
"Mappings" : {
set of mappings
},
"Resources" : {
set of resources
},
"Outputs" : {
set of outputs
}
}
Template elements example
Description
"Description" : "Template to test something important"
Parameters
"Parameters": {
"InstanceType" : {
"Description" : "Test instance type",
"Type" : "String",
"Default" : "m1.small",
"AllowedValues" : ["m1.small", "m1.medium"]
}
}
Template elements example
Mappings
"Mappings" : {
"AWSInstanceType2Arch" : {
"m1.tiny" : { "Arch" : "32" },
"m1.small" : { "Arch" : "64" },
"m1.medium" : { "Arch" : "64" },
"m1.large" : { "Arch" : "64" },
"m1.xlarge" : { "Arch" : "64" }
}
}
Template elements example
Resources
"Resources" : {
"network": {
"Type": "OS::Quantum::Net",
"Properties": {
"name": "the_network"
}
},
"unnamed_network": {
"Type": "OS::Quantum::Net"
},
}
Template elements example
Outputs
"Outputs" : {
"the_network_status" : {
"Value" : { "Fn::GetAtt" : [ "network", "status" ]},
"Description" : "Status of network"
},
"port_device_owner" : {
"Value" : { "Fn::GetAtt" : [ "port",
"device_owner"]},
"Description" : "Device owner of the port"
}
}
Useful links
● http://docs.openstack.org/developer/heat/
● https://wiki.openstack.org/wiki/Heat
● https://github.com/openstack/heat
● https://github.com/openstack/heat-templates
Thank you for the attention
www.mirantis.com
dbelova@mirantis.com

More Related Content

PPTX
Openstack heat & How Autoscaling works
PPTX
Template Languages for OpenStack - Heat and TOSCA
PPTX
Baremetal openstackのご紹介
PDF
IPMI is dead, Long live Redfish
PDF
Board Bringup
PDF
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
PDF
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
Openstack heat & How Autoscaling works
Template Languages for OpenStack - Heat and TOSCA
Baremetal openstackのご紹介
IPMI is dead, Long live Redfish
Board Bringup
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...

What's hot (20)

PDF
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
PPTX
Ceph and Openstack in a Nutshell
PPTX
OpenStack Quantum Intro (OS Meetup 3-26-12)
PDF
ハイブリッド時代のID基盤構成の基礎
PDF
OpenStack超入門シリーズ Novaのディスク周りあれこれ
PDF
Oss貢献超入門
PPTX
Onnx and onnx runtime
PDF
Profiling your Applications using the Linux Perf Tools
ODP
Block Storage For VMs With Ceph
PDF
Nginx Internals
PDF
DockerとKubernetesをかけめぐる
PDF
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
PPTX
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
PDF
OpenShift 4 installation
PPTX
サイバーエージェント様 発表「OpenStackのNWと物理の話」
PPTX
Data Factory V2 新機能徹底活用入門
PDF
OpenStack Architecture
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
PPTX
Building a scalable microservice architecture with envoy, kubernetes and istio
PDF
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
Ceph and Openstack in a Nutshell
OpenStack Quantum Intro (OS Meetup 3-26-12)
ハイブリッド時代のID基盤構成の基礎
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Oss貢献超入門
Onnx and onnx runtime
Profiling your Applications using the Linux Perf Tools
Block Storage For VMs With Ceph
Nginx Internals
DockerとKubernetesをかけめぐる
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenShift 4 installation
サイバーエージェント様 発表「OpenStackのNWと物理の話」
Data Factory V2 新機能徹底活用入門
OpenStack Architecture
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
Building a scalable microservice architecture with envoy, kubernetes and istio
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
Ad

Similar to An Introduction to OpenStack Heat (20)

PPTX
Heat and its resources
PDF
StackWatch: A prototype CloudWatch service for CloudStack
PDF
Scalability strategies for cloud based system architecture
PPTX
Openstack Heat
PPTX
Building a Just-in-Time Application Stack for Analysts
PDF
Training AWS: Module 9 - CloudWatch
PPTX
Reusable, composable, battle-tested Terraform modules
PDF
Monitoring kubernetes across data center and cloud
PPTX
Hot tutorials
PDF
Kubernetes on AWS
PDF
Kubernetes on AWS
PDF
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
PPTX
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
PDF
Ceilometer + Heat = Alarming
PPT
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
PPTX
Monitoring on Kubernetes using prometheus
PDF
Monitoring on Kubernetes using Prometheus - Chandresh
PDF
Big Data Tools in AWS
PPTX
Using AWS CloudWatch Custom Metrics and EC2 Auto Scaling -VSocial Infrastructure
PDF
Get Ready to Become Google Associate Cloud Engineer
Heat and its resources
StackWatch: A prototype CloudWatch service for CloudStack
Scalability strategies for cloud based system architecture
Openstack Heat
Building a Just-in-Time Application Stack for Analysts
Training AWS: Module 9 - CloudWatch
Reusable, composable, battle-tested Terraform modules
Monitoring kubernetes across data center and cloud
Hot tutorials
Kubernetes on AWS
Kubernetes on AWS
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
Ceilometer + Heat = Alarming
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using Prometheus - Chandresh
Big Data Tools in AWS
Using AWS CloudWatch Custom Metrics and EC2 Auto Scaling -VSocial Infrastructure
Get Ready to Become Google Associate Cloud Engineer
Ad

More from Mirantis (20)

PDF
How to Accelerate Your Application Delivery Process on Top of Kubernetes Usin...
PDF
Kubernetes Security Workshop
PDF
Using Kubernetes to make cellular data plans cheaper for 50M users
PDF
How to Build a Basic Edge Cloud
PDF
Securing Your Containers is Not Enough: How to Encrypt Container Data
PDF
What's New in Kubernetes 1.18 Webinar Slides
PDF
Comparison of Current Service Mesh Architectures
PDF
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
PDF
Demystifying Cloud Security Compliance
PDF
Mirantis life
PDF
OpenStack and the IoT: Where we are, where we're going, what we need to get t...
PDF
Boris Renski: OpenStack Summit Keynote Austin 2016
PPTX
Digital Disciplines: Attaining Market Leadership through the Cloud
PPTX
Decomposing Lithium's Monolith with Kubernetes and OpenStack
PPTX
OpenStack: Changing the Face of Service Delivery
PPTX
Accelerating the Next 10,000 Clouds
PPTX
Containers for the Enterprise: It's Not That Simple
PPTX
Protecting Yourself from the Container Shakeout
PPTX
It's Not the Technology, It's You
PDF
OpenStack as the Platform for Innovation
How to Accelerate Your Application Delivery Process on Top of Kubernetes Usin...
Kubernetes Security Workshop
Using Kubernetes to make cellular data plans cheaper for 50M users
How to Build a Basic Edge Cloud
Securing Your Containers is Not Enough: How to Encrypt Container Data
What's New in Kubernetes 1.18 Webinar Slides
Comparison of Current Service Mesh Architectures
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Demystifying Cloud Security Compliance
Mirantis life
OpenStack and the IoT: Where we are, where we're going, what we need to get t...
Boris Renski: OpenStack Summit Keynote Austin 2016
Digital Disciplines: Attaining Market Leadership through the Cloud
Decomposing Lithium's Monolith with Kubernetes and OpenStack
OpenStack: Changing the Face of Service Delivery
Accelerating the Next 10,000 Clouds
Containers for the Enterprise: It's Not That Simple
Protecting Yourself from the Container Shakeout
It's Not the Technology, It's You
OpenStack as the Platform for Innovation

Recently uploaded (20)

PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
August Patch Tuesday
PPTX
Benefits of Physical activity for teenagers.pptx
PPTX
The various Industrial Revolutions .pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
STKI Israel Market Study 2025 version august
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
CloudStack 4.21: First Look Webinar slides
PPT
Geologic Time for studying geology for geologist
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
Modernising the Digital Integration Hub
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Final SEM Unit 1 for mit wpu at pune .pptx
Tartificialntelligence_presentation.pptx
August Patch Tuesday
Benefits of Physical activity for teenagers.pptx
The various Industrial Revolutions .pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
STKI Israel Market Study 2025 version august
Enhancing emotion recognition model for a student engagement use case through...
1 - Historical Antecedents, Social Consideration.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Developing a website for English-speaking practice to English as a foreign la...
Web Crawler for Trend Tracking Gen Z Insights.pptx
Zenith AI: Advanced Artificial Intelligence
NewMind AI Weekly Chronicles – August ’25 Week III
CloudStack 4.21: First Look Webinar slides
Geologic Time for studying geology for geologist
observCloud-Native Containerability and monitoring.pptx
Modernising the Digital Integration Hub

An Introduction to OpenStack Heat

  • 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
  • 7. Heat Roadmap (Havanna) ● More improvements for stacks updating ● Improved security ● Native for OpenStack resource types (resource mapping) ● Add suspend / resume stack actions ● Configurable LoadBalancer (LBaaS)
  • 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
  • 9. Heat Basic WorkFlow OpenStack Stack VM VMVM Heat CLI tools Heat DB Heat API CloudWatch API Heat Engine MQ Watcher Task Scaling Policy Auto Scaling Group
  • 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
  • 15. Installation ● Heat + DevStack ● Heat + Ubuntu ● Heat + Fedora
  • 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 | +--------------------------------------+------------+---------------+----------------------+
  • 19. Delete stack heat stack-delete 70296f8e-f301-465f-8b42-1aa3f95c42f6 +--------------------------------------+------------+--------------------+----------------------+ | id | stack_name | stack_status | creation_time | +--------------------------------------+------------+--------------------+----------------------+ | 70296f8e-f301-465f-8b42-1aa3f95c42f6 | teststack | DELETE_IN_PROGRESS | 2013-05-29T07:38:11Z | +--------------------------------------+------------+--------------------+----------------------+
  • 20. Template structure ● Description ● Parameters ● Mappings ● Resources ● Outputs { "AWSTemplateFormatVersion" : "version date", "Description" : "Valid JSON strings up to 4K", "Parameters" : { set of parameters }, "Mappings" : { set of mappings }, "Resources" : { set of resources }, "Outputs" : { set of outputs } }
  • 21. Template elements example Description "Description" : "Template to test something important" Parameters "Parameters": { "InstanceType" : { "Description" : "Test instance type", "Type" : "String", "Default" : "m1.small", "AllowedValues" : ["m1.small", "m1.medium"] } }
  • 22. Template elements example Mappings "Mappings" : { "AWSInstanceType2Arch" : { "m1.tiny" : { "Arch" : "32" }, "m1.small" : { "Arch" : "64" }, "m1.medium" : { "Arch" : "64" }, "m1.large" : { "Arch" : "64" }, "m1.xlarge" : { "Arch" : "64" } } }
  • 23. Template elements example Resources "Resources" : { "network": { "Type": "OS::Quantum::Net", "Properties": { "name": "the_network" } }, "unnamed_network": { "Type": "OS::Quantum::Net" }, }
  • 24. Template elements example Outputs "Outputs" : { "the_network_status" : { "Value" : { "Fn::GetAtt" : [ "network", "status" ]}, "Description" : "Status of network" }, "port_device_owner" : { "Value" : { "Fn::GetAtt" : [ "port", "device_owner"]}, "Description" : "Device owner of the port" } }
  • 25. Useful links ● http://docs.openstack.org/developer/heat/ ● https://wiki.openstack.org/wiki/Heat ● https://github.com/openstack/heat ● https://github.com/openstack/heat-templates
  • 26. Thank you for the attention www.mirantis.com [email protected]