Config Management Camp: Juju Surprises

One of the biggest surprises of Config Management Camp 2014 for me was how interesting Canonicals orchestration management tool, Juju has become. Although I much preferred the name ‘Ensemble’.

I attended the Juju session in an attempt to keep myself out of the Puppet room and was pleasantly surprised at how much Juju had progressed since I last looked at it. Rather than being another config management solution it allows you to model your systems using “charms”, which can be implemented using anything from a bash script to a set of chef/puppet cookbooks/modules, and instead focuses on ensuring that they run across your fleet in a predictable way while enforcing dependencies, even over multiple tiers, no matter how many tools you choose to use underneath.

Listening to the presentations it seems Juju has some very well thought out parts. Multiple callback hooks, that are triggered on state changes, are used as an orchestration back channel between different hosts and the services they provide flowed nicely in the demos. The web dashboard was very polished and had some very shiny canvas magic that could be borrowed in other tools. I also liked the command line interface for linking different tiers and associating supporting roles, such as tying wordpress instances to a mysql back end. There is also some cloud provider performance abstraction code at work where you can request a certain amount of resources and Juju will map that to the closest instance type in which ever provider you’re currently using.

I was only in the room for a couple of the talks but both the Canonical staff were a credit to their company. The material was well presented, they managed to answer all the audiences questions and you get the impression that they’d be a nice project to work with. Hopefully I’ll have a chance to play with the platform some more in the future.