Over the last year, Angus Salkeld and I have been developing a IAAS high availability service called Pacemaker Cloud. We learned that the problem we were really solving was orchestration. Another dev group was also looking at this problem inside Red Hat from the launching side. We decided to take two weeks off from our existing work and see if we could join together to create a proof of concept implementation from scratch of AWS CloudFormation for OpenStack. The result of that work was a proof of concept project which provided launching of a WordPress template, as had been done in our previous project.
The developers decided to take another couple weeks to determine if we could get a more functional system that would handle composite virtual machines. Today, we released that version, our second iteration of the Heat API. Since we have many more developers, and a project that exceeded our previous functionality of Pacemaker Cloud, the Heat Development Community has decided to cease work on our previous orchestration projects and focus our efforts on Heat.
A bit about Heat: The Heat API implements the AWS Cloud Formations API. This API provides a rest interface for creating composite VMs called Stacks from template files. The goal of the software is to be able to accurately launch AWS CloudFormation Stacks on OpenStack. We will also enable good quality high availability based upon the technologies we created in Pacemaker Cloud including escalation.
Given that C was a poor choice of implementation language for making REST based cloud services, Heat is implemented in Python which is fantastic for REST services. The Heat API also follows OpenStack design principles. Our initial design after our POC shows the basics of our architecture and our quickstart guide can be used with our second iteration release.
A mailing list is available for developer and user discussion. We track milestones and issues using github’s issue tracker. Things are moving fast – come join our project on github or chat with the devs on #heat on freenode!