Ask Your Question

What is the difference between OpenStack Heat and Puppet or Chef?

asked 2014-08-12 01:59:39 -0500

ujey gravatar image

updated 2014-08-13 11:25:53 -0500

zaneb gravatar image

Hi, I'm studying about cloud automation tools for creating cluster environment (for supercomputing) with openstack

I was thinking of either using puppet or chef, but soon come to realize that Openstack has its own automation tool, Heat. I've googled about the difference between chef/puppet and heat, but nothing really clearly helps me understand the difference...

so my question is..

  1. What's the difference between Heat and puppet/chef?
  2. Can heat be used to automate the deployment of an application within an instance? (or instances..) or should puppet/chef be used for it?
edit retag flag offensive close merge delete

2 answers

Sort by » oldest newest most voted

answered 2014-08-12 02:14:17 -0500

SGPJ gravatar image


Heat is an orchestration tool for managing “stacks” or applications deployed on the cloud. Heat can orchestrate ports, routers, instances, Floating IPs, Private Networks etc. Packaging can also be installed via Heat templates to do things like “deploy a stack and make it a 4 node WordPress cluster.” Provides OpenStack-like CLI and Database show, list, create methods for interactions.


Client-server based. Puppetmaster and Puppet Clients. Declarative Language for “write once deploy many”. Has open-source Openstack Packages for on-demand Openstack Delivery/Configuration Version control. Integrates with Openstack Heat/TripleO for managing packages and configurations. Deployment of monitoring tools, security tools all possible within private cloud. Integrates well with Razor


Client-server based orchestration management “infrastructure as code” for deploying applications, version control, config files. Written in Ruby. “Cookbooks” CB’s can be written to deploy Openstack “Chef for openstack” components, and potential to deploying security, monitoring etc. (Grizzly, Nicira Plugin, KVM, LXC) Ceilometer, Quantum Cookbooks (By Dreamhost) NVP, OVS Cookbooks (By Nicira) Chef agent for Arista switches, “kind of SDN” Roles and recipes, Role could be “Allinone Devstack or Controller Node or Base Node

You can refer to below links:

link text

edit flag offensive delete link more

answered 2014-08-13 11:22:54 -0500

zaneb gravatar image

Shankar's answer is excellent but just to add to that, you might also want to read my blog post about how orchestration and configuration management relate to each other.

Basically Heat is an orchestration tool for all of the infrastructure that OpenStack provides - not only servers, but volumes, networks, floating IPs, Swift containers, Trove databases, Marconi queues, and so on.

Configuration management tools like Puppet and Chef are more about the software side. They often allow you to spin up servers to run it on as well, but they generally don't manage the other services that OpenStack offers.

You can, and in many cases should, use both types of tools together. There are also valid strategies for deploying some applications using Heat alone. The choice is up to you, and depends on your particular application.

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2014-08-12 01:59:39 -0500

Seen: 9,708 times

Last updated: Aug 13 '14