One of the great conveniences I've found of using docker is that it allows me to guarantee the environment my code is running in is very similar, if not identical, to the environment it will run in when running in production. (While I don't use docker for production deployments at the moment, my docker VMs all use the same puppet scripts as my deployment tools)

Juju seems like a great tool for deploying and linking services together, but I'm struggling to see what, if any, role it plays in the development of software. I'd like to be able to use Juju to locally deploy the code I'm writing, as well as the database servers it depends on. Is this a suitable use of Juju? I've found no documentation of this kind of use, which leads me to suspect it's not. (though there is plenty on just deploying locally, not developing and deploying).

1 Answer 1


This is a great question, and you're right that this topic isn't discussed often. We have been using Juju for development in our day-to-day activities for over a year so I wrote a blog post about it hoping to illustrate the power of using Juju for development.


Also keep in mind that a Juju Charm can be written using any programming language or DSL that can be executed on the host machine. This means it can use Puppet, Chef, Python, JavaScript, Docker, and pretty much anything else you would like to use. So you can create a Charm using your existing scripts to take advantage of all the other features Juju has to offer.

  • Great, glad you liked it. I'm hoping to do some follow-ups with real code and workflows in the near future.
    – hatch
    Jun 15, 2015 at 15:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .