08 Mar 2011 Coffeeshop Cloud Orchestration
This is a quick blog post to highlight the types of projects I love working on. In this case we are standing up a dedicated Chef Server on the cloud and using it to orchestrate cloud systems. Sounds boring, right?
The cool bit is that we are not doing any of the time-wasting actions of customizing cloud server images to bake in software that we want or load it with pre-shared management software or credentials. Creating a wild pile of custom private AMIs that we have to maintain, manage and update is not something we want to take on if we can avoid it…
Nope, we are starting with nothing but public Amazon EC2 server images. Without getting out of my chair at Starbucks I can:
- Launch any public CentOS, Ubuntu or Amazon Linux AMI
- Remotely install the Chef-Client code (including any missing dependencies!)
- Automatically register and authenticate the new cloud node as a Chef-managed system under our direct control
- Use Chef Server to orchestrate the new node into doing whatever we want or need at the time
Boring: Launching cloud nodes from the command line
It’s pretty easy these days to start cloud nodes from the command line, especially if one already has hand-crafted server images sitting in the cloud waiting to be launched.
Starting & stopping servers is not all that interesting.
Even worse is wasting time hand-crafting custom servers stuffed with software or configured to perform unique roles or activities. Maintaining and managing a wild pile of AMIs is an operational headache that does not scale well.
Badass: Hands-free, barebones cloud orchestration
Please forgive the hacked up screencast, I did not have Camtasia handy today so I used a different, less familiar recording package. The video below is available in 720p “HD” but you might have to explicitly select that playback option if it defaults to 360p.
The video below shows:
- Using the Chef command line tool “knife” on my little macbook to interact with our Chef Server
- Using “knife” to launch a generic public Amazon Linux system on a m1.small EC2 server instance
- Remote installation of the Chef-client software stack
- Remote installation of the chef configuration files and certificates that allow it to securely connect to our Chef Server
- Automatic registration with the Chef Server as a node ready and waiting to be remotely controlled, orchestrated or provisioned
Comments welcome, I’m still trying to figure out if Youtube will work for Screencasts or if we are better off sticking with www.screencast.com. The video below is available in 760p HD format so adjust the player settings the text looks unclear or blurry.