Code Swarm for Config Management

Gil Raphaelli, one of the guys on our Flickr Ops team, put together a Code Swarm animation for the configuration/deployment management tool we use at Flickr to manage our infrastructure. Myles Grant did this for our bug reporting system as well. Check it out:

Our automated config management system is called Gemstone, but conceptually you can think of it as a pretty extensible SystemImager/Puppet/cfengine-style system. In the animation, the dots are changes made by the ops person shown.  The legend is:

: this is what cluster should have what packages, files, actionable scripts, etc.
raw: these are actual files, like apache/memcached/squid configs, which get munged depending on what cluster they might be in
conf: this is what boxes/clusters are subsets or supersets of which clusters
code: ops-written tools/utilities
Misc: stuff that doesn’t fit into the above. 🙂


  1. Dan Ackerson   •  

    Wow, what a fantastic way to visually represent both configuration and change management!

    Does each dot represent one server? And do the size (and brightness) of the bubble indicate the total number of changes on that server in a single user session?

  2. allspaw   •     Author

    Hey Dan – actually each dot represents a commit made to a conf, raw config file, transform, code, or whatever, and then surrounds the username who made the commit.

    The size/brightness of the dot corresponds to the number of changes the file has had since the beginning of the tracking in the code swarm.

    Having the code swarm somehow represent the number of machines that were affected…now *that* would be cool. Maybe we should do another one. 🙂

  3. Joel Gluth   •  

    You inspired me to do the same thing with our local Puppet repository, and it’s definitely fun to watch… not all our machines have individual node files, but it’s tempting to change that just so we can have a CodeSwarm dot colour for them 🙂

Comments are closed.