Puppet is one of the most acclaimed configuration management tools, and it's used by numerous high-profile companies for environment automation. Google, Adobe, Twitter, Oracle, the NY Stock Exchange, and Bank of America all use Puppet. The software makes configuration quick and easy to avoid tedious system setups and makes it so you don't have to worry about forgetting a security upgrade or some other configuration step. Puppet provides Agile Infrastructure, which is unfortunately not as widespread as Agile development.
For some setups, it helps to have a prior case to look at so that you don't have to "re-invent the wheel." Configuring and deploying Hadoop across clusters is a complex task, but thanks to the experts at Adobe, there is an excellent blueprint available. Cristian Ivascu blogged about his steps when deploying hstack to a cluster using Puppet and Hudson:
- Trigger a build in Hudson for Hadoop, HBase or anything else we want to deploy.
- We click a link next to the newly completed build to push the resulting archives to the Puppet Master repository.
- Using ssh, we start up the Puppet clients on each machine. In the future we want to keep them running at all times, but since we’re doing development on the current cluster, a running Puppet tends to mess with our tests (restarting daemons when we kill them for testing is an example).
- The last step is to trigger the change in the configuration. The Puppet Master pulls the configuration from a git repository, so we just have to change the version number and push the new file back to source control.
You can find the Adobe recipes for Hadoop, HBase, high availablility, and Zookeeper here.
Kanies also revealed to DZone that the beta release for the next version of Puppet (2.6) would be sometime next week or shortly thereafter. The previous release number was 0.25, but the Puppet committers decided that the 0.x numbering was out-of-date and made the project look immature (it's actually been around for five years). He said the unofficial tagline for this would be "It's eleventy times better."
For a deep dive into the questions surrounding Puppet, check out this interview.