I love elegant actionable user requirements so it’s no wonder that I’m excited about how simply we have defined the deliverable for project Crowbar**, our OpenStack cloud installer.
On-site, go from 6+ servers in boxes to a fully working OpenStack cloud before lunch.
That’s pretty simple! Our goal was to completely eliminate confusion, learning time and risk in setting up an OpenStack cloud. So if you want to try OpenStack then our installer will save you weeks of effort in figuring out what to order, how to set it up and, most critically, how to install all myriad of pieces and parts required.
That means that the instructions + automation must be able to:
- Starting with servers in boxes and without external connectivity
- Setup the BIOS and RAID on all systems
- Identify the networking topology
- Install the base operating systems
- Discover the resources available
- Select resources for deployment
- Install the OpenStack infrastructure appropriately on those resources
- Validate the system is operating correctly
- Deploy a reference application
- In under 4 hours (or 14400 seconds).
That’s a lot of important and (normally) painful work!
Crowbar does not do all this lifting alone. It is really an extension of Opscode’s Chef Server - an already awesome deployment management product. The OpenStack deployment scripts that we include are collaborations between Dell, Opscode (@MattRay), and RackSpace (@JordanRinke, Wayne Wallis (@waynewalls)
& Jason Cannavale).
There are two critical points to understand about our OpenStack installer:
- It’s an open source collaboration* using proven tools (centrally Chef)
- It delivers an operational model to cloud management (really a DevOps model)
One of my team’s significant lessons learned about installing clouds is that current clouds are more about effective operations than software features. We believe that helping customers succeed with OpenStack should focus more heavily on helping you become operationally capable of running a hyperscale system than on adding lots of features to the current code base.
That is why our cloud installer delivers a complete operational environment.
I believe that the heart of this environment must be a strong automated deployment system. This translates into a core operational model for hyperscale cloud success. The operational model says that
- Individual nodes are interchangeable (can be easily reimaged)
- Automation controls the configuration of each node
- Effort is invested to make the system deployment highly repeatable
- System selection favors general purpose (80% case)
- Exceptions should really be exceptions
Based on this model, I expect that cloud operators may rebuild their entire infrastructure on a weekly (even daily!) basis during the pre-production phase while your Ops team works to get their automation into a predictable and repeatable state. This state provides a stable foundation for expansion.
My experience with Crowbar reinforces this attitude. We started making choices that delivered a smooth out-of-box experience and then quickly learned that we had built something more powerful than an installer. It was the concept that you could build and then rebuild your cloud in the time it takes to get a triple caramel mochachino.
Don’t believe me? I’ve got a system with your name on it just waiting in the warehouse.
*Open source note: Dell has committed to open source release (Apache 2) the Crowbar code base as part of our ongoing engagement in the OpenStack community.
**Crowbar naming history. The original code name for this project was offered by Greg Althaus as “you can name it purple fuzzy bunny for all I care.” While excellent as a mascot, it was cumbersome to say quickly. Crowbar was picked up as a code name because it is 1) easy to say, 2) used for unboxing things, 3) a powerful and fast tool and 4) the item you start with in a popular FPS. Once properly equipped, our bunny (I call him “Mesa”) was ready to hit IT.