It also manages scale out, configuration and placement of all your models and applications.
Charms are sets of scripts for deploying and operating software. With event handling built in, they can declare interfaces that fit charms for other services, so relationships can be formed.
Bundles are collections of charms that link services together, so you can deploy whole chunks of app infrastructure in one go.
Specify the number of machines you want and how you want them to be deployed, or let Juju do it automatically.
Deploy your services with a few clicks of your mouse or re-deploy your entire app infrastructure to another cloud.
The Juju controller will manage:
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 along with private ones such as MAAS, OpenStack, and VSphere.
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.
Visit the docs to install Juju ›
JAAS is Juju as a Service, managed by Canonical, the makers of
Ubuntu. It introduces a common controller that operates all the
machines in your running models.
JAAS enables you to quickly build, configure, manage and deploy
your applications to the public cloud directly from your browser
or the command line. It also allows you to share your models and
easily collaborate with other users.
Visit the docs to get started with JAAS ›
Juju as a Service (JAAS) is a hosted service for using Juju to
operate your applications. JAAS is the fastest way to operate your
workloads on supported clouds with the fewest instances required.
You can use JAAS alongside your other self-hosted Juju
infrastructure with the same CLI and GUI.
Juju is a full release. JAAS is currently in public beta.
Try the JAAS beta ›
Charms are collections of scripts that contain all the operations
necessary to deploy, configure, scale, and maintain cloud
applications easily with Juju. Charms encapsulate a single
application and all the code and know-how it takes to operate it,
such us how to combine and work with other related applications or
how to upgrade it.
Learn more about charms ›
Charms deployed from the charm store are community vetted and open
source (even though the software they encapsulate may not be).
‘Recommended’ charms have also met additional criteria
and have been vetted by the Juju Charmers team.
Juju is free to use. It is an open source application that you
install on your own hardware.
JAAS is a hosted service. During the beta period, it is free to use.
You will incur a separate fee from your cloud provider for any
resources used. Calculators for
can help you understand these charges.
Bundles are ready-to-run collections of applications which have
been modelled to work together — this can include particular
configurations and relations between the software to be deployed.
Bundles may also be optimised for different deployment scenarios
of the same software — for example, a scale-out production
ready version like The Canonical
Distribution of Kubernetes, or a development friendly test
version like Kubernetes Core.
Application modelling is a simple way of describing what software
should actually do, specified from the top down (services and how
they relate) rather than built from the bottom up, making for a
clean and portable expression of intent rather than a complicated
recipe. Juju delivers the tools to describe your model and then to
turn it into reality in a repeatable fashion on any cloud or
All the operational hard work is automated, connecting your
services so they can work together and provision the
appropriate machines. You can scale up, scale down, or even
re-deploy the same model on another cloud.
View how to start modelling with Juju as a Service [video]
Puppet and Chef are great tools for configuration management.
Juju provides a higher level of abstraction, supplying the tools
to manage the full scope of operations beyond deployment and
configuration management, regardless of the machine on which it
One of the main advantages of Juju is its dynamic configuration
ability, which allows you to re-configure services on the fly,
add, remove, or change relationships between services, and scale
in or out with ease, sharing the operational knowledge and making
the most of the wider community.
Charms are available for hundreds of common and popular
cloud-oriented applications such as Kubernetes, Apache Hadoop,
Big Data solutions, OpenStack, or even your own software, with new
ones being added every day.
Check out the public charm store for an up to the minute list
of charms ›
Yes! You can integrate your existing Chef, Puppet, Docker or other
scripts with custom charms for your own use, or make use of the
Juju store and the existing ecosystem of charm developers to
package and promote your application to a wider audience. There are
tools and documentation to help you get started.
Learn more about writing charms ›
For further information, read our more detailed guidance in the
website includes an overview of Canonical’s cloud
products, showing how Juju fits in.
The Juju community pages include
documentation with more technical detail on charms and using Juju,
written by people using Juju in production environments.