OpenStack Heat: Cloud Orchestration Delivered

In the world of cloud, there are several forms of automation that make your life easier when deploying virtual infrastructure. Most of you are probably familiar with configuration management platforms like Puppet or Chef. Those are great for customizing virtual machines or instances that are up and running, but what orchestrating the launching of the virtual infrastructure itself? For that, we turn to OpenStack Heat. Heat is very much like Amazon AWS Cloud Formations. You use templates to define what to spin up in the cloud and how. A great use case here is spinning up an entire application stack, such as a scalable web application, in an automated fashion. Let Heat spin up and configure all of the infrastructure components, then let Puppet or Chef install and configure the application stack at the instance level. This is the ultimate one-two punch for cloud automation.

Here are a couple of things to become familiar with as you learn to use Heat:

  • Stack - A group of connected cloud resources such as instances (virtual machines), cinder volumes, networks, routers, security groups, etc.

  • Template - Defines a stack by listing everything that composes the stack.

  • Parameters - Defines information which can be passed to Heat from the user like Image IDs or Network IDs. One of three main sections of a Heat template.

  • Resources - the specific objects that Heat will launch and configure from the templates. Second of three main sections of a Heat template.

  • Output - Information that is passed back to the user at the end of the process.

Since Heat is much like AWS Cloud Formations, it is no surprise that Heat can use a CF template as well. Native Heat templates that are not compatible with AWS CF templates are called Heat Orchestration Templates (HOT). These are often written in YAML as opposed to Cloud Formations Native (CFN) templates which are written in JSON. HOT templates can only be used with OpenStack which CFN templates can be used with AWS and OpenStack. More information on Heat templates can be found here.

Should you want to wade further into the waters of Heat terminology, visit the Heat Glossary.

Architecturally, you have the heat-api and heat-engine that work all of the Heat 'magic' behind the scenes. You 'talk' to the Heat API, which then sends requests via a message queue (AMQP) to the Heat Engine. The Heat Engine actually handles all of the orchestration. Note that Heat also uses its own database to maintain state information.

Here is the main Heat Wiki, which has a ton of information about Heat along with Getting Started Guides. Knock yourself out there and let me know if you have any questions.


How I work 2014 - Gear and Productivity Tips

I was having a discussion with another techie friend, and we happened to discuss one of our favorite blogs: Lifehacker. We also commented on how we both loved the “How I work” features from various people across many different industries. This past week (or two) the Lifehacker team did their annual “How we work” series, and I was inspired to write one as well. So, without further delay, here is my write-up. I apologize beforehand if it is too boring to palate.

Location: All over the US
Current Gig: Cloud Solutions Architect (Consultant)
One word that describes how you work: Insanely.
Current mobile device: iPhone 5S and iPad Air
Current computer: 13” Macbook Air (Haswell)

What apps/software can’t you live without? Why?
As an early adopter of the Cloud, I moved to a web-based workflow several years ago. I rarely use locally installed apps. I came over to the Google dark side from the beginning, so I use Google Apps for most things: Gmail, Docs, Spreadsheets, Presentations, Drawings, etc. I use Evernote religiously for note taking, project planning, document storage, business card and contact storage, receipt archiving and just about anything else I can think of. As a matter of fact, I am writing this in Evernote right now! I also love Pocket. Anytime I come across something interesting on the web that I can’t read in two minutes or less, it gets saved to Pocket for later reading. On the apps front, as a frequent traveler, I constantly use the Delta (airline) app, Uber app and Marriott app. I also frequently use the Twitter app, Facebook app, official Gmail iOS app (I hate iOS mail), Pocket app, Evernote app - geez there are so many I better stop here. Suffice it to say that I am a mobile junkie. I am all about mobile apps!

What’s your workspace setup like?
This is an interesting one for me. Since I am often traveling, my workspace is any hotel room business suite office/desk. Some are well designed for the task and some aren’t. Either way, I make them work for me. At home, I actually have three different workspaces that I use. I’ll try to take a pic of one of those and insert it here later on. Otherwise, just picture a token Ikea desk, in front of a token window, with a token Macbook air on it.

What’s your best time-saving shortcut/life hack?
My best life hack is to do everything in a web-based multi-platform app. This allows you to move from a laptop to a tablet to a smart phone and back with little effort. This also prevents a situation where you are dead in the water if one device breaks or is lost. You can even grab a public computer (I know…ewww) and keep on working.

What’s your favorite to-do list manager?
I have two distinct to-do list managers: Gmail and Evernote. Anything I need to get done that same day is a starred item in my Gmail. As I complete them, I archive them. Longer term projects go into a ‘to-do’ notebook in Evernote. I open that notebook and note by default every single day and decide what to do next. I sometimes use physical sticky notes for certain things, but not often. I am not a fan of ‘hard copy’ so I try to keep everything digital.

Besides your phone and computer, what gadget can’t you live without and why?
My iPad Air and 4G mobile hotspot. I do a ton of reading on my iPad and actually get a lot of work done it as well. I have become quite proficient at typing on the on-screen keyboard when laid down on a flat surface. You would be surprised how easy it becomes with practice. The 4G mobile hotspot is pretty self explanatory if you travel. Internet everywhere!

What every day thing are you better at than everyone else? What’s your secret?
The one skill that I have purposely developed, and continue to hone, is taking very complex technical concepts and explaining them in terms that non-technical people can understand. I cannot over-stress the importance of being able to simplify things in the business world. Simplicity, while not easy, truly is the ultimate sophistication.

What do you listen to while you work?
I listen to all kinds of music, but it really depends on what I am doing. When I am scripting or working in a terminal, I am usually listening to hard rock. Ozzy/Black Sabbath, Disturbed, AC/DC, Guns N Roses, and more recently Five Finger Death Punch are my favorites. When I am writing or need to focus on something ‘wordy’, I listen to classical or jazz. Other times, I like to listen to the likes of Led Zeppelin and The Grateful Dead. I am an old soul.

What are you currently reading?
I don’t have much time for reading longer things like books (outside of tech books), but I read a TON of blogs and articles. I am also an avid fan of Inc., Fast Company, Harvard Business Review, The Economist and a few other thought provoking magazines. I love to learn and am constantly learning new things.

Are you more of an introvert or extrovert?
I am 100% an introvert. I am an INTJ, so most of my world exists between my two ears, but I do like to interact with people as well. I love public speaking and lively debate. To recharge my batteries, so to speak, I need to be alone for a while. That, I believe, is the definition of the introvert.

What’s your sleep routine like?
My sleep has no routine. As I move from one timezone to another, my sleep pattern gets shifted around constantly. By nature, I am a night owl. I do my best work between 10pm and 2am.

Fill in the blank: I’d love to see _______ answer these same questions.
Nobuo Uematsu, Jony Ive, Larry Page, Adrian Cockroft, Dieter Rams.

What’s the best advice you’ve ever received?
To those whom much is given, much is expected. We, as Americans, often forget how lucky we are to live in the greatest country on earth. Most have never traveled abroad and seen the struggle and strife many people live in. We should always be mindful of how much we have been given, in terms of wealth, intelligence or power, and strive to help as many people as we can before we exit this earth. For this reason, I am continually inspired by people like Bill and Melinda Gates and Warren Buffet. I think the legacy of my generation will be the shift away from caring about money toward caring about humanity. I can only hope to be a small part of that monumental shift.

Is there anything else you’d like to add that might be interesting to readers?
Like many of my peers, I chose to enter the tech industry in order to change the world for the better. As a native Texan, I am very forward and blunt on my mission to get this done. Over the years, I have met many amazing people and done many amazing things. I have worked with many people to achieve this common goal and I have no qualms about seam-rolling those who would get in my way. My advice to everyone is not to let other people dictate your life or cause you undue stress. Like a Texan, take life by the horns and always move forward. As you look back along the way, you will find that you always made the right decision, even though you may have been unsure at the time. Don’t dwell on the negative, always focus on the positive. As often as you will learn ‘what to do’ in your career from others, you will also learn ‘what not to do.’ Sometimes, the latter are the more important lessons.


Docker seeks to take PaaS and Cloud to the next level.

It wasn't too many years ago that I was doing a lot of Solaris work for a certain agency of the Federal Government. In that role, Solaris Zones were how we achieved higher utilization of each host server, higher security of each virtual container (zone) and faster time to deployment of new apps and projects. I remember thinking at the time that Zones would revolutionize how IT does things due to their inherent awesomeness. Not that this was before Oracle got its dirty hands on Sun Microsystems. At the same time, something was brewing at a startup called VMware. A hypervisor-based virtualization platform that would change the way IT operates and bring in the next huge shift in the computing industry.

Fast forward a few years and it is pretty clear who won that race. VMware leveraged its talented developers as well as a strong services organization to lead the industry in virtualization. Sun, as with nearly all of its other product lines, couldn't sell water to someone who was on fire and zones failed to get the traction we were all hoping for. The acquisition by Oracle was the final nail in the coffin as waves of customers sought to dump Sun now that they were affiliated with the evil Oracle corporation.

Over the years, I have seen projects grow in the open source community to promote and develop container-based virtualization platforms. Two of those are OpenVZ and the Linux Container project, known as LXC. Of the two, LXC seemed more in line with what Solaris had done with Zones, and I hoped that it would gain some serious steam and challenge the virtualization platforms out there like KVM, Xen and VMware. LXC has historically been very difficult to use for non-Linux Admin users and I believe that has been the largest barrier to wider adoption.On a personal note, I have always believed that container-based virtualization is much better than hypervisor-based in terms of performance, security and standardization. Hypervisor-based virtualization, however, is more flexible, especially if you run Windows workloads. Who really runs Windows for critical workloads these days though? The Cloud was born and bred of Linus and open-source and these vastly dominate the landscape of current and future computing.

Recently, I heard of a newer entrant to the Cloud space called Docker. Formerly known as dotCloud. What the brilliant folks at Docker have done is "API-ify" (my word) all of the complexity of working with LXC containers along with some additional app-level stuff to make applications fully portable across various infrastructures. This is HUGE. Now applications can be deployed in self-sufficient container that can run almost anywhere. No more hardware or Cloud vendor lock-in. The Docker folks can do a much better job at describing that they do and how they can help you take your PaaS and Cloud to the next level. The snippet and slide deck below are from the About Docker page. I invite you to read through and then visit the Docker website for more info.


Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.

Docker containers can encapsulate any payload, and will run consistently on and between virtually any server. The same container that a developer builds and tests on a laptop will run at scale, in production*, on VMs, bare-metal servers, OpenStack clusters, public instances, or combinations of the above.

Common use cases for Docker include:

  • Automating the packaging and deployment of applications

  • Creation of lightweight, private PAAS environments

  • Automated testing and continuous integration/deployment

  • Deploying and scaling web apps, databases and backend services

* Please note Docker is currently under heavy developement. It should not be used in production (yet).