by James Page for EuroPython 2012
Juju is a new opensource configuration management and tool for deploying services into a cloud and data center environments.
Juju provides a higher level semantic to its users of service level management rather than machine management. By rethinking this focus, Juju is able to provide real reuse of service definitions in much the same way that package management allows deployment and reuse of software bits in many different context. Juju’s goal is to be the apt of the clouds. By providing these higher level semantics to end users, juju aims to be a preferred solution for deploying services to the cloud.
Underneath the hood, juju is written in python, but part of its beauty is you can write service definitions in any language. Juju relies on zookeeper for distributed coordination and state management of the managed machines, and LXC for higher utilization of machines and minimal separation of deployed services. It can deploy to physical machines as well as cloud environments like AWS/EC2 and Openstack.