Issue 50 - 11th December

Last week was a little short, mainly because I’d been pretty busy of late. This week I spent a bit more time looking and reading, so hopefully this issue should keep everyone busy until next week.


I’m a big fan of message based systems and this article is an excellent starting point if you’re not that familiar with some of the terminology and general patterns. It covers what, why and some simple how examples. CoilMQ mentioned in the post also looks excellent.

If you’re the kind of person who prefers videos to long introductions, this presentation also covers message based architecture. It focuses a little on doing so with Sprint and discusses AMQP rather than stomp but it’s still makes a good introduction.

This next post asserts that “Devops has made Release and Deployment Cool”. I’d argue that it’s always been cool but that might just have been me :) The devops banner has certainly raised the awareness and level of debate between different parties about release automation. The brief discussion about the good and bad points about vendor involvement are also well put.

The Flume project, for collecting and aggregating log files, is looking at re-architecting how it works based on real world usage. Flume NG is the working title and this post discusses the upcoming plans for change. Interesting if you’re using Flume or if you’re interested in reliable distributed systems design.

Lots of experiences from other sectors and approaches can be brought to bear on devops related problems. This post covers various Lean Manufacturing examples and in particular value stream mapping and applies them to web operations.

Collecting log data in a manner that makes it easy to analyse can be tricky. This article covers using Fluentd to take apache logs and push them into a mongodb database with a minimum of configuration. Fluentd supports lots of different backends too.

Excellent detailed post on the difference between Puppet’s parameterized classes and definitions. Done via relatively straightforward examples showing the differences and when to use both.

A nice interview from Goto Conference with the authors of Continuous Delivery. It covers various strategies and patterns for testing, building and releasing software, and how these fit in with agile and lean software development.

Nice infrastructure as code presentation introducing Chef for both managing server software and then going onto using Chef for deployment. Another presentation from GOTO.


Love what Puppet is doing and want to be a part of it? Puppet Labs, creators of Puppet, is growing, and are currently hiring for Professional Services Engineer (OR, NYC, UK), Operations Engineer (OR), Technical Training Manager (OR) and Account Manager (OR). Interested or know someone who might be? Check out our job postings (and apply online)


Librarian is a tool to resolve recursively a set of specifications and fetch and install the fully resolved specifications, in particular it provides a way of a managing a repository of Chef cookbooks. If you’re familiar with something like bundler in ruby or the requirements.txt file from pip in python then it’s something like that.

Foodcritic looks like an excellent lint tool for Chef cookbooks. It only has a small number of (useful) checks at present but it’s pretty simple to add more if you have a particular pattern you want to enforce or quash.

If the dependency on Node.js put you off the GitHub Hubot campfire bot, then this might be exactly what you’re after. This ‘fork’ is written entirely in bash, with plugins being any arbitrary executable.

Lots of organisations running large server clusters seem to be using or experimenting with bittorrent for distribution of code deploys. This project from Hyves is interesting mainly because of the details around making sure nodes in a given rack don’t all swamp the available uplink bandwidth.