devops &operations &puppet &technology 16 Apr 2011 01:26 pm
Looking for the holy grail
At work, we are building a system that follows the general trend of automated system delivery to get more efficient at what we do.
Here’s a little diagram that illustrates the jackpot we are trying to hit – our nirvana.
The premise of the whole thing is not very different from what many people are already talking about -
- Puppet maintains all the facts and configurations of the system
- Utilizing the APIs available from the hosting providers, we can dynamically provision new hosts
We have added a few addition to the automated tasks. We have done this in the past in a lose sense in that we have 4-5 sub-systems that do its part, but not quite integrated all together. The goal is to close all the lose ends and make everything tick together.
- Standard directory structure, and forced layout of application directories (We allow no exception to this)
- Our custom CMDB engine provides information about the host and the application s/application runtime that will be installed for our mostly Java based stack.
- Our application build system (as well as CI) integrates with the CMDB to handle the graceful deployment of files – i.e it knows how to build production, staging etc based on the information it retrieves from our CMDB.
- We plan to export our Java application statistics using JMX both to mCollective.
- This came from my discussion with Teyo at PuppetLabs, and there might be an opportunity to add maven repository structure as one of the package provider in puppet, which will make a lot of things easier to support Java shops like ours.
I had a first demo of the work that have been in progress to our internal development team and received positive feedbacks from folks (and we have a lot of smart folks on our team), so it was encouraging. It’s not quite where I want it to be, but as the things progress more, I hope to share my learnings from my experience in trying to putting everything together.

