One of the most frequently cited advantages of bringing OpenStack into your corporate world is the ability to easily add resources when your developers or other teams need them. Starting a new project? Start up a server. Experimenting with changes to an existing application? Start up a server. An application needs more resources? Start up a … you get the idea.
We think a lot about that kind of agility here at Mirantis. In fact, my colleague David Fishman just posted a blog over at Wired.com talking about how important it is to maintain the agility necessary to give your customers what they want when they want it — that is, before your competitors can.
For some time now, Amazon Web Services CloudFormation has provided the ability to automate resource management, making it possible to automatically grow or shrink your cloud based on traffic or other criteria. It’s a popular service, because enabling developers and others to spin up computing resources as necessary is only the beginning of the story. If you want real agility, you need to be able to automate even that.
Now Heat is making it possible to do the same type of thing using OpenStack.
OpenStack Heat is a (CloudFormation-compatible) template-based system that enables you to specify what should be done, such as performing an action on a number of different servers or spinning up a group of resources (called a stack).
Of course, Heat is still fairly young. CloudFormation has been around for some time, and offers auto-scaling, rolling updates, even auto-healing. For OpenStack Grizzly, Heat also supports much of this functionality, from the basic — enabling you to write a template and use it to create a stack, then instantiate that stack in an automated fashion — to the not-so-basic, including rolling updates and auto-scaling. Coming in Havana, Heat’s auto-scaling capabilities will provide closer integration with Ceilometer.
We’ve put together a slideshow that explains what it is and gives you an idea of how it works, both now and coming in Havana.
What features would you find most useful in Heat going forward? Is auto-scaling more important to you, or are you more interested in maintenance-type tasks that free your staff up for other innovations? We’d love to hear about it in the comments.
Or could Heat help you in some way we haven’t mentioned? If you have a unique use-case, we’d especially love for you to add that to the comments as well; if Heat can do it (now or in the future) we may even cover it in a future post.
[Update: Edited 9:44pm to better represent Heat's current capabilities.]