Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Heat is an orchestration tool: you give it a list of resources that you want to provision, and Heat automates the process of creating everything for you. If all you're creating is a single Nova instance this may not seem all that helpful, but if you are deploying an application that needs:

  • Multiple web servers
  • Multiple database servers
  • Dedicated networks for backend (web -> database) communication
  • A load balancer for inbound web access
  • Automatic scaling of web servers in response to load
  • Appropriate security groups for all your network traffic
  • Automated configuration of services on your Nova instances

Then Heat is extremely useful. Using Heat, you can make deployment of this environment both automated and reproducible.

Heat is an orchestration tool: you give it a list of resources that you want to provision, and Heat automates the process of creating everything for you. If all you're creating is a single Nova instance this may not seem all that helpful, but if you are deploying an application that needs:

  • Multiple web servers
  • Multiple database servers
  • Dedicated networks for backend (web -> database) communication
  • A load balancer for inbound web access
  • Automatic scaling of web servers in response to load
  • Appropriate security groups for all your network traffic
  • Automated configuration of services on your Nova instances

Then Heat is extremely useful. Using Heat, you can make deployment of this environment both automated and reproducible.

Update: Wow, that is a lot of questions. Let's see what I can do.

1) Launching an application on nova instance does create private cloud?

I'll be honest, I don't understand this question. OpenStack allows you to create a "private cloud". Launching an instance on Nova is just using that private cloud.

2) Web application launched on nova instance requires all the features mentioned above. So how Heat can be used to provide all the features to the application deployed on nova instance?

Heat is an "orchestration" tool. You provide it with a template that describes the resources required by your application, and Heat will talk to the various OpenStack APIs to provision those resources.

3) Do Heat require an application running on nova instance, so that it can provide all those features, or it can work with any application running on a machine? Or I have totally wrong understanding about working of heat?

Heat is specifically a tool for interacting with OpenStack. There are more general-purpose tools out there, like Puppet, Chef, Ansible, and so on, that can be used for managing arbitrary environments (but that are not as easy to use if your primary goal is to orchestrate OpenStack resources).

4) Does Heat require for Private cloud creation?

No. Heat does not install and configure OpenStack for you. It is used for creating resources (servers, networks, storage volumes) after you have an OpenStack environment running.

5) Can you provide some links from where I can gain good understanding of working of Heat and launching applications and private cloud with Heat?

I think that searching for "openstack heat" provides a reasonable starting point.