Juju – Deploy, Configure, Scale and Operate your Software on Public and Private Clouds


Juju is an open source application modelling tool that allows you to deploy, configure, scale and operate cloud infrastructures quickly and efficiently on public clouds such as AWS, GCE, and Azure, private ones such as MAAS, OpenStack, and VSphere, and locally with LXD. It’s software you install on your own hardware.

Its store allows access to a wide range of best practice solutions which you can deploy with a single command. You can use Juju from the command line or through its powerful graphical representation of the model in the GUI.

The GUI allows users to visually see what software is currently running in which models in a very clear fashion. It also gives the user the power to search the Charmstore and browse results with detailed Charm information presented. It also allows the deployment of complex software stacks via drag-and-drop. The Juju GUI is automatically available on every controller.

Application-specific knowledge such as dependencies, scale-out practices, operational events like backups and updates, and integration options with other pieces of software are encapsulated in Juju’s ‘charms’.

Features include:

  • Instant integration – services can be instantly integrated via relationships. This enables different applications to share IPs, passwords, user accounts, and other configuration items
  • Scaling
  • Mutual authentication
  • Charms can be written in any language or configuration management scripting system. Charms have been written in Ruby, PHP, and many charms are a collection of simple Bash scripts.


Juju is available as a client on many platforms and distributions including Ubuntu, macOS, and Windows. Snaps let you install the Juju client on an array of Linux distributions.

Homepage: jujucharms.com
Developer: Canonical
License: Affero General Public License
Written in: Python, Go

Back to Configuration Management Software