What is the difference between juju and heat?

asked 2014-11-28 02:33:24 -0500

splucena gravatar image

Juju was never mentioned in the official install guide of icehouse but I see lots of juju documentation as well. Can I install juju on top of heat installation or is juju heats counterpart?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2014-11-30 13:54:23 -0500

updated 2014-12-02 08:05:10 -0500

Both heat and Juju are service orchestration on the cloud. Juju is used to deploy everything including complete openstack cloud both on virtual and physical environment(Juju is openstack installer for ubuntu). In other words, Juju is considered as both cloud orchestration and deployment tool. But heat is cloud-formation like orchestration engine, that provides openstack infrastructure resource provisioning and resource lifecycle management for instances running on the openstack compute service(Example of resources are Froating IPs, Volume, Virtual Routers, ...).

Juju is more than an orchestrator. Juju can launch charms(Encapsulated software instance) on the cloud, and also can provision physical machine using MaaS(Metal as a Service). It provides software configuration management in adition to orchestration tasks. See the following figure: image description

Combination of MaaS and Juju can provides wide range of functionality(As the figure shows). Juju uses charm, an encapsulated software that contains the followings:

  • Software Configuration
  • How the serivce will be deployed
  • The relationship to other services(charms)

You can deploy heat, using Juju(See this). Its useful when you want to setup complete openstack environment using Juju and MaaS(without manual installation).

Juju is availabe online for testing and evaluation purpose.

edit flag offensive delete link more

answered 2014-12-08 10:29:05 -0500

zaneb gravatar image

updated 2014-12-08 10:30:19 -0500

Heat and Juju are approaching a similar problem space from different directions: Juju from the software side and Heat from the infrastructure side.

The basic unit of Juju is the 'charm', which is essentially a software package with some configuration information bundled together in a consistent way. Juju allows you to combine charms together into an application running across multiple machines, sort of like a distributed package manager. So e.g. a web application server might be provided with the details of how it can connect to a database deployed on another (or the same) server. It can also provision machines (virtual or actual) to deploy the software on, from any of a number of platforms: OpenStack Nova, EC2, MaaS.

Heat is focused on OpenStack infrastructure - not just Nova servers, but every kind of resource that OpenStack provides (Nova servers, Cinder volumes, Neutron networks, load balancers, security groups, Swift buckets, Trove databases, Sahara clusters and many, many others). Heat also includes Software Deployment resources which allow you to deploy software to Nova servers and link together the configuration of the various deployments in a similar way to Juju. A Heat template can define the entire infrastructure and software deployment of an application, though it can also be broken down into logical units where appropriate.

Juju is a good choice if you only need to control servers and the software deployed on them and you want to be able to do it on any infrastructure platform (OpenStack/AWS/bare metal). Heat is a good choice if you are deploying to OpenStack and also need to manage other pieces of OpenStack infrastructure other than just Nova servers.

Both Juju + MaaS and TripleO (which uses Heat + Nova + Ironic) are legitimate choices to deploy OpenStack itself, as are many other popular installation methods.

So you can use either Juju or TripleO or something else to install Heat (and the rest of OpenStack), and once you have OpenStack installed you can use either Juju or Heat (or both, or neither) to deploy applications on it.

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2014-11-28 02:33:24 -0500

Seen: 4,119 times

Last updated: Dec 08 '14